Coding a scuola con BBC micro:bit – contapassi

Negli scorsi mesi ho svolto numerose attività di formazione sull’uso di micro:bit per docenti e studenti, queste attività mi offrono la possibilità di modificare ed aggiungere nuovi contenuti alle schede che realizzai tempo fa e che trovate nella sezione: “Usare BBC micro:bit“.

In questo periodo sto svolgendo un’attività di formazione per i bambini di scuola elementare dell’Istituto Comprensivo di Vinovo (To), un’esperienza divertentissima ed estremamente creativa. I bambini mi permettono di ripensare e credo migliorare, la mia modalità di insegnare.

Durante l’ultima lezione ho mostrato come misurare le lunghezze utilizzando come unità di misura il passo, partendo dal Coding abbiamo parlato di geometria e misure di distanza.

Vi allego di seguito la scheda di lavoro, in cui trovate al fondo le proposte di esercizi e nell’ultima parte trovate un approfondimento dedicata però agli studenti di scuola media.

Scheda di lavoro – contapassi

Aggiungo inoltre la scheda relazione che consegnerò agli studenti nella prossima lezione in cui dovranno descrivere le fasi della sperimentazione ed eventuali osservazioni che possono essere fatte anche con disegni.

Relazione – contapassi

Buon Coding a tutti.

 

Articoli simili:

Pubblicato in corsi, micro:bit | Contrassegnato , , , , , , | Lascia un commento

Formazione Docenti Neoassunti a.s. 18/19 – Nuove Tecnologie e loro impatto nella Didattica

Nuove Tecnologie e loro impatto nella didattica, un corso per i colleghi neassunti di Torino, due giorni full immersion tra Coding, Applicativi Web per la progettazione didattica e la gestione della classe.

L’intervento è volto all’analisi delle innovazioni metodologiche apportate dalle Tecnologie della Comunicazione e dell’Informazione nel processo di insegnamento/apprendimento con ogni tipologia di allievo e nello specifico verranno offerte soluzioni pratiche da adottare in classe anche con studenti con necessità specifiche.

Temi principali:

  • Dove informarsi: strategie didattiche (flipped classroom, coding, learning design, etc…), tutorial e case history
  • Dove formarsi sull’uso delle tecnologie didattiche
  • Applicativi software (gratuiti) di base per la creazione del proprio network di apprendimento all’uso delle tecnologie didattiche.
  • Come progettare la propria presenza didattica on-line
  • Cercare sul web: strategie di ricerca su web. Esempi pratici ed esercizi per la ricerca mirata di contenuti didattici mediante i motori di ricerca.
  • Come si progetta la didattica, strategie e strumenti software per l’organizzazione del proprio lavoro.
  • Office automation cloud
  • Social learning

Il corso si svolgerà presso l’IIS Gobetti Marchesini – Casale Arduino Via Figlie dei Militari, 25 Torino

  • Mercoledì 13 marzo 2019
  • Venerdì 15 marzo 2019

dalle ore 15.00 alle ore17.30.

 

Articoli simili:

Pubblicato in corsi | Contrassegnato , , , , , , | Lascia un commento

Starter kit delle competenze digitali 5′ edizione

STARTER KIT DELLE COMPETENZE DIGITALI per il docente che vuole usare al meglio le tecnologie didattiche – 5’ edizione

Nuova edizione in 3 puntate del corso in webinar in cui fornisco indicazioni e risorse utili per utilizzare sistemi hardware e software per l’organizzazione e la progettazione didattica fornendo come sempre le migliori strategie per costruire un proprio percorso di apprendimento all’uso delle tecnologie didattiche. In ogni edizione perfeziono ed aggiungo risorse e proposte di esercizi modulando il tutto sulle esigenze degli utenti partecipanti.

Saranno svolti 3 incontri di 2 ore ciascuno per un totale di 6 ore:

  • Giovedì 14 marzo 2019 – dalle ore 17.00 alle 19.00
  • Mercoledì 20 marzo 2019 – dalle ore 17.00 alle 19.00
  • Lunedì 25 marzo 2019 – dalle ore 17.00 alle 19.00

Nel caso abbiate necessità di ulteriori informazioni sui contenuti del corso e procedere all’iscrizione seguire il link al sito di Tecnica della Scuola.

Articoli simili:

Pubblicato in corsi | Contrassegnato , , | Lascia un commento

Strumenti per le esercitazioni di automazione industriale – supporti ventole

Durante la scorsa settimana ho coinvolto i miei studenti della 3B Automazione dell’ITIS G.B. Pininfarina di Moncalieri in un’attività di Making a tempo 🙂

12 vecchi PC ormai alienati da disassemblare integralmente da cui estrarre e catalogare elementi da utilizzare nelle esercitazioni di automazione industriale con microcontrollori e PLC.

2 ore di tempo per recuperare:

  • ventole di raffreddamento processore e PC
  • recupero motori passo passo dai DVD
  • alimentatore computer
  • pulsanti
  • altoparlanti e buzzer
  • elementi meccanici
  • e molto altro

tutto pronto per dar vita a nuove attività.

Studenti fantastici, hanno smontato tutto e ripulito i banchi di lavoro in 1 ora e 40 min. Bravi!

Comandare la marcia e l’arresto, velocità di rotazione e il senso di rotazione di un motore elettrico è argomento fondamentale che viene svolto nel percorso di automazione, quindi considerando che i laboratori del nostro istituto sono esposti al sole e la primavera è alle porte, meglio affrontare questo argomento utilizzando le ventole recuperate dai vecchi PC, probabilmente gli studenti saranno più invogliati ad imparare:

  • imparo allora mi rifresco
  • non imparo e sudo

un ventilatore per ogni studente!
… sembra uno slogan politico 🙂

per rendere pratico l’uso delle ventole sul banco di lavoro, ho realizzato i supporti che sostengono la ventola con inclinazione di 15°.

Le stesse ventole potrebbero essere utilizzate per aspirare i fumi di saldatura su PCB.

Il supporto di cui vi condivido i sorgenti per la stampa 3D è pensato per ventole da 80 mm e larghezza di 25mm ma ben si adatta a ventole di diametro maggiore.

Buon making a tutti.

Articoli simili:

Pubblicato in news | Contrassegnato , , , , | Lascia un commento

Google per la didattica – 6′ edizione

Guida all’uso degli applicativi Google finalizzati
ad un uso didattico, dalla ricerca alla creazione di contenuti

Giunto alla 6′ edizione il corso avrà inizio oggi, saranno svolti 5 incontri di 2 ore ciascuno per un totale di 10 ore di formazione

  • Mercoledì 13 febbraio 2019 – dalle ore 17.00 alle 19.00
  • Giovedì 14 febbraio 2019 – dalle ore 17.00 alle 19.00
  • Mercoledì 20 febbraio 2019 – dalle ore 17.00 alle 19.00
  • Mercoledì 6 marzo 2019 – dalle ore 17.00 alle 19.00
  • Giovedì 7 marzo 2019 – dalle ore 17.00 alle 19.00

Come accade in ogni edizione, aggiungerò ulteriori proposte di esercizio e sperimentazioni da condurre in classe con gli studenti.

Per maggiori informazioni sui contenuti del corso e sulle modalità di iscrizione vi rimando al pagina dedicata sul sito di Tecnica della Scuola.

 

Articoli simili:

Pubblicato in corsi | Contrassegnato , , , | Lascia un commento

Winter Camp 2019 – sviluppare competenze attraverso le nuove tecnologie

Creatività, espressione e innovazione per il Primo Ciclo – sviluppare competenze attraverso le nuove tecnologie.

Sabato 23 e 24 febbraio prossimi parteciperò come relatore alla terza edizione degli INcontri digitali presso l’Istituto Comprensivo Statale di Vestone (Brescia), corso invernale di formazione per insegnanti.

Il laboratorio che condurrò ha come titolo: “Divertiamoci a progettare il nostro apprendimento con il Coding e la robotica” e sarà dedicato a docenti della primaria e secondaria di primo grado.

questo l’abstract:

Insegnare a progettare il proprio apprendimento attraverso il Creative Computing utilizzando BBC micro:bit una picola scheda elettronica appositamente progettata per svolgere attività di Coding con studenti della scuola primaria e secondaria di primo grado.

BBC micro:bit può essere programmato in diverse modalità, ma quella principale fa uso di un ambiente di sviluppo on-line che permette di operare con un linguaggio di programmazione grafico, costituito da blocchi funzionali che possono essere tra essi collegati.

Le caratteristiche tecniche di micro:bit consentono di realizzare attività con forte interattività con il mondo reale: robot, strumenti musicali, strumenti di misura, giochi interattivi e molto altro, attività che verranno sperimentate durante il workshop.

L’evento include altri interessangtissimi laboratori condotti dai colleghi:

  • Roberto Sconocchini – Laboriatorio: C’ERA UNA VOLTA… – Per scuola dell’infanzia e primaria
  • Luca Raina – LABORATORIO: GAMIFICATION – Per scuola primaria e secondaria di 1° grado

Per maggiori informazioni:

Locandina di presentazione:

Articoli simili:

Pubblicato in corsi, micro:bit, robotica | Contrassegnato , , , , , , , , , , | Lascia un commento

Utilizzo dell’LCD 16×2 Hitachi HD44780 1602 con modulo I2C PCF8574T

Addendum al progetto EduRobot.

Una settimana è bastata per scatenare la fantasia di giovani studenti alle prese con EduRobot per l’attività di Alternanza Scuola Lavoro. Le relazioni di lavoro mettono in evidenza soluzioni alternative originali, la richiesta è di continuare ad aggiungere funzionalità ad EduRobot, vedremo nelle prossime settimane come proseguire con i lavori, ma sicuramente in questa prima fase mi posso ritenere soddisfatto! 😊

Tra le richieste che mi sono state fatte vi è quella di inserire un display per aggiungere interattività con il robot. Tra le possibilità ho suggerito l’utilizzo di un LCD 16×2 Hitachi HD44780 1602 quelli in dotazione con molti kit Arduino. Per rendere più agevole la gestione e i collegamenti, visto l’elevato numero di connessioni presenti su EduRobot, ho consigliato l’utilizzo di un modulo PCF8574T per il controllo in I2C, poiché gli studenti sono giovani ed ancora non hanno affrontato questo argomento, con questo post voglio dare un piccolo aiuto.

Disponiamo dei moduli della sunfounder su cui è già saldato il modulo i2C:

l’utilizzo è identico ai più comuni expander esterni come quelli indicati nell’immagine che segue:

Il display è costituito da 4 pin di connessione, due dedicati all’alimentazione e due alla comunicazione i2C.

Le connessioni tra LCD1602 i2C ed Arduino sono i seguenti:

LCD1602 —> Arduino
GND -> GND
Vcc -> 5V
SDA -> A4
SCL -> A5

Per poter utilizzare questo display è necessario installare la libreria LiquidCrystal_I2C dal seguente link: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

Prelevate il file .zip ed installate la libreria direttamente dall’IDE di Arduino:

in alternativa potete scompattare e copiare il tutto nella cartella libraries di Arduino.

Piccolo avvertimento, sicuramente nelle vostre sperimentazioni prenderete spunto da sketch che troverete on-line, alcune volte questi esempi sono datati e si riferiscono ad una versione dell’ide di qualche anno fa in cui si poteva inizializzare l’LCD nel setup con: lcd.init(), ciò non è più possibile sostituitela con la classe lcd.begin() così come indicato negli esempi che seguono.

Includo a questo post una serie di sketch tutti tratti dal reference di Arduino e riadattati per un uso con il modulo PCF8574T in modo da accelerare le attività di sperimentazione dei miei allievi.

Il funzionamento di ogni esempio è dettagliato con commenti all’interno degli sketch.

Buona sperimentazione 🙂

Articoli simili:

Pubblicato in arduino, i miei allievi | Contrassegnato , , , , , , , , , , , , , | Lascia un commento

Errori comuni nell’uso di Arduino – confondere pin analogici con pin digitali

Come sicuramente saprete i pin analogici di Arduino UNO, da A0 a A5 possono essere utilizzati anche in modalità digitale e questa caratteristica alcune volte crea qualche confusione in quanto i pin se vengono utilizzati in modalità analogica non è necessario dichiararne il pinMode all’interno del setup(), ciò ovviamente non accade se bisogna usarli in modalità digitale.
Dopo un po’ questa funzionalità viene memorizzata, un modo per non dimenticare questa caratteristica potrebbe essere quella di inserire una dichiarazione “inutile” che ne rammenta la modalità di utilizzo:

In ogni caso, per i miei studenti chiedo di ricordare a mente senza aggiungere dichiarazioni inutili, ma se si è all’inizio tale notazione può essere accettata.

Un’altra cosa che noto  confonde è l’uso della notazione Ax per i pin digitali e non del valore decimale.
In Arduino.h viene definito ad esempio A2 come una costante di tipo intero. Su Arduino UNO ad A2 è assegnato il valore numerico 16 e poiché è una costante di tipo intero possiamo trattare a tutti gli effetti A2 come se si trattasse del numero 16.

Per completezza ricordo che:

  • A0 -> 14
  • A1 -> 15
  • A2 -> 16
  • A3 -> 17
  • A4 -> 18
  • A5 -> 19

In generale sconsiglio di indicare i pin analogici con il loro valore numerico per due motivi:

  1. la notazione Ax immediatamente mette in evidenza che si tratta di pin analogico,
  2. se utilizziamo su una scheda con più pin I/O, come un Arduino Mega non andremo in confusione e non rischieremo far andare in collisione un pin digitale con un pin analogico nel caso ad esempio che stessimo mettendo mano ad uno sketch funzionante su Arduino Uno e che vogliamo far funzionare sul Mega, infatti su Arduino UNO l’A0 corrisponde al pin 14 della scheda mentre sull’Arduino Mega corrsiponde al pin 54 della scheda, se usiamo la notazione Ax non ci sbagliamo.

Ricordate inoltre che se all’interno del nostro loop() passiamo ad una digitalRead un valore da 0 a 5 non intendiamo segnalare un pin digitale da 0 a 5, ma uno dei pin da A0 ad A5.

Buon lavoro 🙂

Articoli simili:

Pubblicato in arduino, i miei allievi | Contrassegnato , , , , , , | Lascia un commento

EduRobot – ASL (Alternanza Scuola Lavoro) – Manuale di costruzione – 3/3

Nella guida che segue illustro un schema molto semplice per la realizzazione del controllo di EduRobot effettuata con Arduino. Fornirò passo passo gli sketch di esempio che dovrete migliorare. è può essere considerato la base di partenza per ogni sperimentazione basata appunto su Arduino.
Per il pilotaggio dei motori ho utilizzato e L298N Dual H-Bridge Motor Controller di cui vi ho dato indicazioni nella lezione precedente.

Ovviamente anche la soluzione proposta in questo tutorial potranno essere migliorate da voi, lo scopo è quello di svolgere l’attività di Alternanza Scuola Lavoro di questi giorni, ma nelle settimane che seguiranno potrete migliorare ogni aspetto del robot in quanto il corso su Arduino che state svolgendo nelle mie ore sarà svolto proprio sulla piattaforma EduRobot.

Potrete sostituire alle batterie che io ho utilizzato, batterie ricarrabili, o pacchi batterie con autonomia maggiore che potrete fissare utilizzando gli appositi fori predisposti sullo chassis, durante le lezioni in classe vi fornirò suggerimenti e modalità diverse di utilizzo della scheda L298N.

Nelle parti che seguono costruiamo passo passo il programma che consente la realizzaizone di un robot che si muove in modo autonomo.

Negli esempio che seguono verranno di volta aggiunte nuove funzioni, la lista completa è la seguente:

rotazioneOraria(tempo necessario per effettuare una determinata rotazione, velocità con cui ruota il robot)

Rotazione oraria di EduRobot sul proprio asse

stopEduRobot()

Blocca il movimento del robot

distanzaOstacolo()

restituisce la distanza in cm dell’ostacolo rilevato

paragonaDistanze()

verifica la distanza dell’ostacolo che si trova a distanza maggiore dal robot

scegliDirezione()

sceglie la direzione da prendere in funzione della distanza a cui si trova l’ostacolo

La spiegazione del funzionamento d ogni parte del codice è inclusa all’interno dello sketch come commento.

Nota per lo studio:

i 6 sketch proposti variano solo nel loop per la realizzazione delle funzioni richieste, la variazione tra uno sketch e l’altro consiste nell’aggiunta di poche linee di codice, sarà quindi necessario effettuare uno studio preliminare di tutte le parti dello sketch 1.

Sketch 1

Rotazione di 90° in senso orario del robot sul proprio asse e ritorno alla posizione di partenza con intervallo di stop di 3 secondi.

Dalla lezione precedente si sono utilizzati le parti di sketch che permettono la rotazione in senso antiorario ed orario dei motori.

La funzione rotazioneOraria e rotazioneAntioraria, di seguito evidenziate, consentono la rotazione di EduRobot sul proprio asse in una delle due direzioni. Le funzioni accettano due parametri:

  • tempo: tempo per compiere uno specifico angolo di rotazione
  • velocita_rotazione: velocità con cui gira il robot

Il tempo per compiere un angolo di 90° deve essere valutato sperimentalmente in quanto funzione della carica della batteria. Per regolare il tempo di rotazione per un angolo di 90° variare il valore della variabile globale: tempo_rotazione_angolo che trovate all’inizio dello sketch.

Per interrompere la rotazione di EduRobot è sufficiente inviare sui pin 9 e 5 di Arduino di tipo PWM il valore 0

Sketch 2

Rotazione di 180° in senso orario del robot sul proprio asse e ritorno alla posizione di partenza con intervallo di stop di 3 secondi.

Per eseguire questa esercitazione sarà sufficiente aggiungere allo sketch precedente un’ulteriore chiamata alle funzioni rotazioneOraria e rotazioneAntioraria, oppure variare il valore della variabile tempo_rotazione_angolo per un tempo doppio rispetto al tempo necessario per compiere una rotazione di 90°.

Sketch 3

Rotazione di 360° in senso orario del robot sul proprio asse, rotazione di 360° in senso antiorario del robot sul proprio asse con intervallo di stop a 180° di 1 secondo e stop di 3 secondi a 360°.

Facendo eseguire ad EduRobot i medesimi spostamenti, ottimizzare il codice presente nel loop riducendo il numero di istruzioni.

Sketch 4

Ripetere la sequenza: avanti per 500 millisecondi, stop per 3 secondi, rotazione di 180° in senso orario del robot, stop di 1 secondo, avanti per 500 millisecondi, stop di 3 secondi, rotazione di 180° in senso antiorario, stop di 1 secondo, movimento in avanti per 500 millisecondi.

Sketch 5

Realizzare uno sketch che permetta di realizzare in sequenza le tre rotazioni:

  1. 45° in senso antiorario del robot
  2. dalla posizione raggiunta rotazione di 90° in senso orario
  3. dalla posizione raggiunta, rotazione di 45° in senso antiorario

Sketch 6

Utilizzando il sensore ad ultrasuoni HC-SR04 per rilevare gli ostacoli ed effettuare la scelta della direzione da intraprendere in funzione dell’ostacolo che si trova a distanza maggiore dal robot.

Funzionamento del sensore HC-SR04

Per l’utilizzo del sensore ad ultrasuoni ne avevo già dato spiegazione in EduRobot UNO – Come costruire il vostro primo Arduino Robot – Lezione 2  ma per permetterne un’agevole studio duplico quanto già scritto nel tutorial in modo che abbiate un punto unico di riferimento.

Per far evitare gli ostacoli al nostro robot utilizzeremo un sensore ad ultrasuoni, in altro modo useremo questo sensore per misurare la distanza dell’ostacolo, ma potremo anche pensare di usare questo sensore, ad esempio, in un sistema anti-intrusione che deve far suonare un allarme. In questa lezione viene utilizzato il sensore HC-SR04, dispositivo economico e con un buon range operativo, ha una sensibilità dichiarata nei datasheet che va da 2 centimetri a 4,5 metri circa, in realtà la massima distanza da esperimenti che ho effettuato arriva a circa 3,5 metri, molto comunque dipende dai materiali colpiti e dalla loro capacità di assorbimento sonoro.

Ma come funziona un sensore di questo tipo?

I sensori ad ultrasuoni non forniscono direttamente la misura della distanza dell’oggetto più vicino, ma misurano il tempo impiegato da un segnale sonoro a raggiungere l’oggetto e ritornare al sensore.

L’impulso ad ultrasuoni inviato all’HC-SR04 è di circa 40KHz il tempo viene misurato in microsecondi, la tensione di funzionamento è di 5V, quindi potremo alimentarlo direttamente utilizzando Arduino.

L’HC-SR04 è dotato di 4 piedini: GND, eco, trigger, +Vcc.

Per convertire l’intervallo di tempo misurato in una lunghezza, bisogna ricordare che la velocità del suono è di 331,5 m/s a 0 °C e di 343,4 m/s a 20 °C ed in generale varia secondo la relazione:

v = 331,4 + 0,62 T

dove la temperatura T è misurata in °C.

Per effettuare una misura di distanza di un ostacolo assumiamo di lavorare ad una temperatura ambiente di 20 °C e quindi la velocità del suono sarà di 343 m/s (approssimiamo) che vuol dire anche 0,0343 cm/microsecondi.

Quindi, ricordando che v=s/t (v: velocità, s: spazio, t: tempo) allora lo spazio percorso sarà:

s = v*t

da cui

s = 0,0343 *t

però, per calcolare lo spazio percorso, bisogna tener conto che il suono percorre due volte la distanza da misurare (giunge sull’oggetto e ritorna indietro al sensore) quindi il valore di t ottenuto deve essere diviso per 2. La formula corretta per la misura dello spazio percorso è:

s = 0,0343 * t/2

eseguendo la divisione di 0,0343/2 possiamo scrivere:

s = 0,01715 * t

oppure:

s = t/58,31

approssimando

s = t/58

formula più semplice da ricordare.

Per calcolare la distanza dell’oggetto dal sensore sarà sufficiente dividere il tempo t (tempo impiegato dal segnale per giungere sull’oggetto e tornare al sensore) per 58.

Per poter effettuare una misurazione viene mantenuto a livello basso il pin Trigger, dopo di che viene fornito un impulso a livello alto della durata minima di 10µs riportandolo poi a livello basso, dopo questo momento la capsula trasmittente emette un burst (sequenza di livelli alti/bassi) a circa 40KHz, l’onda ultrasonica generata (burst) colpisce l’ostacolo, torna indietro venendo rilevata dalla capsula ricevente. L’elettronica del sensore effettua un calcolo del tempo di andata e ritorno del segnale emettendo sul pin Echo, normalmente a livello basso, un segnale a livello alto direttamente proporzionale alla distanza dell’ostacolo:

Descrizione sketch 6

Nota: si descrivono solo le sezioni aggiunte rispetto agli sketch precedenti.

Impostazione del sensore ad ultrasuoni

Questa sezione è dedicata all’impostazione del sensore ad ultrasuoni.

La variabile “durata” è il tempo impiegato dall’onda ultrasonica per giungere al rilevatore, questo valore verrà utilizzato per il calcolo della distanza dell’oggetto.
Le due variabili: pin_segnale e pin_trig sono quelle associate ai pin signal e trigger del sensore ad ultrasuoni.

Descrizione funzionamento loop()

Nel loop() come prima azione viene memorizzata nella variabile misuraDistanza il valore restituito dalla funzione che calcola la distanza dell’ostacolo: distanzaOstacolo() che riceve le informazioni dal sensore ad ultrasuoni.
Se la distanza misurata è maggiore della distanzaPericolo, la minima distanza dall’ostacolo, allora vuol dire che EduRobot può continuare ad andare avanti, altrimenti se la misuraDistanza è inferiore alla distanza di pericolo bisogna fermare EduRobot ed effettuare il cambio di direzione.

Scelta della direzione da prendere

EduRobot effettua una rotazione di 90° a destra, effettua la lettura ed assegna il valore letto alla variabile distanzaDestra, si ferma nella posizione per mezzo secondo.
EduRobot effettua una rotazione di 180° in senso antiorario rispetto alla precedente posizione effettua la lettura della distanza dell’ostacolo che viene memorizzata nella variabile distanzaSinistra, si ferma nella posizione per mezzo secondo.
Si pone nuovamente in posizione frontale ruotando in senso orario di 90°, mantiene la posizione ed invoca la funzione paragonaDistanze() che verifica quale delle due misure risulta maggiore.

Lettura della distanza dell’ostacolo

La modalità di funzionamento di questa funzione è stata descritta nella parte iniziale della sezione dedicata allo sketch 6.

Paragonare le distanze per la scelta del percorso

Nel caso in cui l’ostacolo che si trova a sinistra è ad una distanza maggiore da quello dell’ostacolo di destra, allora EduRobot ruoterà in senso antiorario di 90° e manterrà la posizione raggiunta per mezzo secondo.

Se invece l’ostacolo che si trova a destra si trova a distanza maggiore di quello di sinistra, allora EduRobot ruoterà in senso orario di 90° e manterrà la posizione raggiunta per mezzo secondo.

Se le distanze degli ostacoli a sinistra e a destra sono identiche, EduRobot ruota di 180° in senso orario e mantiene la posizione per 1 secondo.

Movimento continuo in avanti e indietro alla velocità scelta

Nel codice sopra indicato avantiSempre(int velocita) permette di movimentare EduRobot in avanti ad una specifica velocità è necessario far girare la ruota sinistra in senso antiorario e lo destra in senso orario, mentre indietroSempre(int velocita) permette di muovere indietro (in retromarcia) EduRobot alla specifica velociotà è necessario far girare la ruota sinistra in senso orario e lo destra in senso antiorario.

Esercizi

Esercizio 1

Ad ogni stop del robot si accendere un led rosso.

Esercizio 2

Ad ogni stop si accendere un led rosso e durante la scelta della direzione lampeggia un led giallo.

Esercizio 3

Ad ogni stop si accendere un led rosso e durante la scelta della direzione lampeggia un led giallo, mentre il movimento in avanti ed indietro è evidenziato da un led verde acceso che dovrà spegnersi durante la scelta della direzione.

Esercizio 4

Aggiungere al circuito dell’esercizio precedente un buzzer che all’avvio del robot per 2 secondi, vengano suonate alcune note musicali.

Esercizio 5

Aggiungere al circuito dell’esercizio precedente un buzzer che all’avvio del robot per 2 secondi,emetta un jingle musicale ed ogni volta che viene effettuata la rilevazione del percorso da intraprendere vengano suonate alcune note musicali.

Esercizio 6

Aggiungere una funzione di casualità che ad intervalli prestabiliti fa cambiare direzione al robot indipendentemente dalla scelta della direzione verso l’ostacolo più lontano.

Esercizio 7

EduRobot non è dotato di un encoder, ovvero un sistema in grado di regolare la velocità delle due in modo da far andare dritto il robot, avrai notato che un motore gira ad una velocità superiore rispetto ad un’altro.

Saresti in grado di realizzare un semplice programma di calibrazione da eseguire in fase iniziale in grado di migliorare leggermente il movimento rettilineo del robot?

Buona sperimentazione a tutti 🙂

Articoli simili:

Pubblicato in arduino, i miei allievi, robotica | Contrassegnato , , , , , , , , , , , | Lascia un commento