ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA Arduino. Collegamento di semplici sensori. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica Enciclopedia della radioelettronica e dell'elettrotecnica / Progettista radioamatore L'ADC integrato nel microcontrollore, discusso nella parte precedente della recensione, consente di collegare facilmente vari sensori analogici alla scheda Arduino, che convertono i parametri fisici misurati in tensione elettrica. Un esempio di semplice sensore analogico è un resistore variabile collegato alla scheda, come mostrato nella Figura 1. 3. Può essere di qualsiasi tipo, ad esempio SP33-32-2 (Fig. 10). Il valore del resistore nel diagramma è indicato approssimativamente e può essere inferiore o superiore. Tuttavia, va ricordato che minore è la resistenza del resistore variabile, maggiore è la corrente che consuma dall'alimentazione del microcontrollore. E quando la resistenza della sorgente del segnale (in questo caso un resistore variabile) è superiore a XNUMX kOhm, l'ADC del microcontrollore funziona con grandi errori. Tieni presente che la resistenza di un resistore variabile come sorgente di segnale dipende dalla posizione del suo cursore. È pari a zero nelle sue posizioni estreme e massimo (pari a un quarto della resistenza nominale) in quella centrale.
È conveniente utilizzare un resistore variabile quando si desidera modificare il parametro in modo graduale e non graduale (in modo discreto). Ad esempio, si consideri il lavoro riportato nella tabella. 1 programma che modifica la luminosità del LED in base alla posizione dello slider del resistore variabile. La stringa U = U/4 è necessaria nel programma per convertire il numero binario a dieci bit restituito dall'ADC in un numero a otto bit, accettato come secondo operando dalla funzione analogWrite(). Nel caso in esame ciò avviene dividendo il numero originario per quattro, il che equivale a scartare i due bit meno significativi. Tabella 1 Un resistore variabile dal design appropriato può fungere da sensore dell'angolo di rotazione o di spostamento lineare. Allo stesso modo, puoi collegare molti elementi radio: fotoresistori, termistori, fotodiodi, fototransistor. In una parola, dispositivi la cui resistenza elettrica dipende da determinati fattori ambientali. Nella fig. 3 mostra uno schema di collegamento di una fotoresistenza ad Arduino. Quando cambia l'illuminazione, cambia la sua resistenza elettrica e, di conseguenza, cambia la tensione sull'ingresso analogico della scheda Arduino. La fotoresistenza FSK-1 indicata nello schema può essere sostituita con qualsiasi altra, ad esempio SF2-1.
Nella tabella 2 mostra un programma che trasforma una scheda Arduino a cui è collegata una fotoresistenza in un semplice esposimetro. Durante il funzionamento, misura periodicamente la caduta di tensione sul resistore collegato in serie al fotoresistore e trasmette il risultato in unità arbitrarie attraverso la porta seriale al computer. Nella schermata del terminale di debug di Arduino, verranno visualizzati come mostrato in Fig. 4. Come puoi vedere, ad un certo momento la tensione misurata è diminuita drasticamente. Ciò è accaduto quando un fotodiodo fortemente illuminato è stato oscurato da uno schermo opaco. Tabella 2
Per ottenere valori di illuminamento in lux (unità SI standard), è necessario moltiplicare i risultati per un fattore di correzione, ma bisognerà selezionarlo sperimentalmente, e individualmente per ogni fotoresistenza. Per questo avrai bisogno di un luxmetro standard. Un fototransistor [1] o un fotodiodo (Fig. 5) è collegato ad Arduino in modo simile. Utilizzando diversi dispositivi sensibili alla luce, è possibile costruire un semplice sistema di visione per un robot [2]. È possibile implementare a un nuovo livello tecnico molti progetti classici noti a un'ampia gamma di radioamatori: il modello cibernetico di una falena [3, p. 134-151] o un modello di carro armato in movimento verso la luce [4, p. 331, 332].
Similmente ad una fotoresistenza, ad Arduino è collegato un termistore (Fig. 6), che cambia la sua resistenza elettrica a seconda della temperatura. Invece del termistore MMT-4 indicato nel diagramma, il cui vantaggio principale è il suo alloggiamento sigillato, è possibile utilizzarne quasi qualsiasi altro, ad esempio MMT-1 o importato.
Dopo un'adeguata calibrazione [5, p. 231-255] un dispositivo simile può essere utilizzato per misurare la temperatura in tutti i tipi di stazioni meteorologiche domestiche, termostati e strutture simili [6]. È noto che quasi tutti i LED possono fungere non solo da sorgenti luminose, ma anche da ricevitori di luce: fotodiodi. Il fatto è che il cristallo del LED si trova in una custodia trasparente e quindi la sua giunzione pn è accessibile alla luce proveniente da fonti esterne. Inoltre, l'alloggiamento del LED ha solitamente la forma di una lente che focalizza la radiazione esterna su questo passaggio. Sotto la sua influenza, ad esempio, cambia la resistenza inversa della giunzione pn. Collegando il LED alla scheda Arduino secondo lo schema riportato in fig. 7, lo stesso LED può essere utilizzato sia per lo scopo previsto che come fotosensore [7]. Il programma che illustra questa modalità è mostrato nella Tabella. 3. La sua idea è che innanzitutto venga applicata una tensione inversa alla giunzione p-n del LED, caricandone la capacità. Il catodo del LED viene poi isolato configurando il pin dell'Arduino a cui è collegato come ingresso. Successivamente, il programma misura la durata, in base alla luce ambientale, di scarica della capacità della giunzione pn del LED mediante la propria corrente inversa fino al livello zero logico.
Tabella 3 Nel programma sopra, la variabile t è descritta come un unsigned int - un numero intero senza segno. Una variabile di questo tipo, a differenza di un normale int, che assume valori da -32768 a +32767, non utilizza la sua cifra binaria più significativa per memorizzare il segno e può assumere valori da 0 a 65535. Il programma calcola il tempo di scarica nel ciclo while(digitalRead (K)!=0)t++. Questo ciclo viene eseguito, aumentando ogni volta il valore di t di uno, finché la condizione tra parentesi è vera, cioè finché la tensione al catodo del LED non scende ad un livello logico basso. A volte è necessario che il robot non solo riceva informazioni sull'illuminazione della superficie su cui si muove, ma sia anche in grado di determinarne il colore. Un sensore di colore per la superficie sottostante viene implementato illuminandolo alternativamente con LED di diversi colori di luminescenza e utilizzando un fotodiodo per confrontare i livelli dei segnali riflessi da esso sotto diversa illuminazione [8]. Lo schema di collegamento degli elementi del sensore di colore con la scheda Arduino è mostrato in Fig. 8, e il programma che lo serve è nella tabella. 4.
Tabella 4 La procedura per misurare i segnali ricevuti dal fotodiodo sotto diversa illuminazione della superficie viene ripetuta più volte e i risultati ottenuti vengono accumulati per eliminare errori casuali. Il programma seleziona quindi il più grande dei valori accumulati. Ciò consente di giudicare approssimativamente il colore della superficie. Per determinare con maggiore precisione il colore, è necessario complicare l'elaborazione dei risultati, tenendo conto non solo del più grande, ma anche del suo rapporto con quelli più piccoli. È inoltre necessario tenere conto della reale luminosità dei LED di diversi colori di luminescenza, nonché delle caratteristiche spettrali del fotodiodo applicato. Un esempio di sensore di colore costituito da quattro LED e un fotodiodo è mostrato in Fig. 9. Gli assi ottici dei LED e del fotodiodo devono convergere in un punto sulla superficie studiata e i dispositivi stessi si trovano il più vicino possibile ad esso per ridurre al minimo l'influenza dell'illuminazione estranea.
Il sensore assemblato richiede un'attenta calibrazione individuale su superfici di diversi colori. Si tratta di una selezione di coefficienti per i quali i risultati delle misurazioni ottenuti in diverse condizioni di illuminazione dovrebbero essere moltiplicati prima del confronto. Un robot dotato di tale sensore può essere addestrato a eseguire interessanti algoritmi di movimento. Ad esempio, potrà muoversi nel campo di lavoro di un colore senza violare i confini delle zone “proibite” dipinte in un colore diverso. I programmi discussi nell'articolo possono essere trovati su ftp://ftp.radio.ru/pub/2016/10/asensors.zip. Letteratura
Autore: D. Lekomtsev Vedi altri articoli sezione Progettista radioamatore. Leggere e scrivere utile commenti su questo articolo. Ultime notizie di scienza e tecnologia, nuova elettronica: Macchina per diradare i fiori nei giardini
02.05.2024 Microscopio infrarosso avanzato
02.05.2024 Trappola d'aria per insetti
01.05.2024
Altre notizie interessanti: ▪ Il sensore di movimento Philips Hue controlla le luci ▪ Crescere nuove braccia e gambe ▪ Gli sport di forza non sono adatti ai bambini ▪ I nanopori si riscaldano quando gli ioni li attraversano. ▪ La pulizia della casa favorisce il relax News feed di scienza e tecnologia, nuova elettronica
Materiali interessanti della Biblioteca Tecnica Libera: ▪ sezione del sito Elettricista. Selezione di articoli ▪ articolo Taglia suole in movimento. Espressione popolare ▪ articolo Cos'è l'ossigeno? Risposta dettagliata ▪ articolo Direttore di una struttura di club. Descrizione del lavoro ▪ articolo Sollevatore di bacchette. Messa a fuoco segreta
Lascia il tuo commento su questo articolo: Tutte le lingue di questa pagina Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito www.diagram.com.ua |