Turinys:

Bendras jungiklio užgrobėjas: 3 žingsniai
Bendras jungiklio užgrobėjas: 3 žingsniai

Video: Bendras jungiklio užgrobėjas: 3 žingsniai

Video: Bendras jungiklio užgrobėjas: 3 žingsniai
Video: Aqara E1 zigbee - умный выключатель для круглого подрозетника, интеграция в Home Assistant 2024, Lapkritis
Anonim
Bendras jungiklio užgrobėjas
Bendras jungiklio užgrobėjas

Šiame straipsnyje aprašoma, kaip sukurti kietojo kūno mikrovaldiklio įrenginį, valdantį fizinius jungiklius. Tai padaryti labai nebrangu (maždaug 4 USD), darant prielaidą, kad turite mikrovaldiklio programuotoją. Pati grandinė yra nereikšmingo sudėtingumo.

Šis projektas yra labai paprastas ir neapima jokių nuostabių naujų metodų. Tai būtų geras pirmasis mikrovaldiklio projektas. Surinkimo šaltinio kodas jums bus pateiktas šiame straipsnyje. Darbe turiu tikrai šaunų viršininką. Kartais mes mėgstame vienas kitam žaisti praktiškus pokštus. Deja, aš esu mokslininkas. Mano tikslas čia yra, kad įvairūs prietaisai darbo vietoje trumpam laikui paslaptingai įsijungtų. Radijas, triukšmingi spausdintuvai, netgi tos erzinančios muzikinės gimtadienio atvirutės, paslėptos kokiame nors įprastame objekte. Be to, projektas yra pavyzdys, kaip su AVR valdote sunkesnes apkrovas, nei gali susidoroti su išvesties kaiščiais. Tai yra daugybė dalykų, nes išvesties kaiščiai suteikia tik nedidelę įtampą ir labai ribotą srovę. Šią grandinę galima išplėsti naudojant relę, kad būtų galima valdyti labai sunkias apkrovas.

1 žingsnis: projektavimas ir grandinė

Dizainas ir grandinė
Dizainas ir grandinė

Šiam projektui galite naudoti beveik bet kokį mikrovaldiklį, 5 V įtampos reguliatorių ir NPN tranzistorių. Aš naudojau:

1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v įtampos reguliatorius (~ 0,7 $) 1x N2222 tranzistorius (~ 0,07 $) 1x 9v baterija arba 12v nuotolinio valdymo baterija, kad sutaupytumėte vietos … ir, žinoma, mano patikimas STK500, dabar su ZIF lizdai pridėti! Pagrindinis dizainas yra toks: mikrovaldiklis eina per dvi laiko kilpas. Ilga kilpa, skirta nustatyti, kada įjungti įrenginį, ir trumpa kilpa, skirta nustatyti, kiek laiko prietaisas turi būti įjungtas. Kai atėjo laikas sukelti problemų, mikrovaldiklis siunčia loginį aukštą kaištį 14 (mažiausiai reikšmingas PORTA bitas). Tai suaktyvina tranzistorių. Jei prijungėte spaustukus prie jungiklio laidų, dėl to pasipriešinimas per jungiklį staiga sumažės nuo labai aukšto iki mažiau nei 1 omo, o to pakanka, kad dauguma įrenginių apsvarstytų galimybę įjungti. Atminkite, kad tranzistoriai taip pat yra diodai, taigi, jei tai neveikia … spaustukų poliškumas tikriausiai yra neteisingas, perjunkite juos! Be to, šiam įrenginiui reikalinga padori 9 V baterija, tarkime, kad liko daugiau nei 8 V potencialas … išskyrus tai, kad jis nenaudoja daug energijos. Yra daug nepanaudotų kaiščių, todėl, žinoma, galėtumėte juos naudoti, kad valdytumėte daugiau jungiklių, kad būtų daugiau chaoso, tačiau to pakako mano tikslams. Kitas žingsnis yra šaltinio kodas, kurį parašiau, kad galėčiau tai padaryti. Numatytosios būsenos „įjungta“ir „išjungta“trukmės yra atitinkamai maždaug 10 sekundžių ir 13 minučių. Kodekse yra pastabų, kaip pakeisti šias vertes. Galiausiai, atsiprašykite, kad plačiai naudojamasi „nop“funkcija (ji praleidžia procesoriaus ciklą nieko nedarydama), kad patobulintumėte laikmačius. Tai ne elegantiška, nes gali sugadinti rjmp funkciją, jei nesate atsargūs, kiek naudojate!

2 žingsnis: šaltinio kodas

PRADĖTI:

. ĮSKAIČIUOTI "tn26def.inc"; Apibrėžimo failas. Jei reikia kopijos, ieškokite „Google“. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 out DDRA, r27 out PORTA, r28 TIMER: inc r30 nop nop nop nop nop nopirkti nenupirkti nop nopirkti neparduok nopirk. nop nop nop nop cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2. nop nop nop nop nop nop nop noppirkt nop nop nop nop nop nop nop nop nop nop nop noppirkti ne nopirkti r25 cpi r25, 0b11111111; Sumažinkite šį skaičių, kad sumažintumėte „išjungimo“laiką breq FUNC rjmp TIMER FUNC: nop nop cpi r28, 0x00 breq FUNC2 dec r28 clr r30 clr r29 clr r25 out PORTA, r28 rjmp TIMER FUNC2: nop nop inc r28 out PORTA, r28 clr r25 clr r30 clr r29 rjmp TIMER4 TIMER4: inc r30 nop nop nopirkti nepirkti nop nop nop nop nop noppirkti nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nopirkti nepop nop nop nop nop nop nop nop inc inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Padidinkite šį skaičių, kad padidintumėte „įjungimo“laiką. FUNC rjmp TIMER4

3 žingsnis: paskutinė pastaba

Linksminkitės, tačiau nepamirškite, kad tranzistorius turi ribas, kiek galios galite per jį perpumpuoti. Tai reiškia, kad nėra tinklo įtampos! Be to, kad jis labai greitai perkrautų tranzistorių, šis įrenginys gerai nekontroliuos kintančių signalų … nebent pritaikysite toliau aprašytą pakeitimą * ir * pridėsite relę: jei nerimaujate dėl spaustuko poliškumo, tai jus erzina, tiesiog prijunkite antrą tranzistorių su pagrindo plokštė prijungta prie to paties šaltinio kaip ir pirmasis tranzistorius, tačiau su kolektoriu ir spinduliuote priešingos konfigūracijos. Tokiu būdu, nesvarbu, kaip pritvirtinsite spaustukus, logika, kylanti iš mikrovaldiklio, visada „įjungs“jungiklį. Atminkite, kad šios sistemos nuotėkio srovės gali pakakti, kad suaktyvintumėte kai kuriuos jautrius jungiklius, pvz., Klaviatūros matricas, todėl gali reikėti nuosekliai pridėti rezistorių šiai programai. Atminkite, kad galite naudoti energiją iš tikslinio įrenginio, o ne naudoti akumuliatorių. Galiausiai … Aš įrengiau įrenginį senovinėje apskaitos skaičiuoklėje, kurios tipas turi spausdinimo funkcijas. Atkuriau klaviatūros matricą, naudodami sąvaržėlę, kad nustatyčiau, kurie IC kaiščiai prijungus sukels popieriaus tiekimą, ir kartu su prietaisu prijungiau tinkamus kaiščius. Tada išjungiau jungiklį, leidžiantį išjungti spausdinimo funkciją. Manau, kad aparatas tinkamai sugadintas. Jis įjungia gana triukšmingą popieriaus tiekimą kas 10 minučių, 10 sekundžių, kai prietaisas įjungtas. Jis taip pat gerai veikė su grandine iš vienos iš tų itin nemalonių muzikinių gimtadienio atvirukų. Mano darbo vieta dabar yra keistesnė!

Rekomenduojamas: