Ik denk dat er mensen zijn die enigszins onhandig zijn om constant de lamp te benaderen en het licht aan te doen, daarom is er de wens om de hele lamp onafhankelijk te laten branden. Ja, er zijn 'slimme' stopcontacten die worden aangestuurd via wifi, er zijn eenvoudigere waarop je de reactietijd kunt instellen, maar je kunt natuurlijk altijd een dimmer kopen en niet echt zorgen maken. Maar dit alles kan worden gedaan. doe het zelf (behalve voor Wi-Fi-outlets), hoewel deze optie bijvoorbeeld voor LED-strips is, omdat er enkele nuances zullen zijn bij het beheren van de pauze, in de persoon van de bovengenoemde dimmer. In ons geval verandert de helderheid afhankelijk van de omgevingsverlichting soepel.
Noodzakelijke details
1., in dit geval - Nano, je kunt iets kleins doen, bijvoorbeeld Micro
2. Een fotogevoelig element, hier is een weerstand (18 KOhm) en een fotoresistor (ik heb een SF-2 6A) in serie geschakeld. Dit alles werkt bijna als een afstemweerstand.
3. MOSFET-transistor, beter zwakker, 55 ampère is te veel (als het stroomverbruik klein is, is een bijzonder krachtige transistor niet nodig)
4. Natuurlijk, draden. Er is een dunne draad nodig om de "sensor" dichter bij het raam te leiden, de dikkere is verbonden met de lampvoeding en Arduinka (en de module zelf hoeft niet aan een dikke draad te worden gehangen, hij verbruikt hoe dan ook weinig)
Vergadering Stap 1
Het werk van dit soort lichtsensor moet op een goede manier worden gecontroleerd, omdat ik alles zo goedkoop en gemakkelijk mogelijk probeerde te doen.
Om het te maken heb je een weerstand en een fotoresistor nodig. We verbinden ze in serie, 5V en GND-pinnen worden aangesloten op het begin en het einde, de centrale wordt aangesloten op het gegeven analoge contact in de firmware, het nummer zal veranderen.
Mocht er enige twijfel zijn dat zo'n sensor niet zo goed werkt, dan kun je dit controleren met onderstaande code en de poortmonitor.
Code om te controleren bij twijfel:
#define potent_pin 0 // Middenvoetcontact, 0 verandert in een ander analoog
int val;
ongeldige setup () {
Serial.begin (9600); // Schakel uitvoer naar poort in op 9600 baud
}
leegte lus () {
val = analogRead (potent_pin);
val = kaart (val, 0, 1023, 0, 100); // 100 kan worden vervangen door elke waarde tot en met 1023
val = beperken (val, 0, 100); // 100 veranderen naar de hierboven gespecificeerde waarde, als deze is gewijzigd
Serial.println (val); // output naar poortmonitor
vertraging (30); // vertraging
}
Als de outputwaarden veranderen, afhankelijk van de verlichting, dan is alles in orde
Vergadering Stap 2
Geweldig, de sensor werkt. Dit is het moment om een code te maken voor het genereren van een PWM-signaal voor het besturen van een veldwerk.
AANDACHT. PWM op ATmega168 / ATmega328-controllers wordt alleen gegenereerd op 3, 5, 6, 9, 10 en 11 digitale pinnen.
Code 2:
int pwm;
ongeldige setup () {
}
leegte lus () {
pwm = analogRead (0);
pwm = kaart (pwm, 1023, 0, 0, 255);
pwm = constrain (pwm, 0, 255);
analogWrite (3, pwm-255); // PWM naar de derde digitale
}
Het nummer 255 kan worden gewijzigd in het bereik van 0 tot en met 1023, en deze waarde kan direct onderweg worden gewijzigd. Zoals de praktijk me heeft geleerd, is een maximum van 255 de beste optie, indien minder - brandt te helder gedurende de dag, indien meer - brandt zwakker dan wanneer nodig.
Vergadering Final
Bij de 5V en GND pin solderen we de uiterste contacten van onze weerstand, bij A0 plaatsen we de middelste. We solderen de poort van de veldeffecttransistor naar D3, de bron naar het minus vermogen van de Arduino en de voeding, de LED's naar het min naar de afvoer en het pluspunt van het vermogen naar de plus van de bron. Schematisch ziet het er ongeveer zo uit:
Het is niet nodig om een veldeffecttransistor op een radiator te plaatsen, tenzij er natuurlijk een krachtige wordt gebruikt, maar er is geen zin in een bijzonder krachtige. Maar er was een lange draad nodig om de sensor naar een plek te leiden waar extern licht niet valt, bijvoorbeeld achter een bloem of buiten door een raam, enz. Het is raadzaam om een condensator op de voeding en de afvoer van de veldeffecttransistor te plaatsen, mijn tape begon bijvoorbeeld te werken niet echt goed. Arduino kan niet van USB of de voeding van de telefoon worden voorzien, maar van de tape-voeding door een spanning van 7-15 volt aan GND en VIN te leveren.
De behuizing is gemaakt van het lichaam van de gedode voeding, waar ik de voeding van de tape en Arduino heb geplaatst, met een gesoldeerde connector. Hij viel bijna qua maat, maar hij zat al constant op tape.
Dus sloot ik de sensor met mijn hand:
Maar ik houd mijn hand niet over hem:
Waar kan dit van pas komen?
Dit ontwerp kan helpen bij elk delicaat werk waarbij u een stabiele achtergrondverlichting nodig heeft, bijvoorbeeld als u bent vergeten het licht aan te doen, maar de tape is ingeschakeld. Het is ook handig om het te gebruiken als je ergens zaailingen hebt om verder te planten op het tuinbed. Waar is het te gebruiken, om u natuurlijk te beoordelen.
P.S. Toegegeven, mijn handen zijn krom en ik heb de LED verkeerd op het circuit geplakt.
#define potent_pin 0 // Middenvoetcontact, 0 verandert in een ander analoog
int val;
ongeldige setup () {
Serial.begin (9600); // Schakel uitvoer naar poort in op 9600 baud
}
leegte lus () {
val = analogRead (potent_pin);
val = kaart (val, 0, 1023, 0, 100); // 100 kan worden vervangen door elke waarde tot en met 1023
val = beperken (val, 0, 100); // 100 veranderen naar de hierboven gespecificeerde waarde, als deze is gewijzigd
Serial.println (val); // output naar poortmonitor
vertraging (30); // vertraging
}
int pwm;
ongeldige setup () {
}
leegte lus () {
pwm = analogRead (0);
pwm = kaart (pwm, 1023, 0, 0, 255);
pwm = constrain (pwm, 0, 255);
analogWrite (3, pwm-255); // PWM naar de derde digitale
}
Bij de 5V en GND pin solderen we de uiterste contacten van onze weerstand, bij A0 plaatsen we de middelste. We solderen de poort van de veldeffecttransistor naar D3, de bron naar het minus vermogen van de Arduino en de voeding, de LED's naar het min naar de afvoer en het pluspunt van het vermogen naar de plus van de bron. Schematisch ziet het er ongeveer zo uit:
Het is niet nodig om een veldeffecttransistor op een radiator te plaatsen, tenzij er natuurlijk een krachtige wordt gebruikt, maar er is geen zin in een bijzonder krachtige. Maar er was een lange draad nodig om de sensor naar een plek te leiden waar extern licht niet valt, bijvoorbeeld achter een bloem of buiten door een raam, enz. Het is raadzaam om een condensator op de voeding en de afvoer van de veldeffecttransistor te plaatsen, mijn tape begon bijvoorbeeld te werken niet echt goed. Arduino kan niet van USB of de voeding van de telefoon worden voorzien, maar van de tape-voeding door een spanning van 7-15 volt aan GND en VIN te leveren.
De behuizing is gemaakt van het lichaam van de gedode voeding, waar ik de voeding van de tape en Arduino heb geplaatst, met een gesoldeerde connector. Hij viel bijna qua maat, maar hij zat al constant op tape.
Dus sloot ik de sensor met mijn hand:
Maar ik houd mijn hand niet over hem:
Waar kan dit van pas komen?
Dit ontwerp kan helpen bij elk delicaat werk waarbij u een stabiele achtergrondverlichting nodig heeft, bijvoorbeeld als u bent vergeten het licht aan te doen, maar de tape is ingeschakeld. Het is ook handig om het te gebruiken als je ergens zaailingen hebt om verder te planten op het tuinbed. Waar is het te gebruiken, om u natuurlijk te beoordelen.
P.S. Toegegeven, mijn handen zijn krom en ik heb de LED verkeerd op het circuit geplakt.