Archivi tag: arduino

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

PCB per realizzare shield Arduino

Di recente una chiaccherata con l’amico Gianni M.
Un “vero preside” purtroppo in pensione, ex insegnante di elettronica, uno di quei presidi che non si richiudeva nell’alcova del suo ufficio ma entrava nelle classi e nei laboratori per osservare e lavorare con i ragazzi.
Anche lui impegnato in attività di ricerca con Arduino e di recente ci siamo sentiti per condividere idee di progetti, tra le molte attività in corso Gianni dovrà a breve realizzare degli shield ed ha necessità delle librerie Arduino per Kicad per poter implementare le sue schede.

Già in passato vi avevo dato una mia soluzione, molto alternativa per la costruzione di una proto shield con basette millefori, ma sicuramente per soluzioni un po’ più “ordinate” è bene implementare un circuito stampato.
Io per le attività con i miei ragazzi prediligo Eagle, ma di seguito ho cercato di collezionare una serie di risorse sia per KiCad che Eagle, spero possano esservi di aiuto, non sono in ordine di importanza e si aggiungo a quanto condiviso con Gianni.

Se avete altre segnalazioni sarò ben felice di aggiungerle alla lista.

Arduino full memory: aggiornamento all’ultima versione di ATMEL Toolchain

Mi giunge da Boris Landoni, Responsabile Tecnico di Futura Elettronica srl, la segnalazione dell’articolo:

Arduino Full Memory: upgrade to the last ATMEL Toolchain version

Consigliatissima la lettura in quanto di aiuto a tutti i possessori di schede della famiglia “Mega”, ma anche ad utenti delle versioni Arduino UNO e Arduino Duemilanove che potranno averne molti vantaggi per lo sviluppo dei loro progetti.

L’articolo nasce per chiarire e superare alcuni problemi riscontrati con TiDiGino scheda basata su ATmega2560, che è anche il core di Arduino Mega 2560.

Conosco la scheda TiDiGino  in quanto gentilmente donata alla mia classe da parte della rivista Elettronica In, ho realizzato alcune sperimentazioni, ancora in atto, con i miei studenti.

Durante i test di sviluppo in alcuni casi si sono verificati malfunzionamenti di cui risultava complessa l’individuazione della causa.

Ringrazio Boris Landoni per il suo articolo che chiarisce in modo molto preciso cause e rimedi.

Buona lettuara.

 

A breve l’IDE Arduino in italiano

Ricevo dalla redazione di Elettronica In, che ringrazio, la segnalazione che il team di Arduino rilascerà nelle prossime settimane la versione dell’IDE in tutte le lingue, tra cui anche l’italiano. A pochi giorni dall’annuncio, grazie al valente lavoro di Sara Gallo e di Simone Majocchi la versione nella nostra lingua é già pronta! Un fantastico lavoro che ridurrà ancora di piú i tempi per l’apprendimento all’uso della piattaforma Arduino.

Per maggiori informazioni: news di Elettronica In

Annuncio sito Arduino: Translations of the IDE

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.