In questa lezione:
- soluzione ai problemi assegnati
- operatori di uguaglianza e confronto
- operatori logici
- uso del costrutto condizionale if
- uso del costrutto condizionale if…then
- uso del costrutto condizionale switch
- esercizi
In questa lezione:
Nuova avventura didattica.
Negli scorsi giorni ho avuto la fortuna di incontrare un gruppo di studenti che hanno una caratteristica molto bella, hanno la voglia di mettersi in discussione e di esplorare nuove frontiere, l’obiettivo è partecipare ad un concorso molto particolare ZeroRobotics.
Le agenzie Spaziali Europea (ESA), Italiana (ASI), il Politecnico di Torino e l’università di Padova, in collaborazione con il Massachusetts Institute of Technology (MIT), lanciano anche quest’anno il concorso Zero Robotics Europe 2012 in cui viene chiesto alle scuole superiori di creare programmi per il controllo di piccoli satelliti collocati nella Stazione Spaziale Internazionale (ISS).
Per poter pilotare i robot bisognerà saper programmare in C ed io avrò la funzione di “mentor”, dovrò supportare la squadra dell’IIS Galilei Ferrari di Torino, una bella responsabilità, ma sicuramente dal punto di vista dell’insegnante una bella sfida e comunque vada sia io che loro impareremo molto.
A causa dei tempi strettissimi per apprendere e partecipare al concorso ho deciso di realizzare un corso “super concentrato” 🙂 di programmazione in C che si svolgerà in circa 4 settimane in cui gli allievi seguiranno lezioni pratiche in laboratorio con studio e sperimentazione a casa, il tutto condito da una buona dose di scambio informazioni via facebook.
Non mi dilungherò sulla storia del C o su paragoni su altri linguaggi, ma la mia attenzione sarà rivolta esclusivamente al linguaggio di programmazione.
Partiamo!
In questa lezione:

Ricevo dal Dipartimento di Informatica dellUniversità di Torino la segnalazione del workshop Teachers for Teachers (T4T) giornate di formazione per insegnanti di ogni livello e tipo di scuola. Il workshop è costituito da varie unità che possono essere seguite singolarmente oppure composte secondo le esigenze di ciascun partecipante in un percorso di piú unità. T4T è gratuito.
Il workshop si rivolge ad insegnanti di ogni livello e tipo di scuola, e ha il riconoscimento e il sostegno della Direzione regionale del Ministero dell’Istruzione, dell’Università e della Ricerca.
Lo scopo primario del workshop T4T è favorire la presenza dell’Informatica come scienza nella scuola italiana, seguendo le raccomandazioni espresse nel “Manifesto per l’Informatica nella Scuola Secondaria” dell’Associazione dei ricercatori e professori di Informatica delle università italiane (GRIN Gruppo Ricercatori di Informatica Nazionale) insieme con CINI e GII (Consorzio interuniversitario per l’Informatica e Gruppo Ingegneri Informatici).
In particolare il progetto intende diffondere le attività di problem solving e di introduzione alla programmazione. Obiettivo finale è che gli insegnanti riescano ad integrare nei curricula di cui sono responsabili le attività svolte durante T4T e le facciano conoscere ad altri insegnanti nelle varie scuole.
Unità didattiche:
Per maggiori informazioni sulla strutturazione dei workshop e sulle modalità di iscrizione si consulti il sito di riferimento.

L’istruzione if è composta da un blocco “condizione” che verifica se una deterniata condizione logica si verifica. Se la “condizione” risulta “Vera“, viene eseguita un blocco “istruzioni“, se la “condizione” risulta “Falsa“, non viene eseguito il blocco “istruzioni” e l’esecuzione del programma prosegue oltre l’istruzione if.

In altro modo, se la condizione di controllo, costituita ad esempio dal superamento di un valore analogico rispetto ad un valore dato, risulta vera, verrà eseguito il codice incluso tra le parentesi graffe che seguono il controllo, altrimenti se la condizione di controllo risulta falsa, non vengono eseguite le istruzioni dell’if e l’esecuzione del programma continua con la porzione di codice che segue.

if (someVariable ?? value)
{
doSomething;
}
(con ?? indichiamo l’operatore logico usato dalla condizione di controllo e può essere: =, =, ==, !=)

Il linguaggio Arduino ha alcuni valori predefiniti che sono chiamati costanti. Le costanti vengono usate per rendere più semplice la lettura di un programma.
Le costanti sono classificate in gruppi:
TRUE/FALSE
Queste sono costanti booleane che definiscono i livelli logici. FALSO è definito come 0 (zero) mentre TRUE è spesso definito come 1, ma anche qualsiasi valore diverso da 0. Quindi in logica booleana -1, -2 e -200 sono tutti definiti come TRUE.
if ( b == TRUE);
{
soSomething;
}
HIGH/LOW
Queste costanti definiscono il livello del pin come HIGH (alto) o LOW (basso) e sono usati quando si legge o scrive su un pin digitale.
HIGH è definito come livello logico 1, ON oppure 5 volt, mentre LOW è definito come livello logico 0, OFF o 0 volt.
digitalWrite(13,HIGH); // il pin 13 si trova a livello logico 1
INPUT/OUTPUT
Costanti usate con la funzione pinMode() per definire in che modalità viene utilizzato un pin , come INPUT (ingresso) o come OUTPUT (uscita)
pinMode(13, OUTPUT) // il pin 13 viene definito come OUTPUT
Per le lezioni precedenti consultare la sezione Appunti di programmazione che trovate nella pagina Arduino di questo sito.