Sommario:
- Passaggio 1: software e materiali
- Passaggio 2: connettiti al tuo Arduino e determina la porta COM
- Passaggio 3: codice Matlab
- Passaggio 4: cablaggio del sensore flessibile
- Passaggio 5: collega Arduino a LCD
- Passaggio 6: collegamento del potenziometro morbido
- Passaggio 7: prova i tuoi miglioramenti su un sistema Smart Rail
Video: LifeGuard 2.0: 7 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Hai mai desiderato eseguire operazioni matematiche, rilevare letture di sensori, monitorare ingressi analogici e digitali e controllare uscite analogiche e digitali senza precedenti esperienze di elettronica? Se sì, questo progetto è solo per te! Utilizzeremo un microcontrollore e MATLAB per creare un dispositivo che può essere utilizzato per monitorare e migliorare il sistema EF Express SMART RAIL. Con un microcontrollore, le possibilità di ingressi e uscite (segnale/informazioni che entrano nella scheda e un segnale che esce dalla scheda) sono infinite. Useremo un sensore flessibile e un potenziometro come input. Le loro uscite saranno un messaggio tramite schermo LCD e luci LED insieme a un cicalino, rispettivamente. I miglioramenti che speriamo di implementare nel sistema SMART RAIL sono relativi al miglioramento della sicurezza del sistema. Prendi il tuo laptop e microcontrollore e cominciamo!
Passaggio 1: software e materiali
Software necessario
1.) MATLAB
- Dovrai scaricare una versione locale di MATLAB sul tuo computer. Vai su mathworks.com e configura un account MATHWORKS, scarica i file e attiva la tua licenza.
-È necessario scaricare e installare TUTTI i toolbox disponibili per la versione più recente (R2016a o R2016b).
-Utenti Mac: è necessario disporre di OSX 10.9.5 o successivo per eseguire R2015b, è possibile eseguire una versione precedente di MATLAB.
2.) Pacchetto di supporto hardware Arduino:
-Installa il pacchetto di supporto hardware Arduino. Apri MATLAB. Nella scheda MATLAB Home, nel menu Ambiente, seleziona Componenti aggiuntivi Ottieni pacchetti di supporto hardware Seleziona "Pacchetto di supporto MATLAB per hardware Arduino". Dovrai accedere al tuo account MATHWORKS
-Se l'installazione viene interrotta e si verificano successivi tentativi/errori falliti durante l'installazione del pacchetto hardware, trova ed elimina la cartella Arduino download sul disco rigido e ricomincia dall'inizio.
Materiale necessario
1.) Computer portatile o desktop
2.) Scheda Arduino SparkFun
3.) Sensore flessibile
4.) Potenziometro
5.) Schermo LCD
6.) Luce LED
7.) Kit dell'inventore di SparkFun (trova online)
8.) Cavo USB e mini USB
9.) Ponticelli
10.) Cicalino piezoelettrico
Passaggio 2: connettiti al tuo Arduino e determina la porta COM
(La tua porta COM potrebbe cambiare ogni volta che esegui il plug-in) Collega il cavo USB Arduino al computer e la mini USB alla scheda Arduino. Potrebbe essere necessario attendere alcuni minuti per il download dei driver.
Per determinare la porta COM:
Su PC
Metodo 1: in MATLAB usa il comando - fopen(serial('nada'))
-per determinare la tua porta com. Potresti ricevere un errore come questo: Errore durante l'utilizzo di serial/fopen (line 72) Apertura fallita: Porta: NADA non disponibile. Porte disponibili: COM3. Questo errore indica che la tua porta è 3.
-Se il Metodo 1 non riesce sul tuo PC, apri Gestione dispositivi ed espandi l'elenco Porte (COM e LPT). Prendere nota del numero sulla porta seriale USB. per esempio. 'Porta seriale USB (COM*)' Il numero della porta è * qui.
-Se non viene visualizzata alcuna porta, chiudi MATLAB e riavvia il computer. Apri MATLAB e prova di nuovo fopen(serial('nada')).
-Se non riesce, potrebbe essere necessario scaricare i driver di SparkFun dal file CDM_v2.12.00_WHQL_Certified.exe, aprire ed eseguire il file CDM_v2.12.00_WHQL_Certified.exe e selezionare Estrai. (Potrebbe essere necessario aprire il file da Explorer, fare clic con il tasto destro e "Esegui come amministratore").
-Nella finestra di comando MATLAB creare un oggetto Arduino - a=arduino('comx', 'uno'); % x è il tuo numero di porta dall'alto per i PC (senza zeri precedenti!)
Su un Mac
Metodo 1: dalla riga di comando di MATLAB o in un terminale Mac e digitare: 'ls /dev/tty.*' Prendere nota del numero di porta elencato per dev/tty.usbmodem* o dev/tty.usbserial*. Il numero di porta è * qui.
-Se il Metodo 1 non riesce sul tuo MAC, potrebbe essere necessario
-Esci da MATLAB
-Chiudi il software Arduino e scollega il cavo USB Arduino
-install Java 6 Runtime
-installa l'estensione del kernel del driver USB
-Riavvia il tuo computer
-Ricollegare il cavo USB Arduino
-Esegui dalla riga di comando di MATLAB o dal terminale Mac: ls /dev/tty.*
-Prendere nota del numero di porta elencato per dev/tty.usbmodem* o dev/tty.usbserial*. Il numero della porta è * qui.
-Nella finestra di comando MATLAB creare un oggetto Arduino - a=arduino('/dev/tty.usbserial*', 'uno'); % * è il tuo numero di porta dall'alto per i MAC o '/dev/tty.usbmodem*'
Passaggio 3: codice Matlab
Ingressi:
1.) Sensore flessibile
2.) Potenziometro
Uscite:
1.) Schermo LCD con messaggio che recita "Treno in arrivo"
2.) Luce LED
3.) Cicalino piezo
In questo passaggio, costruiremo il codice che analizzerà gli input dalla scheda Arduino e fornirà output basati sui risultati dell'analisi di MATLAB. Il seguente codice consentirà di svolgere diverse funzioni: all'azionamento del potenziometro, il buzzer piezo emetterà frequenze alternate e il LED rosso lampeggerà. Quando un treno non viene rilevato, il LED verde si accende. Quando il sensore Flex viene attivato, il LED avidità si spegnerà, il LED rosso si illuminerà e il display LCD visualizzerà un messaggio che dice "Treno in arrivo".
Codice MATLAB:
%remery1, shornsb1, wmurrin
%Scopo: avviso di treno
%Input:potenziometro, sensore di flessione
% output: lcd, suono, luce
%Se la scheda non è inizializzata o ha problemi di connessione, eseguire il
% sotto i comandi nei commenti. Non è necessario eseguirli ogni volta
%cancella tutto
%chiudi tutto
%clc
%a=arduino('/dev/tty.usbserial-DN01DXOM', 'uno');
%lcd = addon(a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
%Configura la scheda una volta collegata
configurePin(a, 'D8', 'pullup');%configure D8
configurePin(a, 'D9', 'PWM');%configure D9
tempo=50; %imposta il tempo a 50
clearLCD(lcd) %inizializza LCD
%Avvia ciclo
mentre tempo>0
%La tensione del sensore Flex determina se la luce è verde o se è luce
%è rosso e il display LCD visualizza "treno in arrivo"
flex_status = readVoltage(a, 'A0'); % leggere la tensione del sensore flessibile
se flex_status>4 %se la tensione è maggiore di 4, trigger loop
writeDigitalPin(a, 'D12', 0) %spegni il verde
writeDigitalPin(a, 'D11', 1) %accendi rosso
printLCD(lcd, 'Treno in arrivo') %display "treno in arrivo" su LCD
pausa(5) %Attendi 5 secondi
clearLCD(lcd) %Cancella messaggio da LCD
writeDigitalPin(a, 'D11', 0) %Spegni il LED rosso
altro
fine
pe_status = readVoltage(a, 'A2'); %Leggi la tensione del potenziometro
se pe_status>2 %se la tensione è maggiore di 2, trigger loop
writeDigitalPin(a, 'D13', 1);%accendi il LED rosso
playTone(a, 'D9', 400,.25);% Riproduci 400Hz sul cicalino piezo,.25 sec
writeDigitalPin(a, 'D13', 0)%spegni il LED rosso
pausa(.25)%attesa.25 secondi
writeDigitalPin(a, 'D13', 1) %Ripeti sopra, con buzzer a 200Hz
playTone(a, 'D9', 200,.25);
writeDigitalPin(a, 'D13', 0)
pausa(.25)
writeDigitalPin(a, 'D13', 1);%Ripeti sopra
playTone(a, 'D9', 400,.25);
writeDigitalPin(a, 'D13', 0)
pausa(.25)
writeDigitalPin(a, 'D13', 1)
playTone(a, 'D9', 200,.25);
writeDigitalPin(a, 'D13', 0)
pausa(.25)
writeDigitalPin(a, 'D13', 1) %Ripeti sopra
playTone(a, 'D9', 400,.25);
writeDigitalPin(a, 'D13', 0)
pausa(.25)
writeDigitalPin(a, 'D13', 1)
playTone(a, 'D9', 200,.25);
writeDigitalPin(a, 'D13', 0)
pausa(.25)
writeDigitalPin(a, 'D13', 1) %Ripeti sopra
playTone(a, 'D9', 400,.25);
writeDigitalPin(a, 'D13', 0)
pausa(.25)
writeDigitalPin(a, 'D13', 1)
playTone(a, 'D9', 200,.25);
writeDigitalPin(a, 'D13', 0)
pausa(.25)
altro
writeDigitalPin(a, 'D12', 1)%se la tensione è inferiore a 2, accende il LED verde
writeDigitalPin(a, 'D13', 0)%giro del LED rosso
fine
fine
Passaggio 4: cablaggio del sensore flessibile
Materiale necessario
1.) 1 sensore flessibile
2.) 1 resistore da 10K Ohm
3.) 8 cavi di collegamento
*Fare riferimento alle immagini, rispettivamente.
In questo circuito, misureremo la flessione. Un sensore flessibile utilizza il carbonio su una striscia di plastica per agire come un resistore variabile, ma invece di cambiare la resistenza ruotando una manopola, si cambia flettendo il componente. Un divisore di tensione per rilevare il cambiamento di resistenza. Nel nostro caso, utilizzeremo il sensore flex per rilevare un treno in transito per comandare a uno schermo LCD (vedi foto) di leggere un messaggio che dice "Treno in arrivo".
*Nelle immagini che mostrano le istruzioni per il cablaggio di un Flex Sensor, fare riferimento solo ai fili relativi al cablaggio del Flex Sensor. Ignorare il cablaggio per il servo.
Collegare i pin come segue:
Passaggio 1: sulla scheda Arduino nella sezione POWER, collegare 1 filo all'ingresso 5V e 1 filo all'ingresso GND (terra). Collegare l'altra estremità del cavo da 5 V a un ingresso positivo (+) sulla scheda del circuito. Collegare l'altra estremità del filo GND a un ingresso negativo (-) sulla scheda del circuito.
Passaggio 2: sulla scheda Arduino nella sezione ANALOG IN, collegare 1 all'ingresso A0. Collegare l'estremità di quel filo all'ingresso j20 sulla scheda del circuito.
Passaggio 3: sulla scheda Arduino nella sezione DIGITAL I\O, collegare 1 filo all'ingresso 9. Collegare l'altra estremità all'ingresso a3.
Passaggio 4: sulla scheda del circuito, collegare 1 filo a un ingresso positivo (+). Collegare l'altra estremità all'ingresso h24.
Passaggio 5: sulla scheda del circuito, collegare 1 filo a un ingresso negativo (+). Collegare l'altra estremità all'ingresso a2.
Passaggio 6: sulla scheda del circuito, collegare 1 filo a un ingresso negativo (-). Collegare l'altra estremità all'ingresso b1.
Passaggio 7: sulla scheda del circuito, collegare 1 filo a un ingresso negativo (-). Collegare l'altra estremità all'ingresso i19.
Passaggio 8: sulla scheda del circuito, posizionare la resistenza negli ingressi i20 e i24.
*L'ultima immagine si riferisce alle applicazioni del mondo reale.
Passaggio 5: collega Arduino a LCD
*Segui questo link (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) e poi fai riferimento ai passaggi che ho fornito di seguito per collegare un LCD a un Arduino:
Passaggio 1: apri il file zip
Passaggio 2: apri il file Leggimi e segui le istruzioni
Materiale necessario
1.) LCD 16x2 simile a questo dispositivo di SparkFun -
2.) Ponticelli
*Fare riferimento alle immagini, rispettivamente.
Questo passaggio mostrerà come creare una libreria aggiuntiva LCD e visualizzare "Train Coming" su un LCD.
Collegare i pin come segue:
Pin LCD -> Pin Arduino
1 (VSS) -> Terra
2 (VDD) -> 5V
3 (V0) -> Pin centrale sul sensore Flex
4 (RS) -> D7
5(R/W) -> Terra
6 (E) -> d6
11 (DB4) - D5 (PWM)
12 (DB5) -> D4
13 (DB6) -> D3 (PWM)
14 (DB7) -> D2
15 (LED+) -> 5 V
16 (LED-) -> Terra
Passaggio 6: collegamento del potenziometro morbido
Materiale necessario
1.) 1 LED
2.) 1 potenziometro morbido
3.) Cavi dei ponticelli
4.) Resistenza da 3 330 Ohm
5.) Resistenza da 10K Ohm
*Fare riferimento alle immagini, rispettivamente.
In questo circuito, useremo un altro tipo di resistore variabile, un potenziometro morbido. Questa è una striscia sottile e flessibile in grado di rilevare dove viene applicata la pressione. Premendo su varie parti della striscia è possibile variare la resistenza da 100 a 10 K ohm. Puoi usare questa capacità per tracciare il movimento sul potenziometro o come un pulsante. In questo circuito, avremo il potenziometro morbido attivo e funzionante per controllare un LED RGB.
Passaggio 1: sulla scheda Arduino nella sezione DIGITAL I\O, collegare 1 pin all'ingresso 10 e 1 pin all'ingresso 11. Rispettivamente, collegare l'altra estremità di quei pin agli ingressi h6 e h7.
Passaggio 2: sulla scheda del circuito, collegare il LED agli ingressi a4, a5, a6 e a7.
Passaggio 3: sulla scheda del circuito, posizionare i resistori da 3 330 ohm negli ingressi e4-g4, e6-g6 e e7-g7.
Passaggio 4: sulla scheda del circuito, collegare 1 pin all'ingresso e5. Collega l'altra estremità di quel pin a un ingresso negativo (-).
Passaggio 5: sulla scheda del circuito, posizionare la resistenza da 10K ohm negli ingressi i19-negativo (-).
Passaggio 6: sulla scheda del circuito, collegare 1 pin a j18. Collega l'altra estremità di quel pin a un ingresso positivo (+).
Passaggio 7: sulla scheda del circuito, collegare 1 pin all'ingresso j20. Collega l'altra estremità di quel pin a un ingresso negativo (-).
Passaggio 7: prova i tuoi miglioramenti su un sistema Smart Rail
A questo punto, il tuo codice MATLAB dovrebbe essere funzionante e la scheda Arduino dovrebbe essere collegata accuratamente insieme a tutti i componenti aggiunti. Provalo su un sistema Smart Rail certificato e verifica se i tuoi miglioramenti rendono il sistema più sicuro.
Consigliato:
Come installare Raspberry PI 4 Headless (VNC) con Rpi-imager e immagini: 7 passaggi (con immagini)
Howto: installazione di Raspberry PI 4 Headless (VNC) con Rpi-imager e immagini: ho intenzione di utilizzare questo Rapsberry PI in una serie di progetti divertenti nel mio blog. Sentiti libero di dare un'occhiata. Volevo tornare a usare il mio Raspberry PI ma non avevo una tastiera o un mouse nella mia nuova posizione. Era un po' che non installavo un Raspberry
Intelligenza artificiale e riconoscimento delle immagini con HuskyLens: 6 passaggi (con immagini)
Intelligenza artificiale e riconoscimento delle immagini con HuskyLens: Ehi, come va, ragazzi! Akarsh qui da CETech. In questo progetto, daremo un'occhiata all'HuskyLens di DFRobot. È un modulo fotocamera basato sull'intelligenza artificiale in grado di eseguire diverse operazioni di intelligenza artificiale come Face Recognitio
Riconoscimento delle immagini con schede K210 e Arduino IDE/Micropython: 6 passaggi (con immagini)
Riconoscimento immagine con schede K210 e Arduino IDE/Micropython: ho già scritto un articolo su come eseguire demo OpenMV su Sipeed Maix Bit e ho anche realizzato un video di demo di rilevamento oggetti con questa scheda. Una delle tante domande che le persone hanno posto è: come posso riconoscere un oggetto che la rete neurale non è tr
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino - Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero - Elicottero Rc - Aereo RC con Arduino: 5 passaggi (con immagini)
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino | Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero | Elicottero Rc | Aereo radiocomandato con Arduino: per far funzionare un'auto radiocomandata | Quadricottero | Drone | Aereo RC | Barca RC, abbiamo sempre bisogno di un ricevitore e trasmettitore, supponiamo che per RC QUADCOPTER abbiamo bisogno di un trasmettitore e ricevitore a 6 canali e quel tipo di TX e RX è troppo costoso, quindi ne faremo uno sul nostro
Come smontare un computer con semplici passaggi e immagini: 13 passaggi (con immagini)
Come smontare un computer con semplici passaggi e immagini: questa è un'istruzione su come smontare un PC. La maggior parte dei componenti di base sono modulari e facilmente smontabili. Tuttavia è importante che tu sia organizzato al riguardo. Questo ti aiuterà a non perdere parti e anche a rendere più facile il rimontaggio