Sommario:
- Passaggio 1: collegamento delle parti elettroniche
- Passaggio 2: utilizzo dell'app di controllo Android
- Passaggio 3: interfaccia aperta di Roomba negli esempi
- Passaggio 4: webcam remota RPi
- Passaggio 5: piani per ulteriori sviluppi
- Passaggio 6: collegamento delle parti elettroniche - versione 2 con involucro
Video: Ispettore Roomba: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
La maggior parte di noi usa i robot iRobot Roomba solo per aspirare, ma pochi sanno che è un'ottima base per nuovi progetti robotici. Tutti i produttori dovrebbero provare Roomba Open Interface (OI) per scoprire quanto sia facile controllare questo robot. In queste istruzioni imparerai come aggiungere alcune funzioni utili al tuo Roomba. All'inizio descriverò come controllare a distanza Roomba tramite bluetooth e app Android. Successivamente ti mostrerò come eseguire lo streaming video basato su RPi e infine illustrerò il piano per l'ulteriore sviluppo di questo progetto.
Parti necessarie in questo progetto:
- Modulo bluetooth BTM-222 o altro funzionante a 115200 baud rate x1
- Regolatore di tensione step-down 5V D24V6F5 x1
- mini tagliere x1
- Qualche filo
versione con carter:
- Connettore mini DIN a 8 pin x1
- interruttore di alimentazione x1
- led 3mm x1
- resistenza 10k x1
- custodia piccola 50x40x20 mm x1
versione estesa:
- Raspberry Pi 3x1
- Dissipatore di calore in rame RPi x1
- Adattatore WiFi USB x1
- scheda micro SD da 8 GB o superiore x1
- Fotocamera RPi - Obiettivo fisheye x1
- Custodia per RPi x1
- Pacco batteria ad alta capacità 5V (almeno 10 Ah) x1
- Un pezzo di staffa di plastica x1
- Dadi e bulloni M2 x4
Passaggio 1: collegamento delle parti elettroniche
Questa volta, questo passaggio è molto semplice perché abbiamo solo bisogno di collegare due moduli per poter controllare il nostro Roomba. Il primo è un modulo Bluetooth che può funzionare a 115200 bps. Il secondo è il regolatore di tensione step-down 5V D24V6F5. La batteria carica di Roomba ha una tensione di circa 14,4 V e il nostro modulo bluetooth necessita di 5 V, quindi è necessario ridurre la tensione della batteria al livello di 5 V utilizzando il regolatore di tensione. Il regolatore D24V6F5 ha un'efficienza tra l'80 e il 90% che è un ottimo rapporto qualità-prezzo rispetto ai classici regolatori lineari che tipicamente hanno un'efficienza inferiore al 40%. Il modo più semplice per collegare questi due moduli è metterli in mini breadboard e cablarli secondo lo schema elettrico come sopra. Inoltre, tutte le connessioni sono mostrate in foto numerate. Prestare attenzione durante il collegamento ai terminali della batteria. Un cortocircuito accidentale può danneggiare la batteria!
Passaggio 2: utilizzo dell'app di controllo Android
Ho sviluppato un'app per Android che ti consente di controllare il robot aspirapolvere Roomba serie 500 tramite bluetooth. Puoi scaricare la mia app gratuitamente da Google Play - Roomb Control. Funziona sia con smartphone che tablet.
Come utilizzare l'app Roomb Control:
- tocca l'angolo in alto a destra dello schermo (3 punti verticali)
- seleziona la scheda "Connetti"
- tocca la scheda "BTM222" e dopo un po' dovresti vedere il messaggio "Connesso a BTM222"
- dopo la connessione, puoi controllare Roomba
- se non vedi il tuo dispositivo bluetooth tocca il pulsante "Cerca dispositivi"
- al primo utilizzo del modulo bluetooth ricordati di associarlo allo smartphone inserendo il codice predefinito fornito nelle specifiche del modulo bluetooth
Passaggio 3: interfaccia aperta di Roomba negli esempi
In questo passaggio troverai esempi di comandi comuni utilizzati per controllare Roomba serie 500. Puoi trovare maggiori informazioni su Roomba Open Interface in questo documento.
Roomba 500+ può funzionare in una delle quattro modalità:
- La modalità completa ti dà il controllo completo su Roomba (nessuna restrizione di sicurezza come è per la modalità sicura e passiva)
-
La modalità provvisoria introduce alcune eccezioni relative alla sicurezza quando non è possibile controllare tutti gli attuatori:
- rilevamento della caduta di una ruota
- rilevamento di una scogliera durante lo spostamento in avanti o indietro
- caricatore collegato e alimentato
- La modalità passiva consente di richiedere e ricevere i dati del sensore, ma in questa modalità non è possibile controllare gli attuatori Roomba (motori, luci, altoparlanti)
- Modalità off alla prima accensione o dopo il cambio della batteria (in attesa del comando Start)
Una modalità operativa sicura e completamente funzionale è la modalità provvisoria, che è la modalità preferita per il controllo remoto. Per eseguire prima la modalità provvisoria, è necessario inviare il comando 128 che avvia l'interfaccia aperta e quindi il comando 130 (o 131) per mettere Roomba in modalità provvisoria. Se vogliamo eseguire una delle modalità di pulizia integrate (clean, spot, dock, ecc.) dovremmo inviare il terzo comando con il codice appropriato (Clean-135, Spot-134, Dock-143). La sequenza seriale completa per queste modalità è la seguente:
- Imposta modalità provvisoria - (128, 130)
- Punto - (128, 130, 134)
- Pulito - (128, 130, 135)
- Molo - (128, 130, 143)
Se Roomba è in modalità provvisoria, possiamo controllare le ruote motrici di Roomba utilizzando il comando 137. La sequenza seriale completa di 5 byte è la seguente: (137, byte alta velocità, byte bassa velocità, byte alto raggio, byte basso raggio). Esempi di sequenze seriali per il controllo del movimento Roomba:
- Vai avanti - (137, 100, 0, 128, 0)
- Torna indietro - (137, 254, 12, 128, 0)
- Gira a destra - (137, 100, 0, 255, 255)
- Gira a sinistra - (137, 100, 0, 0, 1)
In alternativa per controllare il movimento del robot possiamo usare il comando 146. Questo comando ci permette di controllare il PWM (Pulse-Width Modulation) per la ruota destra e sinistra: (146, byte alto PWM destro, byte basso PWM destro, byte alto PWM sinistro, PWM sinistro byte basso). Esempio di controllo PWM:
- Sposta in alto a destra - (146, 0, 130, 0, 255)
- Sposta in alto a sinistra - (146, 0, 255, 0, 130)
Il comando 139 controlla i colori dei LED. Possiamo cambiare il colore del LED Clean/Power impostando il valore di Color byte in sequenza seriale: (139, LED Bits, Color, Intensity). Se Color byte è impostato su 0, otteniamo il colore verde. Aumentando questo valore si ottengono i colori intermedi (arancione, giallo, etc) e il colore rosso per il valore massimo 255. Esempi di controllo dei LED:
- verde - (139, 0, 0, 128)
- arancione - (139, 0, 128, 128)
- rosso - (139, 0, 255, 128)
L'ultimo comando che vorrei menzionare è il comando 140 che ti permette di suonare semplici canzoni. Esempi di sequenze seriali per la riproduzione di brani:
- canzone 1 - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
- canzone 2 - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)
Passaggio 4: webcam remota RPi
Per poter visualizzare i video in streaming dalla telecamera su qualsiasi dispositivo connesso alla mia rete locale (PC, smartphone, tablet, ecc) ho installato il server webcam Motion. Puoi trovare i dettagli su come farlo in questo Instructable. I passaggi principali sono i seguenti:
- Modifica: sudo nano /etc/modules - aggiungi alla fine del file: bcm2835-v4l2
- Installa Motion: sudo apt-get install motion
- Apri il file motion.conf digitando: sudo nano /etc/motion/motion.conf e imposta i parametri video (es.: demone attivo, larghezza 640, altezza 480, framerate 30, webcam_localhost disattivato)
- Abilita il demone (servizio): sudo nano /etc/default/motion e trova e modifica start_motion_daemon=yes.
- Avvia servizio: sudo service motion start o sudo motion -n -c /etc/motion/motion.conf
- Ora apri il browser web sul tuo computer o smartphone e digita: RPi IP:8081 (dove "RPi IP" è l'IP del tuo Raspberry Pi e 8081 è la porta predefinita). Esempio: 192.168.1.14:8081. Se tutto funziona bene dopo un po' dovresti vedere la vista dalla tua fotocamera nel tuo browser web.
Passaggio 5: piani per ulteriori sviluppi
Attualmente il mio Roomba è dotato di un piccolo braccio robotico descritto in queste istruzioni. Questo braccio robotico può essere controllato a distanza tramite bluetooth dall'app Android. Nel passaggio successivo utilizzerò la vista dalla fotocamera per la presa remota e lo spostamento di oggetti nello spazio contrassegnato (operazione in modalità semi-autonoma).
Se vuoi vedere i miei altri progetti relativi alla robotica, visita:
- il mio sito web: www.mobilerobots.pl
- facebook: robot mobili
Passaggio 6: collegamento delle parti elettroniche - versione 2 con involucro
Se desideri costruire il tuo ricevitore rimovibile per controllare Roomba, questo passaggio aggiuntivo fa per te. Aggiungiamo qualche altro elemento e li chiuderemo tutti in un involucro sottile. Il componente principale di cui avremo bisogno in questo passaggio è un connettore mini DIN a 8 pin. Inoltre, avremo bisogno dell'interruttore di alimentazione e dell'indicatore basato su LED e resistore da 10k.
Ora non devi preoccuparti di sporgere i fili. Il ricevitore bluetooth è racchiuso in un piccolo alloggiamento con dimensioni di 50x40x20 mm. Quando non si desidera utilizzarlo, è possibile rimuoverlo facilmente dal Roomba tirando la spina mini DIN.
Consigliato:
Roomba Bot the Bulider: 5 passaggi (con immagini)
Roomba Bot the Bulider: Bot the Builder è un roomba, che con "grabber" attaccato alla parte anteriore sarà in grado di spostare gli oggetti. Il codice con esso è impostato per registrare il primo movimento con una finestra GUI che puoi controllare con un semplice clic del mouse. dopo
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
Robot Roomba controllato dal browser con il modello Raspberry Pi 3 A+: 6 passaggi (con immagini)
Robot Roomba controllato dal browser con Raspberry Pi Model 3 A+: PanoramicaQuesto Instructable si concentrerà su come dare a un Roomba morto un nuovo cervello (Raspberry Pi), occhi (Webcam) e un modo per controllare tutto da un browser web. Esistono molti hack di Roomba che consentono il controllo tramite l'interfaccia seriale. Non ho
Roomblock: una piattaforma per l'apprendimento della navigazione ROS con Roomba, Raspberry Pi e RPLIDAR: 9 passaggi (con immagini)
Roomblock: una piattaforma per l'apprendimento della navigazione ROS con Roomba, Raspberry Pi e RPLIDAR: cos'è questo?"Roomblock" è una piattaforma robotica composta da un Roomba, un Raspberry Pi 2, un sensore laser (RPLIDAR) e una batteria mobile. Il telaio di montaggio può essere realizzato con stampanti 3D. Il sistema di navigazione ROS consente di creare una mappa delle stanze e utilizzare i
Roomba con MATLAB: 4 passaggi (con immagini)
Roomba con MATLAB: questo progetto utilizza MATLAB e un robot programmabile iRobot Create2. Mettendo alla prova la nostra conoscenza di MATLAB, siamo in grado di programmare Create2 per interpretare le immagini e rilevare i segnali. La funzionalità del robot dipende principalmente dal