Sommario:

Ispettore Roomba: 6 passaggi (con immagini)
Ispettore Roomba: 6 passaggi (con immagini)

Video: Ispettore Roomba: 6 passaggi (con immagini)

Video: Ispettore Roomba: 6 passaggi (con immagini)
Video: Le raccomandazioni della mamma 🤣 2024, Luglio
Anonim
Image
Image
Collegamento di parti elettroniche
Collegamento di parti elettroniche

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:

  1. Modulo bluetooth BTM-222 o altro funzionante a 115200 baud rate x1
  2. Regolatore di tensione step-down 5V D24V6F5 x1
  3. mini tagliere x1
  4. Qualche filo

versione con carter:

  1. Connettore mini DIN a 8 pin x1
  2. interruttore di alimentazione x1
  3. led 3mm x1
  4. resistenza 10k x1
  5. custodia piccola 50x40x20 mm x1

versione estesa:

  1. Raspberry Pi 3x1
  2. Dissipatore di calore in rame RPi x1
  3. Adattatore WiFi USB x1
  4. scheda micro SD da 8 GB o superiore x1
  5. Fotocamera RPi - Obiettivo fisheye x1
  6. Custodia per RPi x1
  7. Pacco batteria ad alta capacità 5V (almeno 10 Ah) x1
  8. Un pezzo di staffa di plastica x1
  9. Dadi e bulloni M2 x4

Passaggio 1: collegamento delle parti elettroniche

Collegamento di parti elettroniche
Collegamento di parti elettroniche
Collegamento di parti elettroniche
Collegamento di parti elettroniche
Collegamento di parti elettroniche
Collegamento di 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

Image
Image
Utilizzo dell'app di controllo Android
Utilizzo dell'app di controllo Android
Utilizzo dell'app di controllo Android
Utilizzo dell'app di controllo Android
Utilizzo dell'app di controllo Android
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

Webcam remota RPi
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:

  1. Modifica: sudo nano /etc/modules - aggiungi alla fine del file: bcm2835-v4l2
  2. Installa Motion: sudo apt-get install motion
  3. 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)
  4. Abilita il demone (servizio): sudo nano /etc/default/motion e trova e modifica start_motion_daemon=yes.
  5. Avvia servizio: sudo service motion start o sudo motion -n -c /etc/motion/motion.conf
  6. 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

Piani per un ulteriore sviluppo
Piani per un ulteriore sviluppo
Piani per un ulteriore sviluppo
Piani per un ulteriore sviluppo
Piani per un ulteriore sviluppo
Piani per un ulteriore sviluppo
Piani per un ulteriore sviluppo
Piani per un ulteriore sviluppo

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

Collegamento delle parti elettroniche - Versione 2 con custodia
Collegamento delle parti elettroniche - Versione 2 con custodia
Collegamento delle parti elettroniche - Versione 2 con custodia
Collegamento delle parti elettroniche - Versione 2 con custodia
Collegamento delle parti elettroniche - Versione 2 con custodia
Collegamento delle parti elettroniche - Versione 2 con custodia

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: