Archivi tag: programmazione

Lezione 02 – corso di programmazione in C

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

Continua a leggere

Lezione 01 – corso di programmazione in C

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:

  • Componenti di un programma C
  • Struttura di base di un programma C
  • Variabili
  • Tipi di dati
  • Operatori aritmetici
  • Regole di precedenza degli operatori aritmetici
  • Esercizi

Continua a leggere

Appunti di programmazione su Arduino: controllo di flusso

if

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: =, =, ==, !=)

Continua a leggere

Appunti di programmazione su Arduino: costanti

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.