Manau, yra žmonių, kuriems yra nepatogu nuolat artėti prie lempos ir įjungti šviesą, todėl kyla noras visą lempą įjungti savarankiškai. Taip, yra „išmaniųjų“ lizdų, kurie valdomi per „Wi-Fi“, yra ir paprastesnių, kuriuose galite nustatyti reakcijos laiką, tačiau, žinoma, visada galite nusipirkti pritemdymą ir tikrai nesijaudinti. Bet visa tai galima padaryti. daryk pats (išskyrus „Wi-Fi“ lizdus), nors ši parinktis yra, pavyzdžiui, LED juostoms, nes minėto dimerio asmenyje bus keletas niuansų tvarkant pertrauką. Mūsų atveju ryškumas, priklausomai nuo aplinkinio apšvietimo, sklandžiai keisis.
Būtinos detalės
1., šiuo atveju - „Nano“, galite padaryti ką nors mažesnio, pavyzdžiui, „Micro“
2. Šviesai jautrus elementas, čia rezistorius (18 KOhm) ir fotorezistorius (turiu SF-2 6A), sujungti nuosekliai. Visa tai veiks beveik kaip tiuningo rezistorius.
3. MOSFET tranzistorius, geriau silpnesnis, 55 amperų yra per daug (jei dabartinis sunaudojimas yra mažas, tada ypač galingo tranzistoriaus nereikia)
4. Žinoma, laidai. Plono laido reikia, kad „jutiklis“ būtų nukreiptas arčiau lango, o storesnis - prijungtas prie lempos maitinimo šaltinio ir prie Arduinkos (o paties modulio nereikia kabinti ant storo laido, jis vistiek sunaudoja mažai)
Asamblėja 1 žingsnis
Tokio tipo šviesos jutiklio darbą reikėtų patikrinti gerai, nes aš stengiausi padaryti viską kuo pigiau ir paprasčiau.
Norėdami jį pagaminti, jums reikia rezistoriaus ir fotorezistoriaus. Mes juos sujungsime nuosekliai, 5V ir GND kaiščiai bus prijungti prie pradžios ir pabaigos, centrinis bus prijungtas prie nurodyto analoginio kontakto firminėje programinėje įrangoje, jo skaičius pasikeis.
Jei yra abejonių, kad toks jutiklis neveikia labai gerai, galite jį patikrinti naudodami žemiau esantį kodą ir prievado monitorių.
Kodas, skirtas patikrinti, jei kyla abejonių:
#define potent_pin 0 // Vidurinis pėdos kontaktas, 0 keičiamas į bet kurį kitą analogą
int val;
negaliojanti sąranka () {
„Serial.begin“ (9600); // Įgalinti išėjimą į prievadą esant 9600 baudų
}
tuščia kilpa () {
val = analogRead (potencialus_pin);
val = žemėlapis (val, 0, 1023, 0, 100); // 100 gali būti pakeista bet kuria reikšme iki 1023 imtinai
val = suvaržymas (val, 0, 100); // 100 pakeiskite aukščiau nurodytą vertę, jei ji buvo pakeista
Serial.println (val); // išvestis į uosto monitorių
vėlavimas (30); // delsimas
}
Jei išėjimo vertės keičiasi, atsižvelgiant į apšvietimą, tada viskas gerai
Asamblėja 2 žingsnis
Puiku, jutiklis veikia. Laikas sukurti kodą PWM signalo generavimui, norint valdyti lauko darbus.
DĖMESIO. PWM ATmega168 / ATmega328 valdikliuose generuojamas tik 3, 5, 6, 9, 10 ir 11 skaitmeninių kaiščių pavidalu.
2 kodas:
int pwm;
negaliojanti sąranka () {
}
tuščia kilpa () {
pwm = analoginis skaitymas (0);
pwm = žemėlapis (pwm, 1023, 0, 0, 255);
pwm = suvaržyti (pwm, 0, 255);
„analogWrite“ (3, pwm-255); // PWM į trečiąjį skaitmeninį
}
Skaičius 255 gali būti keičiamas intervale nuo 0 iki 1023 imtinai, ir šią vertę galima pakeisti tiesiogiai „kelyje“. Kaip parodė praktika, geriausias pasirinkimas yra ne daugiau kaip 255, jei mažiau - dienos metu dega per daug, jei daugiau - dega silpniau, kai reikia.
Asamblėja Finalas
Prie 5 V ir GND kaiščio pritvirtiname savo rezistoriaus kraštutinius kontaktus, ant A0 dedame vidurinį. Mes lituojame lauko efekto tranzistoriaus vartus į D3, šaltinį iki minusinės galios iš Arduino ir maitinimo šaltinį, šviesos diodus iki minuso iki kanalizacijos ir pliusinę galią prie šaltinio pliuso. Schema tai atrodo maždaug taip:
Lauko efekto tranzistoriaus nereikia dėti ant radiatoriaus, nebent, žinoma, naudojamas galingas, tačiau ypač galingame nėra prasmės. Bet reikėjo ilgo laido, kad jutiklis būtų nukreiptas į vietą, kur išorinė šviesa nepatenka, pavyzdžiui, už gėlių ar lauke pro langą ir tt Patartina ant maitinimo šaltinio įdėti kondensatorių ir lauko efekto tranzistoriaus nutekėjimą, pavyzdžiui, mano juosta pradėjo veikti nelabai teisingai. „Arduino“ gali būti maitinamas ne iš USB ar maitinimo šaltinio iš telefono, bet iš juostinio maitinimo šaltinio, tiekiant 7–15 voltų įtampą GND ir VIN.
Korpusas pagamintas iš mirusio maitinimo šaltinio, kuriame aš įdėjau juostos ir Arduino maitinimo šaltinį su litavimo jungtimi. Jis beveik prilygo dydžiui, tačiau jis jau buvo nuolat ant juostos.
Taigi uždariau jutiklį ranka:
Bet aš nelaikau jo už rankos:
Kur tai gali būti naudinga?
Šis dizainas gali padėti atliekant bet kokį subtilų darbą, kur jums reikalingas stabilus foninis apšvietimas, pavyzdžiui, jei pamiršote įjungti šviesą, bet juosta yra įjungta. Tai taip pat patogu naudoti, jei kur nors turite sodinukų tolimesniam sodinimui ant sodo lovos. Kur tai naudoti, spręsti, žinoma, jums.
P.S. Tiesa, mano rankos yra kreivos ir neteisingai pritvirtinau šviesos diodą ant grandinės.
#define potent_pin 0 // Vidurinis pėdos kontaktas, 0 keičiamas į bet kurį kitą analogą
int val;
negaliojanti sąranka () {
„Serial.begin“ (9600); // Įgalinti išėjimą į prievadą esant 9600 baudų
}
tuščia kilpa () {
val = analogRead (potencialus_pin);
val = žemėlapis (val, 0, 1023, 0, 100); // 100 gali būti pakeista bet kuria reikšme iki 1023 imtinai
val = suvaržymas (val, 0, 100); // 100 pakeiskite aukščiau nurodytą vertę, jei ji buvo pakeista
Serial.println (val); // išvestis į uosto monitorių
vėlavimas (30); // delsimas
}
int pwm;
negaliojanti sąranka () {
}
tuščia kilpa () {
pwm = analoginis skaitymas (0);
pwm = žemėlapis (pwm, 1023, 0, 0, 255);
pwm = suvaržyti (pwm, 0, 255);
„analogWrite“ (3, pwm-255); // PWM į trečiąjį skaitmeninį
}
Prie 5 V ir GND kaiščio pritvirtiname savo rezistoriaus kraštutinius kontaktus, ant A0 dedame vidurinį. Mes lituojame lauko efekto tranzistoriaus vartus į D3, šaltinį iki minusinės galios iš Arduino ir maitinimo šaltinį, šviesos diodus iki minuso iki kanalizacijos ir pliusinę galią prie šaltinio pliuso. Schema tai atrodo maždaug taip:
Lauko efekto tranzistoriaus nereikia dėti ant radiatoriaus, nebent, žinoma, naudojamas galingas, tačiau ypač galingame nėra prasmės. Bet reikėjo ilgo laido, kad jutiklis būtų nukreiptas į vietą, kur išorinė šviesa nepatenka, pavyzdžiui, už gėlių ar lauke pro langą ir tt Patartina ant maitinimo šaltinio įdėti kondensatorių ir lauko efekto tranzistoriaus nutekėjimą, pavyzdžiui, mano juosta pradėjo veikti nelabai teisingai. „Arduino“ gali būti maitinamas ne iš USB ar maitinimo šaltinio iš telefono, bet iš juostinio maitinimo šaltinio, tiekiant 7–15 voltų įtampą GND ir VIN.
Korpusas pagamintas iš mirusio maitinimo šaltinio, kuriame aš įdėjau juostos ir Arduino maitinimo šaltinį su litavimo jungtimi. Jis beveik prilygo dydžiui, tačiau jis jau buvo nuolat ant juostos.
Taigi uždariau jutiklį ranka:
Bet aš nelaikau jo už rankos:
Kur tai gali būti naudinga?
Šis dizainas gali padėti atliekant bet kokį subtilų darbą, kur jums reikalingas stabilus foninis apšvietimas, pavyzdžiui, jei pamiršote įjungti šviesą, bet juosta yra įjungta. Tai taip pat patogu naudoti, jei kur nors turite sodinukų tolimesniam sodinimui ant sodo lovos. Kur tai naudoti, spręsti, žinoma, jums.
P.S. Tiesa, mano rankos yra kreivos ir neteisingai pritvirtinau šviesos diodą ant grandinės.