Sommario:
- Passaggio 1: codice Arduino
- Passaggio 2: file Proteus
- Passaggio 3: Come funziona il tuo ponte H
- Passaggio 4: come funziona LDR
Video: Robot che segue ed evita la luce basato su Arduino: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questo è un progetto semplice che segue o evita la luce.
Ho realizzato questa simulazione in Proteus 8.6 pro. Componenti richiesti: -1) Arduino uno.
2) 3 LDR.
3) 2 motoriduttori CC.4) Un servo.5) Tre resistori da 1k.6) un H-Bridge l290D7) Un interruttore di accensione e spegnimento [per modificare le condizioni del programma]
8) Batteria 9v e 5v
Passaggio 1: codice Arduino
Il codice Arduino è stato modificato un po' Data 23 febbraio 2016]
Questo codice è altamente commentato, non voglio spiegarlo, ma se hai bisogno di aiuto non esitare a contattarmi a ([email protected])
Nota: in questo programma utilizzo due condizioni: la prima per la luce e la seconda per evitare la luce.
Per quanto queste condizioni siano soddisfatte, il robot seguirà o eviterà la luce. [Questo è il valore minimo di LDR che scelgo. In condizioni di luce normale, la sua gamma è compresa tra 80 e 95, ma poiché la sua intensità aumenta sempre più le tensioni indotte su di essa, poiché lavora sul principio del divisore di tensione int a = 400; // Valore di tolleranza]
Passaggio 2: file Proteus
Per la libreria Arduino scarica da quel link
Passaggio 3: Come funziona il tuo ponte H
L293NE/SN754410 è un H-bridge molto semplice. Ha due ponti, uno a sinistra del chip e uno a destra, e può controllare 2 motori. Può pilotare fino a 1 amp di corrente e funzionare tra 4,5 V e 36 V. Il piccolo motore CC che stai utilizzando in questo laboratorio può funzionare in sicurezza a bassa tensione, quindi questo ponte H funzionerà perfettamente. L'H-bridge ha i seguenti pin e caratteristiche: Pin 1 (1, 2EN) abilita e disabilita il nostro motore indipendentemente dal fatto che sia HIGH o LOW Pin 2 (1A) è un pin logico per il nostro motore (l'ingresso è HIGH o LOW) Pin 3 (1Y) è per uno dei terminali del motore I pin 4-5 sono per la massa Il pin 6 (2Y) è per l'altro terminale del motore Il pin 7 (2A) è un pin logico per il nostro motore (l'ingresso è ALTO o BASSO) Pin 8 (VCC2) è l'alimentatore per il nostro motore, a questo dovrebbe essere data la tensione nominale del motore I pin 9-11 non sono collegati poiché si utilizza solo un motore in questo laboratorio I pin 12-13 sono per la messa a terra I pin 14-15 non sono collegati Il pin 16 (VCC1) è collegato a 5V. Sopra c'è uno schema del ponte H e quali pin fanno cosa nel nostro esempio. Incluso con il diagramma è una tabella di verità che indica come funzionerà il motore in base allo stato dei pin logici (che sono impostati dal nostro Arduino).
In questo progetto, il pin di abilitazione si collega a un pin digitale sul tuo Arduino in modo da poterlo inviare ALTO o BASSO e accendere o spegnere il motore. I pin della logica del motore sono anche collegati ai pin digitali designati sul tuo Arduino in modo che tu possa inviarlo HIGH e LOW per far girare il motore in una direzione, o LOW e HIGH per farlo girare nell'altra direzione. La tensione di alimentazione del motore si collega alla sorgente di tensione per il motore, che di solito è un'alimentazione esterna. Se il tuo motore può funzionare a 5 V e meno di 500 mA, puoi utilizzare l'uscita 5 V di Arduino. La maggior parte dei motori richiede una tensione più elevata e un assorbimento di corrente maggiore di questo, quindi sarà necessario un alimentatore esterno.
Collegare il motore all'H-bridge Collegare il motore all'H-bridge come mostrato nella seconda immagine.
Oppure, se stai usando un alimentatore esterno per Arduino, puoi usare il pin Vin.
Passaggio 4: come funziona LDR
Ora la prima cosa che potrebbe aver bisogno di ulteriori spiegazioni è l'uso dei resistori dipendenti dalla luce. I resistori dipendenti dalla luce (o LDR) sono resistori il cui valore cambia a seconda della quantità di luce ambientale, ma come possiamo rilevare la resistenza con Arduino? Beh, non puoi davvero, tuttavia puoi rilevare i livelli di tensione usando i pin analogici, che possono misurare (nell'uso di base) tra 0-5V. Ora potresti chiederti "Bene, come convertiamo i valori di resistenza in variazioni di tensione?", È semplice, creiamo un partitore di tensione. Un partitore di tensione assorbe una tensione e quindi emette una frazione di quella tensione proporzionale alla tensione di ingresso e al rapporto tra i due valori dei resistori utilizzati. L'equazione per cui è:
Tensione di uscita = Tensione di ingresso * (R2 / (R1 + R2)) Dove R1 è il valore del primo resistore e R2 è il valore del secondo.
Ora questo pone ancora la domanda "Ma quali valori di resistenza ha l'LDR?", buona domanda. Minore è la quantità di luce ambientale, maggiore è la resistenza, più luce ambientale significa una resistenza inferiore. Ora per i particolari LDR che ho usato, il loro intervallo di resistenza era compreso tra 200 e 10 kilo ohm, ma questo cambia per quelli diversi, quindi assicurati di cercare da dove li hai acquistati e prova a trovare una scheda tecnica o qualcosa del genere. Ora in questo il caso R1 è in realtà il nostro LDR, quindi riportiamo quell'equazione e facciamo un po' di math-e-magic (magia elettrica matematica). Ora prima dobbiamo convertire quei valori di kilo ohm in ohm: 200 kilo-ohm = 200.000 ohm 10 kilo-ohm = 10.000 ohmQuindi per trovare qual è la tensione di uscita quando siamo nel buio pesto inseriamo i seguenti numeri: 5 * (10000 / (200000 + 10000)) L'ingresso è 5 V poiché è quello che otteniamo dall'Arduino. Quanto sopra dà 0,24 V (arrotondato). Ora troviamo qual è la tensione di uscita nella luminosità di picco utilizzando i seguenti numeri: 5 * (10000 / (10000 + 10000)) E questo ci dà esattamente 2,5 V. Quindi questi sono i valori di tensione che andremo a inserire nei pin analogici di Arduino, ma questi non sono i valori che verranno visualizzati nel programma, "Ma perché?" potresti chiedere. L'Arduino utilizza un chip da analogico a digitale che converte la tensione analogica in dati digitali utilizzabili. A differenza dei pin digitali sull'Arduino che possono leggere solo uno stato ALTO o BASSO essendo 0 e 5 V, i pin analogici possono leggere da 0-5 V e convertirlo in un intervallo numerico di 0-1023. Ora con un po' di magia in più. possiamo effettivamente calcolare quali valori verranno effettivamente letti da Arduino.
Poiché questa sarà una funzione lineare, possiamo usare la seguente formula: Y = mX + C Dove; Y = Valore digitaleDove; m = pendenza, (ascesa/corsa), (valore digitale/valore analogico)Dove; C = Intercetta Y L'intercetta Y è 0, quindi ci dà: Y = mXm = 1023 / 5 = 204,6 Pertanto: Valore digitale = 204,6 * Valore analogico Quindi nel buio pesto il valore digitale sarà: 204,6 * 0,24 Che dà circa 49. E nella luminosità di picco sarà: 204.6 * 2.5 Che dà circa 511. Ora con due di questi impostati su due pin analogici possiamo creare due variabili intere per memorizzare i loro valori due e fare operatori di confronto per vedere quale ha il valore più basso, girando il robot in quella direzione.
Consigliato:
Arduino - Robot per risolvere labirinti (MicroMouse) Robot che segue il muro: 6 passaggi (con immagini)
Arduino | Robot Maze Solving (MicroMouse) Robot Wall Following: Benvenuto Sono Isaac e questo è il mio primo robot "Striker v1.0".Questo Robot è stato progettato per risolvere un semplice Labirinto.Nella competizione avevamo due labirinti e il robot è stato in grado di identificarli. Qualsiasi altro cambiamento nel labirinto potrebbe richiedere un cambiamento nel
Quad per bambini che hackera un veicolo a guida autonoma, che segue la linea e rileva ostacoli.: 4 passaggi
Quad per bambini che ha hackerato un veicolo a guida autonoma, che segue la linea e che rileva gli ostacoli.: Nell'istruttivo di oggi trasformeremo un quad elettrico per bambini da 1000 Watt (sì, lo so molto!) In un veicolo a guida autonoma, che segue la linea e che evita gli ostacoli! Video dimostrativo: https://youtu.be/bVIsolkEP1kPer questo progetto avremo bisogno dei seguenti materiali
Robot che segue l'uomo che usa Arduino Uno sotto i 20 $: 9 passaggi
Robot che segue umano usando Arduino Uno sotto i 20 $: quindi ho realizzato questo robot circa un anno fa e mi è piaciuto che possa seguirti ovunque e ovunque. questa è la migliore alternativa per un cane. è ancora con me fino ad ora. Ho anche un canale youtube dove puoi vedere il processo di realizzazione nel vi
Robot che segue la luce: 8 passaggi
Light Following Robot: questo light follower è il primo di una serie di robot in cinque parti. inizierò con il semplice al meno complicato. puoi guardare fare video sul mio CANALE CLICCA QUI. e puoi ISCRIVERTI direttamente AL MIO CANALE QUI
D2-1 Guida all'assemblaggio del robot che segue la linea - Kit robot ultra economico: 17 passaggi
D2-1 Guida all'assemblaggio del robot che segue la linea - Kit robot ultra economico: la tecnologia è sorprendente, così come i prezzi sull'elettronica dalla Cina! Puoi ottenere questi kit di robot che seguono la linea per circa $ 4,50 al pezzo su eBay, con spedizione gratuita. L'unico aspetto negativo è che vengono solo con istruzioni cinesi: non è molto utile per m