Sommario:
Video: Dirottatore di switch generico: 3 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:05
Questo articolo descrive come costruire un dispositivo a microcontrollore a stato solido che controlla gli interruttori fisici. È molto economico da realizzare (4$ o giù di lì), supponendo che tu abbia un programmatore di microcontrollori. Il circuito stesso è di banale complessità.
Questo progetto è molto semplice e non prevede nuove tecniche sorprendenti. Servirebbe come un buon primo progetto di microcontrollore. Il codice sorgente dell'assembly ti verrà fornito in questo articolo. Ho un capo davvero fantastico al lavoro. A volte ci piace fare scherzi l'uno con l'altro. Sfortunatamente per lui, io sono uno scienziato. Il mio scopo qui è far accendere misteriosamente vari dispositivi sul posto di lavoro per brevi periodi di tempo. Radio, stampanti rumorose, persino quei fastidiosi biglietti d'auguri musicali nascosti in qualche oggetto comune. Oltre a ciò, il progetto è un esempio di come si controllano carichi più pesanti con un AVR rispetto a quelli che i pin di uscita possono gestire da soli. Questa è un'ampia varietà di cose, poiché i pin di uscita ti danno solo una piccola tensione e una corrente molto limitata. Questo circuito potrebbe essere ampliato con un relè per controllare alcuni carichi davvero molto pesanti.
Passaggio 1: progettazione e circuito
Per questo progetto, puoi utilizzare quasi tutti i microcontrollori, regolatori di tensione 5v e transistor NPN. Ero solito:
1x ATtiny26L-8PU (~2$) 1x regolatore di tensione TL780 5v (~0.7$) 1x transistor N2222 (~0.07$) 1x batteria da 9v, o batteria del telecomando da 12v per risparmiare spazio…e ovviamente il mio fidato STK500, ora con ZIF prese aggiunte! Il design di base è questo: il microcontrollore passa attraverso due loop di temporizzazione. Un ciclo lungo per determinare quando accendere il dispositivo e un ciclo breve per determinare per quanto tempo tenere acceso il dispositivo. Quando è il momento di causare problemi, il microcontrollore invia un pin 14 di uscita logica (Least Significant Bit of PORTA). Questo accende il transistor. Se hai collegato i morsetti ai cavi di un interruttore, fa sì che la resistenza attraverso l'interruttore scenda improvvisamente da molto alta a meno di 1 ohm, il che è sufficiente per la maggior parte dei dispositivi per considerare l'interruttore acceso. Tieni presente che anche i transistor sono diodi, quindi se non funziona… probabilmente la polarità dei morsetti è sbagliata, cambiali! Inoltre, questo dispositivo richiede una batteria decente da 9 V, diciamo con un potenziale residuo di oltre 8 V … a parte questo, non consuma molta energia. Ci sono molti pin inutilizzati, quindi ovviamente potresti usarli per controllare più interruttori per più caos, ma questo era sufficiente per i miei scopi. Il prossimo passo è il codice sorgente che ho scritto per far funzionare questa cosa. Le durate predefinite per gli stati "on" e "off" sono rispettivamente di circa 10 secondi e 13 minuti. Ci sono commenti nel codice su come modificare questi valori. Infine, scusate l'uso estensivo della funzione "nop" (passa un ciclo della CPU a non fare nulla) per modificare i timer. È poco elegante poiché può interrompere la funzione rjmp se non stai attento a quanti ne usi!
Passaggio 2: codice sorgente
COMINCIARE:
. INCLUDE "tn26def.inc"; File di definizione. Google per questo se hai bisogno di una copia. 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 no nop nop nop nop no no no nop nop nop nop cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi TIMER r11MER: 0b111 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r25 cpi r25, 0b11111111;Abbassa questo numero per diminuire il tempo "off" breq FUNC rjmp FUNC TIMER: nop nop cpi, 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 nop nop nop TIMER4 TIMER4 no nop no nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Aumentare questo numero per aumentare il tempo "on" breq FUNC rjmp TIMER4
Passaggio 3: nota finale
Divertiti, ma ricorda che il transistor ha dei limiti in termini di quanta potenza puoi pompare attraverso di esso. Ciò significa che non c'è tensione di rete! Oltre al fatto che sovraccaricherebbe il transistor molto velocemente, questo dispositivo non controllerà bene i segnali alternati… a meno che non si applichi la modifica descritta di seguito *e* si aggiunga un relè: se preoccuparsi della polarità del morsetto ti dà fastidio, basta collegare un secondo transistor con la piastra di base collegata alla stessa sorgente del primo transistor, ma con collettore ed emettitore in configurazione opposta. In questo modo, indipendentemente da come si collegano i morsetti, un high logico che esce dal microcontrollore "accende" sempre l'interruttore. Tieni presente che la corrente di dispersione in questo sistema potrebbe essere sufficiente per attivare alcuni interruttori sensibili come le matrici della tastiera, potrebbe essere necessario aggiungere un resistore in serie per questa applicazione. Ricorda che puoi assorbire energia dal dispositivo di destinazione invece di utilizzare una batteria. Infine… ho installato il dispositivo all'interno di un'antica calcolatrice contabile, del tipo che ha funzioni di stampa. Ho decodificato la matrice della tastiera utilizzando una graffetta per determinare quali pin IC collegati avrebbero causato l'alimentazione della carta e ho collegato i pin corretti insieme al dispositivo. Quindi, ho disabilitato l'interruttore che permette di disattivare la funzione di stampa. Considero la macchina correttamente sovvertita. Accende l'alimentazione della carta piuttosto rumorosa ogni 10 minuti, per 10 secondi, ogni volta che il dispositivo è acceso. Ha funzionato bene anche con il circuito di uno di quegli odiosi biglietti d'auguri musicali. Il mio posto di lavoro ora è più bizzarro!
Consigliato:
Switch Adatta un giocattolo: il treno WolVol diventa accessibile a Switch!: 7 passaggi
Switch Adapt a Toy: WolVol Train Made Switch Accessible!: L'adattamento del giocattolo apre nuove strade e soluzioni personalizzate per consentire ai bambini con capacità motorie limitate o disabilità dello sviluppo di interagire con i giocattoli in modo indipendente. In molti casi, i bambini che richiedono i giocattoli adattati non sono in grado di int
Dispositivo client/slave generico Arduino a 1 filo (sensore): 4 passaggi
Dispositivo generico client/slave Arduino a 1 filo (sensore): leggere l'introduzione e il passaggio 2 della mia istruzione su come costruire un display Arduino a 1 filo (144 caratteri) per ottenere maggiori informazioni sulla situazione e sulle librerie disponibili. Come spiegato lì useremo la libreria OneWire-Hub
IOT123 - BLOCCHI D1M - Assemblaggio Generico: 7 Passi
IOT123 - BLOCCHI D1M - Assemblaggio generico: durante la prototipazione o la creazione di circuiti per i tuoi progetti, una volta che i componenti sono stati saldati a un PCB, c'è un limite a quanto sia riutilizzabile in altri circuiti a causa di danni dissaldanti. È qui che entrano in gioco D1M BLOCKS. Sono un sistema di rivestimento/impilamento per
Modificare un caricabatterie per auto USB generico per caricare un iPod Nano di terza generazione: 4 passaggi
Modificare un caricatore per auto USB generico per caricare un iPod Nano di terza generazione: Ho un iPod Nano di terza generazione. Rileva che è collegato ma si rifiuta di caricare da un adattatore di ricarica USB per auto generico, ma non avevo voglia di acquistare un cavo adattatore o un altro caricabatterie specifico per l'iPod, quindi ne ho modificato uno che già
Trasforma un generico gadget di plastica in qualcosa di un po' più bello: 14 passaggi (con immagini)
Trasforma un gadget di plastica generico in qualcosa di un po' più bello: Motivazione: durante l'estate faccio surf o lavoro a progetti intorno al nostro piccolo giardino/fattoria. L'inverno è alle porte qui a Boston e sono pronto per iniziare ad attaccare la lunga lista di progetti che ho rimandato per i "mesi indoor". Tuttavia, ho