Sommario:
- Passaggio 1: l'elenco delle parti
- Passaggio 2: collegamento delle parti elettroniche
- Passaggio 3: codice mega Arduino
- Passaggio 4: test della presa automatica
- Passaggio 5: presa automatica ad attivazione vocale
Video: Presa automatica utilizzando un sensore laser e comandi vocali: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Afferrare oggetti che ci sembrano cosa semplice e naturale da fare è in realtà un compito complesso. L'uomo usa il senso della vista per determinare la distanza dall'oggetto che vuole afferrare. La mano si apre automaticamente quando si trova nelle immediate vicinanze dell'oggetto da afferrare e poi si chiude rapidamente per afferrare bene l'oggetto. Ho utilizzato questa tecnica in modo semplificato in questo mini progetto, ma al posto della fotocamera ho utilizzato un sensore laser per stimare la distanza dell'oggetto dalla pinza e dei comandi vocali per il controllo.
Passaggio 1: l'elenco delle parti
In questo piccolo progetto avrai bisogno solo di alcune delle parti elencate di seguito. Come controller ho usato Arduino mega 2560 ma puoi anche usare UNO o qualsiasi altro Arduino. Come sensore di distanza ho utilizzato un sensore laser VL53L0X che ha una buona precisione (circa qualche millimetro) e una portata fino a 2 metri. In questo progetto puoi usare per testare qualsiasi pinza e servo ma dovresti alimentarlo da una fonte di alimentazione separata, ad esempio: un alimentatore 5V o una batteria LiPo (7,4V o 11,1V) attraverso un convertitore step-down che riduce la tensione a 5V.
Parti necessarie in questo progetto:
- VL53L0X Sensore ToF laser x1
- Servo digitale x1
- Arduino mega 2560 x1
- Pinza robot in metallo x1
- Tagliere x1
- Pulsante tattile x1
- Bluetooth HC-06
- Resistenza 10k x1
- Alimentazione 5V/2A
Versione estesa:
- Modulo sensore monitoraggio corrente CJMCU-219 x1
-
Scheda di sviluppo driver LED RGB WS2812 x1
Passaggio 2: collegamento delle parti elettroniche
La prima figura mostra tutte le connessioni necessarie. Nelle foto seguenti è possibile vedere i prossimi passaggi di collegamento dei singoli moduli. All'inizio, il pulsante era collegato al pin 2 di Arduino, quindi il servo al pin 3 e infine il sensore di distanza laser VL53L0X tramite bus I2C (SDA, SCL).
Le connessioni dei moduli elettronici sono le seguenti:
Sensore laser VL53L0X -> Arduino Mega 2560
- SDA - SDA
- SCL - SCL
- VCC - 5V
- GND - GND
Servo -> Arduino Mega 2560
Segnale (filo arancione) - 3
Servo -> Alimentazione 5V/2A
- GND (filo marrone) - GND
- VCC (filo rosso) - 5V
Pulsante -> Arduino Mega 2560
- Pin 1 - 3.3 o 5V
- Pin 2 - 2 (e attraverso il resistore da 10k a terra)
Bluetooth (HC-06) -> Arduino Mega 2560
- TXD - TX1 (19)
- RXD - RX1 (18)
- VCC - 5V
- GND - GND
Passaggio 3: codice mega Arduino
Ho preparato i seguenti programmi Arduino di esempio disponibili sul mio GitHub:
- VL53L0X_gripper_control
- Voice_VL53L0X_gripper_control
Il primo programma denominato "VL53L0X_gripper_control" svolge il compito di presa automatica di un oggetto che è stato rilevato dal sensore laser VL53L0X. Prima di compilare e caricare il programma di esempio, assicurati di aver scelto "Arduino Mega 2560" come piattaforma di destinazione come mostrato sopra (Arduino IDE -> Strumenti -> Scheda -> Arduino Mega o Mega 2560). Il programma Arduino controlla nel ciclo principale - "void loop()" se è arrivata la nuova lettura dal sensore laser (funzione readRangeContinuousMillimeters()). Se la distanza letta dal sensore "distanza_mm" è maggiore del valore "THRESHOLD_CLOSING_DISTANCE_FAR" o minore di "THRESHOLD_CLOSING_DISTANCE_NEAR" allora il servo inizia a chiudersi. In altri casi, inizia ad aprirsi. Nella parte successiva del programma, nella funzione "digitalRead(gripperOpenButtonPin)", lo stato del pulsante viene costantemente controllato e se viene premuto la pinza si aprirà nonostante sia chiusa per la vicinanza dell'oggetto (distanza_mm è inferiore a THRESHOLD_CLOSING_DISTANCE_NEAR).
Il secondo programma "Voice_VL53L0X_gripper_control" permette di controllare la pinza tramite comandi vocali. I comandi vocali vengono elaborati dall'app BT Voice Control per Arduino da Google Play e ulteriormente inviati tramite bluetooth ad Arduino. Il programma Arduino controlla nel ciclo principale - "void loop()" se il nuovo comando (carattere) è stato inviato dall'app Android tramite bluetooth. Se c'è un carattere in arrivo dalla seriale bluetooth, il programma legge i dati seriali fino a quando non incontra la fine dell'istruzione vocale "#". Quindi avvia l'esecuzione della funzione "void processInput() " e in base al comando vocale viene chiamata una specifica funzione di controllo.
Passaggio 4: test della presa automatica
Il video di "Step 1" mostra i test della pinza robot basata sul programma della sezione precedente "Arduino Mega Code". Questo video mostra come si apre automaticamente quando l'oggetto è vicino e poi afferra questo oggetto se è a portata di mano della pinza. Il feedback dal sensore di distanza laser utilizzato qui è chiaramente visibile nella parte successiva del video quando sposto la bottiglia avanti e indietro, cosa che provoca una reazione rapida e un cambio di controllo della pinza.
Passaggio 5: presa automatica ad attivazione vocale
Nella fase successiva dello sviluppo di questo progetto, ho aggiunto il controllo vocale. Grazie al comando vocale posso controllare la chiusura, l'apertura e la velocità della pinza. Il controllo vocale in questo caso è molto utile quando si apre la pinza che tiene l'oggetto. Sostituisce il pulsante e permette un facile controllo della pinza posta sul robot mobile.
Se ti piace questo progetto non dimenticare di votare e scrivere nel commento cosa vorresti vedere nel prossimo post come ulteriore miglioramento di questo progetto:) Dai un'occhiata ai miei altri progetti relativi alla robotica, visita:
- Youtube
- il mio sito web
Consigliato:
Misurazione della temperatura automatica e informazioni vocali: 5 passaggi (con immagini)
Misurazione della temperatura automatica e informazioni vocali: di recente, il mondo intero sta lottando con il virus Covid19. Il primo controllo per le persone colpite (o sospettate di essere colpite) è la misurazione della temperatura corporea. Quindi questo progetto è fatto per modellare in grado di misurare automaticamente la temperatura corporea e informare tramite vo
Gioco di vocali con Arduino e modulo MP3 YX5300 Catalex: 13 passaggi
Gioco di vocali con Arduino e modulo MP3 YX5300 Catalex: sei in grado di leggere questa domanda? Quello è strano! Ho fatto questa domanda apposta. Se riesci a leggere questo testo, è perché conosci l'intero alfabeto e, naturalmente, hai imparato tutte le vocali. Le vocali sono presenti in tutte le parole. È impossibile t
Creazione di file utilizzando i comandi DOS di Windows: 16 passaggi
Creazione di file utilizzando i comandi DOS di Windows: Questo ti insegnerà come utilizzare alcuni comandi di base di Windows DOS. Navigheremo sul nostro desktop, creeremo una cartella e creeremo un file all'interno di quella cartella
Come attivare/disattivare il Wi-Fi utilizzando il prompt dei comandi!!: 4 passaggi
Come attivare/disattivare il Wi-Fi utilizzando il prompt dei comandi !!: Questo Instructable ti mostrerà come attivare o disattivare il Wi-Fi sul tuo computer utilizzando il prompt dei comandi Iscriviti al mio canale Grazie
Presa ON/OFF automatica: 4 passaggi (con immagini)
Presa ON / OFF automatica: questo Instructable riguarda la luce notturna automatica. La presa si accende durante la notte e si spegne quando i raggi di luce cadono su di essa. Questo è dotato di interruttore di bypass per azionare direttamente la presa Spia di indicazione di stato Versatile funzionamento a 5 V