risorse | mbot vs. mbot2

mBot vs. mBot2

ATTENZIONE! Ho posto la massima cura ed attenzione nel redigere questi appunti; declino tuttavia ogni responsabilità per eventuali imprecisioni, errori od omissioni, così come declino ogni responsabilità per eventuali danni a cose, proprietà o persone derivanti dall’uso di questi contenuti.

Le considerazioni qui sotto rispecchiano lo stato delle cose a gennaio 2022. Considerando l’evoluzione degli strumenti software analizzati è assai probabile che diverranno obsolete entro poche settimane, al più mesi.

Ho avuto modo di utilizzare il robot mBot2 nel contesto di un corso di introduzione alla programmazione e alla robotica nei mesi di gennaio/febbraio 2022. Riporto qui alcune brevi e personali considerazioni circa le differenze tra questa versione del robot e la precedente che possiedo e ho utilizzato con profitto in alcuni RoboDojo.

Le scocche in allluminio dei due robot, a parte qualche piccolo dettaglio, risultano di fatto identiche seppure non intercambiabili. Anche le dimensioni e il peso sono comparabili. La differenza sostanziale la fa l’elettronica di controllo: se in mBot è costituita dalla sola scheda mCore, basata su Arduino, in mBot2 si suddivide tra il cervello vero e proprio costituito dal SBC (Single-board computer) CyberPi e dalla scheda ausiliaria mBot2 shield che contiene la batteria ricaricabile, i circuiti di controllo dei motori e qualche porta di espansione proprietaria.

L’esploso di mBot

L’esploso di mBot2

Tabella comparativa

mBot mBot2
Principale
Scheda di controllo mCore (Arduino) CyberPi
Programmazione Blocchi, C Blocchi, Python
Alimentazione LiPo/4 stilo AA Li-ion integrata
Prezzo indicativo 90€ 180€
Processore
CPU ATmega328P Xtensa 32-bit LX6 dual-core
Frequenza 16MHz 240MHz
Memoria
ROM - 448KB
Memoria Flash 32KB 8MB SPI + 8MB PSRAM
RAM Statica 2KB 520KB
EEPROM 1KB -
Multithreading No
Programmi memorizzabili 1 8
I/O
Interfaccia USB Sì (tipo B) Sì (tipo C)
Interfaccia Seriale No
Interfaccia SPI No
Interfaccia I2C No
Tecnologia Wireless Bluetooth o WiFi, I/R Bluetooth, WiFi, WiFi LAN
Porte di espansione 4 RJ25 1 mBuild(1), 2 generiche, 2 servo
Pulsanti
Joystick No
Generici 1 2
Reset 2
LED
LED 2 RGB 5 RGB (striscia LED)
Display - 1.44" 128×128 a colori
Attuatori
Audio Cicalino Altoparlante
Driver motori CC 2 2
Driver motori con encoder - 2
Sensori
Audio - Microfono
Sensore di luminosità
Accelerometero No
Giroscopio No
Sensore ultrasonico Si (con LED)
Sensore di linea B/N doppio (infrarossi) RGB quadruplo (luce visibile)

(1) consente il collegamento fino a 10 dispositivi in cascata.

(2) il tasto Home sospende l’esecuzione del programma corrente.

Uso e programmazione

All’avvio mBlock carica automaticamente la scheda CyberPi tra i dispositivi. mBot2 tuttavia richiede il caricamento di tre ulteriori estensioni: mBot2 Shield che contiene i blocchi di controllo dei motori, Ultrasonic Sensor 2 e Quad RGB Sensor per i due sensori montati sullo chassis del robot. In alternativa si può sostituire il dispositivo CyberPi con mBot2.

I comandi per i motori con encoder di mBot2 si trovano all’interno dell’area mBot2 Chassis e non vanno confusi con quelli presenti in mBot2 Extension Port che comandando invece i due motori in CC opzionalmente collegabili alla scheda di controllo di mBot2.

Display

Il dispay di CyberPi merita une menzione speciale perché a mio modo di vedere è il componente che offre l’interfaccia meno intuitiva tra tutti i componenti di mBot2. Supporta tre modalità distinte e mutuamente esclusive: testo, grafica e tabella. Le modalità vengono attivate automaticamente dai comandi, ad esempio l’esecuzione del comando print attiva la modalità di testo se non era già attivata.

La modalità di testo visualizza un flusso di testo definito da una sequenza di comandi print. Il font è predefinito e non modificabile, mentre la dimensione del testo è selezionabile tra small, middle, big e super big. La dimensione del testo è applicata a tutto il testo visualizzato, non è possibile visualizzare frammenti di testo con dimensioni diverse. La stessa considerazione vale per il colore del testo. Una volta raggiunto il margine inferiore del display il testo scorre automaticamente verso l’alto per fare spazio al nuovo.

La modalità grafica permette di visualizzare un diagramma a linee o barre, il primo con scorrimento orizzontale automatico. Il campo di variazione dei dati è prefissato a [0, 100]. È possibile realizzare grafici multi-traccia raggruppando i dati per colore, usando cioé il blocco set brush color prima di aggiungere un nuovo dato con line/bar chart, add data. Non esistono primitive per disegnare entità geometriche come punti, linee, poligoni o cerchi.

La modalità tabella mostra del testo in forma tabulare a grandezza fissa (middle) su una griglia grande al più 4×3 celle. Indipendentemente dalla modalità corrente è possibile visualizzare fino a 8 etichette di testo, ognuna caratterizzata da un colore e una dimensione del testo propria, che appaiono in sovraimpressione.

Differenze rispetto a mBot

Due sono le maggiori differenze tra i due robot:

Osservazioni

Ricordarsi di ricaricare periodicamente la batteria interna di mBot2:

If you store mBot2 Shield with the battery voltage lower than 3.6 V for a long time, the battery will be over-discharged and its internal structure may be damaged, which reduces the endurance of the battery. Therefore, to store mBot2 Shield for a long time while keeping the battery intact, you need to charge the battery once every three to six months to 3.8–3.9 V

Fonte: https://education.makeblock.com/help/mbot2-shield/


Durante le esercitazioni è stato necessario ricalibrare con una certa frequenza il sensore RGB del robot pena il mancato riconoscimento della linea (non solo i tratti colorati, ma anche le sezioni nere); forse la causa è da attribuire alle luci al neon dell’aula, forse al fatto che l’estensione del sensore di linea ad oggi è ancora in beta.

Pagina modificata il 26/02/2022