Sommario:

Arduino Fireflies: 11 passaggi (con immagini)
Arduino Fireflies: 11 passaggi (con immagini)

Video: Arduino Fireflies: 11 passaggi (con immagini)

Video: Arduino Fireflies: 11 passaggi (con immagini)
Video: CORSO ARDUINO, #2 impariamo a conoscere il codice IN MODO ALTERNATIVO 2024, Luglio
Anonim
Image
Image
Cosa ti servirà
Cosa ti servirà

Una delle cose che non vedo l'ora di fare durante le estati in Pennsylvania sono le lucciole nel mio giardino. Recentemente ho imparato da solo la programmazione di Adruino allo scopo di realizzare questo semplice progetto. È un ottimo programma per iniziare ed è abbastanza facile per qualsiasi programmatore, dal principiante all'esperto, da costruire, modificare e divertirsi in pochi minuti. Iniziamo.

Passaggio 1: cosa ti servirà

Cosa ti servirà
Cosa ti servirà

Per far lampeggiare i tuoi bug, avrai bisogno di questi componenti:

  • Arduino. Ho iniziato con il Nano, tuttavia qualsiasi microcontrollore compatibile con Arduino andrà bene.
  • LED gialli, 5mm. Puoi usarne fino a 6.
  • resistori. Avrai bisogno di un resistore per LED per limitare la corrente. Ho usato 470 ohm ma qualsiasi cosa sopra i 150 ohm dovrebbe andare bene per proteggere il tuo microcontrollore.
  • Tagliere.
  • Cavo del ponticello.

Per completare il progetto per il tuo giardino, avrai bisogno di:

  • Scatola del progetto resistente alle intemperie.
  • Batteria da 9 volt con connettore. (Vedi le note in fondo a questa sezione.)
  • Interruttore. (Ho scelto questi interruttori impermeabili. Se non lo usi all'esterno, qualsiasi interruttore andrà bene.)
  • Qualche metro di filo per posizionare i led in giardino. Ho usato circa 10 piedi di cavo Ethernet Cat5 per LED.
  • Una piccola breadboard o una perf board.
  • Un pressacavo resistente alle intemperie attraverso il quale scorrono i fili del LED. (Puoi ometterlo se non lo stai usando anche all'esterno.)
  • Guaina termorestringente per proteggere le cimici dei tuoi insetti LED.
  • Strisce verdi a strappo (ad es. velcro) per fissare le lucciole LED alle piante e ai pali del tuo giardino.
  • Intestazioni maschio per collegare i componenti alla tua piccola breadboard.

Utensili:

  • Punte da trapano per la scatola del progetto. (Usa questa opportunità per farti un bel passo. Sarai felice di averlo fatto).
  • Pistola per colla a caldo.
  • Saldatore.
  • Strumento rotante (es. Dremel) per ritagliare spazio nella scatola del progetto se ne hai bisogno.

Alcune note qui:

1. La scelta della batteria è stata per un avvio facile e veloce. L'uso permanente di una batteria da 9 volt è un po' uno spreco. È meglio usare un supporto per batterie AA 4x per una maggiore durata (tuttavia avrai bisogno di una scatola di progetto più grande in cui inserirlo).

2. Se scegli di smontare un cavo Ethernet Cat 5 per i fili, assicurati che siano un nucleo di rame e avvolgili ordinatamente attorno a del PVC per tenerli organizzati mentre lavori. Ancora una volta, ho usato circa 10 piedi di cavo per LED. Se vuoi diffondere le luci in lungo e in largo, usa assolutamente cavi più lunghi!

3. Infine, tutti i link che ho fornito sono solo suggerimenti. Si prega di leggere l'intero Instructable prima di costruire o acquistare qualsiasi cosa in quanto otterrete una migliore comprensione di come vorreste procedere personalmente.

Passaggio 2: costruire il circuito

Costruisci il circuito
Costruisci il circuito
Costruisci il circuito
Costruisci il circuito
Costruisci il circuito
Costruisci il circuito

Questo progetto utilizza i pin di modulazione della larghezza di impulso sul tuo Arduino. Il microcontrollore ha 6 di questi pin e puoi usarne quanti ne vuoi. Il circuito è piuttosto semplice. Collegare tutta l'alimentazione dai pin D3, D5, D6, D9, D10 e D11 di modulazione di larghezza di impulso (PWM) alle estremità positive dei LED. Collegare le estremità negative ai resistori e quindi a una massa comune. (I resistori possono andare davanti o dietro il LED. Non fa differenza a meno che non si voglia proteggersi dai cortocircuiti con correnti più elevate.) Ho incluso alcuni schemi per aiutare con il cablaggio. (I diagrammi sono stati creati utilizzando il software di progettazione Fritzing.)

Passaggio 3: il codice

Image
Image

Se sei un programmatore esperto, troverai questo codice semplicistico. È un ottimo codice con cui iniziare a imparare poiché ti introduce all'uso di variabili, pinmode, funzioni e persino un generatore casuale. Il codice non è così compatto come può essere perché sono sicuro che lo stesso effetto può essere ottenuto con gli array, ecc.

I commenti al codice delineano la logica di ogni sezione. L'intero codice è incorporato qui e puoi scaricare lo schizzo qui sotto.

/*

Questo script fa lampeggiare 6 LED (gialli, ovviamente) in ordine casuale a intervalli casuali utilizzando PWM. Ogni LED è controllato dalla propria funzione. */ int led1 = 3; // LED collegato al pin 3 PWM, ecc. Ho usato tutti e 6 i pin PWM. int led2 = 5; int led3 = 6; int led4 = 9; int led5 = 10; int led6 = 11; randnum lungo; // randnum controlla l'intervallo di tempo tra i flash e il randbug lungo; //randbug controlla quale bug si accende. void setup() { pinMode(led1, OUTPUT); //Impostazione di tutti i pin PWM come uscite. pinMode(led2, USCITA); pinMode(led3, USCITA); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); } void loop(){ randbug = random(3, 12); //randbug sceglie casualmente una funzione da eseguire, // quindi sceglie casualmente un bug da illuminare. if (randbug == 3) { bug1(); } if (randbug == 5) { bug2(); } if (randbug == 6) { bug3(); } if (randbug == 9) { bug4(); } if (randbug == 10) { bug5(); } if (randbug == 11) { bug6(); } } /* * Ognuna di queste funzioni funziona allo stesso modo. 'for loop' aumenta e poi diminuisce * l'uscita di quel pin per controllare la luminosità del LED. * 'randnum' è un intervallo di tempo casuale tra 10 e 3000 ms * e sceglie un intervallo di tempo tra i flash dei bug. * 'delay 10' è solo per l'effetto dissolvenza. */ void bug1(){ randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led1, fadeValue); ritardo(10); } ritardo (randnum); } void bug2() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led2, fadeValue); ritardo(10); } ritardo (randnum); } void bug3() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led3, fadeValue); ritardo(10); } ritardo (randnum); } void bug4(){ randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led4, fadeValue); ritardo(10); } ritardo (randnum); } void bug5() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led5, fadeValue); ritardo(10); } ritardo (randnum); } void bug6() { randnum = random(10, 3000); for(int fadeValue = 0; fadeValue = 0; fadeValue -=5) { analogWrite(led6, fadeValue); ritardo(10); } ritardo (randnum); }

Passaggio 4: costruisci la scatola

Costruire mozziconi di insetti!
Costruire mozziconi di insetti!

Una volta che hai lampeggiato il tuo Arduino con il codice e hai fatto funzionare le tue lucciole nel modo che preferisci, potresti volerle mettere in giardino; ciò significa una scatola del progetto e un po' di termoretraibile per mantenere asciutti Arduino e LED. Facciamo!

Passaggio 5: costruire mozziconi di insetto

Costruire mozziconi di insetti!
Costruire mozziconi di insetti!
Costruire mozziconi di insetti!
Costruire mozziconi di insetti!
Costruire mozziconi di insetti!
Costruire mozziconi di insetti!
  • Tagliare i cavi LED a circa 5 mm.
  • Spellare e stagnare le estremità dei fili che stai usando, anch'esse di circa 5 mm.
  • Far scorrere il tubo termoretraibile da 1 mm su ciascuna estremità del filo.
  • Saldare il LED al filo. (A questo punto, dovresti scegliere quale filo nella tua coppia sarà il tuo positivo e quale sarà il negativo. Ho scelto il filo solido come positivo e il filo bianco come negativo. Mantieni questa strategia durante tutto il progetto per evitare mal di testa in seguito!)
  • Far scorrere il termorestringente fino in fondo sul filo nudo e sui cavi LED. Esegui una fiamma veloce su di loro per ridurli ai fili.
  • Fai scorrere un altro pezzo di termoretraibile sul LED e sui fili con la lente LED che sporge dall'estremità e scioglilo in posizione.
  • Fai scivolare alcuni pezzi di termoretraibile sul filo per tutta la sua lunghezza e scioglilo ogni pochi piedi per mantenere il filo in ordine.

Passaggio 6: preparare la casella del progetto

Prepara la scatola del progetto
Prepara la scatola del progetto
Prepara la scatola del progetto
Prepara la scatola del progetto
  • Usa uno strumento rotante con una punta a tamburo per levigare per pulire la plastica non necessaria nella scatola del progetto. (Fai attenzione a non tagliare via i supporti a vite di cui potresti aver bisogno per rimettere insieme la scatola.)
  • Decidi dove vuoi che sia il tuo interruttore e che escano i cavi LED. Suggerisco i lati ma usa quello che funziona con le tue esigenze.
  • Utilizzare la punta da trapano della dimensione appropriata per praticare i fori per il pressacavo e l'interruttore.

Nota: nella foto sopra, vedrai che ho realizzato un "cavo fittizio". Questo è un fascio di 6 paia di cavi che ho usato per i LED con termoretraibile per raggrupparli insieme. L'ho usato per assicurarmi che il passacavo si adattasse bene al fascio di cavi effettivo e anche per testare la resistenza all'acqua della scatola una volta che l'interruttore, il passacavo e il coperchio erano accesi. (Dopo essere stato immerso per 24 ore in 6 pollici di acqua, aveva pochissima umidità all'interno. Sarei felice di chiamare questa scatola "resistente alle intemperie".)

Passaggio 7: porta il potere

Porta il potere!
Porta il potere!
Porta il potere!
Porta il potere!
  • Determina quanta batteria e cavo dell'interruttore ti serviranno per raggiungere il tuo Arduino posizionando approssimativamente tutti e tre i componenti nella scatola del progetto. Tagliare i fili dell'interruttore e del connettore della batteria da 9V. Spellare e stagnare le estremità. Fai scivolare un po' di termoretraibile in posizione per il passaggio successivo.
  • Taglia via due perni di intestazione maschio dalla tua striscia (ma tienili incollati insieme).
  • Saldare il cavo rosso del connettore della batteria da 9V a un'estremità dell'interruttore. Saldare l'altra estremità dell'interruttore a un pin dell'intestazione maschio. Saldare il cavo nero della batteria all'altro pin dell'intestazione maschio.
  • Come mostrato nel diagramma sopra, i pin dell'intestazione andranno nella breadboard per alimentare il Nano al VIN (positivo) e GND (negativo). Il pin VIN può gestire da 7 a 12 volt. Se hai intenzione di alimentare il tuo Arduino in un modo diverso da una batteria da 9 V, usa un pin di alimentazione diverso.

Passaggio 8: modifica il nano se necessario

Modifica il nano se necessario
Modifica il nano se necessario

Poiché la mia scatola del progetto era piuttosto superficiale, avevo bisogno di rimuovere i pin dell'intestazione ICSP per adattarli. Questi pin sono un'interfaccia secondaria con il tuo Arduino. La loro rimozione non danneggerà il tuo Nano poiché puoi sempre caricare gli script tramite la porta USB.

Nota: se il tuo Nano ha bisogno di pin di intestazione da saldare, ometti semplicemente questi pin durante l'assemblaggio del tuo Arduino.

Passaggio 9: cablare l'interno

Image
Image
Cablare l'interno
Cablare l'interno
Cablare l'interno
Cablare l'interno
  • Attacca la porta del pressacavo alla scatola del progetto nel foro che hai praticato per questo. Se sei confuso su come utilizzare un pressacavo, questo video che ho trovato su YouTube ne mostra uno in fase di assemblaggio. (avanti fino a 0:57). Il tuo potrebbe avere una rondella di gomma. Questo va tra la scatola del progetto e il dado esterno del pressacavo.
  • Raccogli le estremità libere dei cavi LED. Prendete questo tempo per rifilarli alla stessa lunghezza, spellateli e stagnate le estremità. Fai passare le estremità attraverso il tappo del pressacavo e usa un pezzo di termoretraibile per raggruppare le estremità, lasciando una lunghezza sufficiente per raggiungere la breadboard all'interno della scatola.
  • Fai passare il fascio di cavi attraverso la porta del pressacavo nella scatola del progetto e ruota il cappuccio del premistoppa per bloccare i cavi in posizione, preferibilmente attorno al termoretraibile che hai usato per raggrupparli insieme.
  • Separa i fili di terra dai fili positivi (ricordando quali hai scelto in precedenza). Saldare insieme tutti i fili di terra in un unico terreno comune. Attacca un filo corto da quel mazzo e finiscilo con 1 intestazione maschio. Usa un termoretraibile per proteggere i tuoi giunti di saldatura nudi.
  • Intestazioni maschio a saldare alle estremità di ciascun filo positivo. Ancora una volta, usa il termoretraibile.
  • Inserire le intestazioni maschio dell'estremità positiva nella breadboard per connettersi ai pin PWM su Arduino.
  • Inserisci la massa comune nella breadboard in modo che passi attraverso un resistore di limitazione di corrente e poi a GND sull'Arduino.
  • Inserisci la batteria e inserisci l'interruttore attraverso il foro nella scatola che hai praticato in precedenza. Montare la rondella di gomma tra la scatola del progetto e il tappo a vite. Collega i cavi di alimentazione alla breadboard.
  • Aggancia o avvita il coperchio sulla scatola. Hai finito!

Nota: avviso negli schemi e nelle fasi di sviluppo ho usato un resistore di limitazione di corrente per LED. In genere ogni LED dovrebbe avere il proprio resistore come in genere, più di un LED è acceso contemporaneamente. Il codice non consente l'accensione di più di un LED alla volta, quindi l'utilizzo di un solo resistore va bene per proteggere l'Arduino. Ciò consente anche di risparmiare spazio sulla piccola breadboard o di saldare ogni LED con un resistore in linea. Detto questo… ATTENZIONE!!! Se prevedi di modificare il codice in modo che si accenda più di un LED alla volta, avrai bisogno di resistori separati per ciascun LED.

Passaggio 10: usalo

Usalo
Usalo

Usa cinturini in velcro o gocce di colla a caldo per fissare i LED a piante, recinzioni, fenicotteri rosa o qualsiasi altra cosa nel tuo giardino. Usali all'interno riponendoli nelle rastrelliere del vino, dietro le tende o persino appendi i fili al soffitto per un effetto fluttuante 3D al buio! Questi sarebbero un ottimo tocco per feste, matrimoni, film e fotografia.

Passaggio 11: andare oltre…

Come affermato prima, questa è una prima versione di questo progetto, ma è piena di così tanto potenziale! Esegui più LED collegando un registro a scorrimento (vedi questo istruibile da JColvin91 per imparare come.) Aggiungi un sensore di luce, un caricatore solare e un timer per una funzione "impostalo e dimenticalo"! Fai confusione con il codice per aggiungere il tuo bagliore ai bug. Condividi ciò che fai e divertiti!!

AGGIORNAMENTO: nelle ultime due settimane da quando è stato pubblicato questo Instructable, molti contributori hanno suggerito brillanti miglioramenti al codice, all'hardware e all'esecuzione di questo progetto. Consiglio vivamente se hai intenzione di costruirlo, leggi i commenti e le risposte per idee su come realizzare questi fulmini in modi che non avevo pianificato. È nello spirito dell'open source che accolgo con favore tutte le idee che aiutano a far evolvere questo progetto in più di quanto pensassi possibile… e ringrazio tutti coloro che hanno reso possibile ciò.

Andare. Rendere!!!

Consigliato: