# Seguire la linea (scuola media)

In questo tutorial vedremo come far seguire una linea dal robot mBot2.
La programmazione del robot sarà fatta a blocchi con mBlock5.

## Oggetti necessari

* Un robot mBot2.
* Un cavo USB, tipo C, per permettere un collegamento tra il robot e il proprio PC.
* Sull'mBot2 è montato il sensore quad color RGB, sotto il robot nella parte anteriore. Il sensore quad color è una evoluzione del sensore seguilinea, presente sull'mBot1.
* Un foglio su cui tracciare una linea da far percorrere. Nella confezione dell'mbot2 è presente una pista di prova.
* Un pc con installato il programma mBlock 5, oppure, per linux, con chrome per utilizzare mBlock5 online, oppure un teblet Android o un iOS con la app mBlock5.

## Programma da utilizzare

Come già citato il programma consigliato è mBlock5, oltre ad essere ottimizzato per la gestione a blocchi, permette, per chi è più navigato nel linguaggio informatico, di programmare in Python.
mBlock5 può essere scaricato da mblock.makeblock.com ed installato sui pc con sistemi operativi windows e macOS o come app su Android o iOS, mentre su linux si può usare online con Chrome da ide.mblcok.cc.
Per interfacciare, nel caso di linux solo via usb, lo mBot2 con il pc si deve seguire la procedura per installare mlink spigata qui Software libero a scuola/Mbot2. L'mbot2 si può programmare in modalità live, cioè facendogli eseguire direttamente il codice assemblato sul device, oppure caricando (upload) il codice sul robot. Nel caso di una connessione via usb il filo potrebbe rivelarsi un impedimento per la modalità live.

## Estensioni necessarie

Per scrivere il codice del programma Segui linea, si devono aggiungere due estensioni:
* mBot2 shield che aggiunge due insieme di blocchi che servono a far muovere il robot e a governare i motori. Nela barra dei blocchi compariranno le sezioni
** mBot2 Chassis
** mbot2 Extension Port
entrambe con blocchi di colore blu. Manuale mBot2 shield
* Quad RGB Sensor (beta) che aggiunge un insieme di blocchi per rilevare sfondi, linee e colori
** Quad RGB Sensor con blocchi di colore verde
Manuale mBot2 RGB sensor
entrambe le estensioni, così come tutte le altre, si aggiungono cliccando sulla voce extension in fondo alla barra dei blocchi

## Osservazioni iniziali

A bordo dell'mbot2 ci sono alcuni programmi preinstallati, tra questi c'è un seguilinea: mbot2_demo1.
* mbot2_demo1 seguilinea
* Mbot2 Demo Segui Linea
* Mbot2 Segui Linea Tasti
Video mbot2_demo1: mattruffoni, mbot2 line follower demo, su YouTube, 21 ago 2023. L'obbiettivo di questo tutorial è quello di comporre il codice a blocchi necessario per far muovere l'mbot2 come nel video.

## Un primo codice

Dopo aver letto la guida del RGB Sensor ed aver individuato come seguilinea i sensori L1 e R1 abbiamo si può procedere a comporre questo codice.

### Modalità live o upload

Purtroppo, e dopo averlo verificato più volte, ci si accorge che il robot ha comportamenti diversi in modalità live, non è abbastanza reattivo nei cambi di direzione e quindi non segue la linea, piuttosto che se il codice viene caricato, upload, sul robot, nel qual caso, seppure in modo non proprio fluido, il codice caricato fa in modo che il robot segua la linea.

### Il risultato

Video Mbot2 mblock segui linea rudimentale: mattruffoni, Seguilinea rudimentale, su YouTube, 20 ago 2023.