Satura rādītājs:

Vispārējs slēdža nolaupītājs: 3 soļi
Vispārējs slēdža nolaupītājs: 3 soļi

Video: Vispārējs slēdža nolaupītājs: 3 soļi

Video: Vispārējs slēdža nolaupītājs: 3 soļi
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Novembris
Anonim
Vispārējs slēdža nolaupītājs
Vispārējs slēdža nolaupītājs

Šajā rakstā ir aprakstīts, kā izveidot cietvielu mikrokontrollera ierīci, kas kontrolē fiziskos slēdžus. Tas ir ļoti lēti izgatavojams (apmēram 4 USD), pieņemot, ka jums ir mikrokontrollera programmētājs. Ķēde pati par sevi ir triviāla sarežģītība.

Šis projekts ir ļoti vienkāršs un neietver jaunas satriecošas metodes. Tas kalpotu kā labs pirmais mikrokontrollera projekts. Šajā rakstā tiks sniegts montāžas avota kods. Man darbā ir ļoti foršs priekšnieks. Dažreiz mums patīk viens otram izspēlēt praktiskus jokus. Diemžēl viņam es esmu zinātnieks. Mans mērķis šeit ir likt dažādām ierīcēm darba vietā noslēpumaini ieslēgties uz īsu laiku. Radio, trokšņaini printeri, pat tās kaitinošās muzikālās dzimšanas dienas kartītes, kas paslēptas kādā ikdienišķā objektā. Turklāt projekts ir piemērs tam, kā jūs kontrolējat lielākas slodzes ar AVR, nekā izejas tapas var tikt galā ar sevi. Tas ir ļoti dažādas lietas, jo izejas tapas nodrošina tikai nelielu spriegumu un ļoti ierobežotu strāvu. Šo ķēdi varētu paplašināt ar releju, lai patiešām kontrolētu dažas ļoti lielas slodzes.

1. darbība: dizains un shēma

Dizains un shēma
Dizains un shēma

Šim projektam varat izmantot gandrīz jebkuru mikrokontrolleru, 5 V sprieguma regulatoru un NPN tranzistoru. ES izmantoju:

1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v sprieguma regulators (~ 0.7 $) 1x N2222 tranzistors (~ 0.07 $) 1x 9v akumulators vai 12v tālvadības baterija, lai ietaupītu vietu … un, protams, mans uzticamais STK500, tagad ar ZIF kontaktligzdas pievienotas! Pamata dizains ir šāds: mikrokontrolleris iet caur divām laika cilpām. Gara cilpa, lai noteiktu, kad ieslēgt ierīci, un īsa cilpa, lai noteiktu, cik ilgi ierīce jāieslēdz. Kad ir pienācis laiks radīt nepatikšanas, mikrokontrolleris nosūta loģiski augstu tapu 14 (vismazākais nozīmīgais PORTA bits). Tas aktivizē tranzistoru. Ja esat pievienojis skavas slēdža vadiem, pretestība visā slēdzī pēkšņi samazinās no ļoti augsta līdz mazāk nekā 1 omi, kas ir pietiekami, lai lielākā daļa ierīču varētu apsvērt ieslēgšanu. Paturiet prātā, ka tranzistori ir arī diodes, tādēļ, ja tas nedarbojas… skavu polaritāte, iespējams, ir nepareiza, nomainiet tos! Turklāt šai ierīcei ir vajadzīgs pienācīgs 9 V akumulators, teiksim, ar atlikušo potenciālu vairāk nekā 8 V … izņemot to, ka tas neizmanto daudz enerģijas. Ir daudz neizmantotu tapu, tāpēc, protams, jūs varētu tos izmantot, lai kontrolētu vairāk slēdžu, lai iegūtu lielāku haosu, bet maniem mērķiem tas bija pietiekami. Nākamais solis ir avota kods, kuru es uzrakstīju, lai šo lietu turpinātu. Noklusējuma garumi stāvokļiem "ieslēgts" un "izslēgts" ir attiecīgi aptuveni 10 sekundes un 13 minūtes. Kodā ir komentāri par to, kā mainīt šīs vērtības. Visbeidzot, lūdzu, atvainojiet, ka plaši tiek izmantota funkcija "nop" (tā tērē CPU ciklu, neko nedarot), lai uzlabotu taimerus. Tas ir neērti, jo tas var izjaukt rjmp funkciju, ja neesat uzmanīgs par to, cik daudz jūs izmantojat!

2. darbība. Avota kods

SĀKT:

. IEKĻAUTS "tn26def.inc"; Definīcijas fails. Ja jums nepieciešama kopija, meklējiet to 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 nopirkt nop nopirkt nop nopirkt nop nopirkt nopirkt nopirkt nop nop nop nopirkt cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop nopirkt nop nopirkt nopirkt nopirkt nopirkt nopirkt nopirkt nopirkt nopirkt nopirkt nopirkt r29 cpi r29, 0b11111111 breq TIMER3 rjmp TIMER TIMER3: nop nop nop nop nop nop noppēt nopirkt nopirkt nopirkt nopirkt r25 cpi r25, 0b11111111; Samaziniet šo skaitli, lai samazinātu "off" laiku 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 nopirkt nop nopirkt nop nopirkt nopirkt nop nop nop nop nop noppēt nopirkt cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nopirkt nopirkt nopirkt nopirkt nopirkt nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Palieliniet šo skaitli, lai palielinātu "ieslēgtu" laika pārtraukumu FUNC rjmp TIMER4

3. darbība. Pēdējā piezīme

Izklaidējieties, bet atcerieties, ka tranzistoram ir ierobežojumi attiecībā uz to, cik daudz enerģijas jūs varat sūknēt caur to. Tas nozīmē, ka nav tīkla sprieguma! Papildus tam, ka tas ļoti ātri pārslogotu tranzistoru, šī ierīce labi nekontrolēs mainīgos signālus … ja vien jūs nepiemērojat tālāk aprakstīto modifikāciju * un * pievienojat releju: Ja jūs satrauc satraukuma polaritāte, vienkārši pievienojiet otru tranzistoru ar pamatplāksne ir savienota ar to pašu avotu kā pirmais tranzistors, bet ar kolektoru un emitētāju pretējā konfigurācijā. Tādā veidā neatkarīgi no tā, kā jūs piestiprināsit skavas, loģika, kas nāk no mikrokontrollera, vienmēr "ieslēgs" slēdzi. Paturiet prātā, ka noplūdes strāva šajā sistēmā var būt pietiekama, lai aktivizētu dažus jutīgus slēdžus, piemēram, tastatūras matricas, iespējams, šai lietojumprogrammai būs jāpievieno rezistors. Atcerieties, ka jūs varat izmantot strāvu no mērķa ierīces, nevis izmantot akumulatoru. Visbeidzot … Es instalēju ierīci senā grāmatvedības kalkulatorā - tipā, kuram ir drukas funkcijas. Es pārveidoju tastatūras matricu, izmantojot saspraudi, lai noteiktu, kuras IC tapas, kad tās ir pievienotas, izraisītu papīra padevi, un pievienoju pareizās tapas kopā ar ierīci. Pēc tam es atspējoju slēdzi, kas ļauj izslēgt drukas funkciju. Es uzskatu, ka iekārta ir pareizi sagriezta. Tas ieslēdz diezgan trokšņaino papīra padevi ik pēc 10 minūtēm 10 sekundes, kad ierīce ir ieslēgta. Tas arī labi darbojās ar ķēdi no vienas no šīm ļoti nepatīkamajām mūzikas dzimšanas dienas kartītēm. Mana darba vieta tagad ir dīvaināka!

Ieteicams: