Archivi tag: programming

Errori comuni nell’uso di Arduino – fare più azioni nell’if senza l’uso delle parentesi graffe

Continua la segnalazione degli errori che spesso vengono commessi durante le prime attività di programmazione con Arduino.
La sequenza di istruzioni da eseguire se risulta vera la condizione dell’istruzione if  (il corpo della if) deve essere racchiusa tra parentesi graffe. L’errore è immaginare che l’indentazione sia sufficiente per indicarne l’appartenenza al corpo della if, modalità valida in altri linguaggi di programmazione come in Python, ma non in C:

Uso non corretto

if (temperatura > 25)
  digitalWrite (normaleTemp, LOW);
  digitalWrite (allarmeTemp, HIGH);

Uso corretto

if (temperatura > 25)
{
  digitalWrite (normaleTemp, LOW);
  digitalWrite (allarmeTemp, HIGH);
} // fine del controllo temperatura > 25

Buon lavoro 🙂

Programmare Arduino con Platform IO

L’IDE di programmazione Arduino è notoriamente semplice da utilizzare, possiede le funzionalità minime per poter scrivere, compilare e caricare sulla scheda il codice prodotto, però le operazioni messe a disposizione sono minime e solamente nella versione che è stata presentata durante la scorsa MakerFaire di Roma, di cui avevo dato notizia in un precedente post, sono state aggiunte una serie di funzionalità di editing che tendono a farlo diventare un editor di programmazione professionale.
Attualmente il nuovo IDE è ancora in versione Beta quindi si dovrà attendere qualche tempo.
Esistono molti ambienti di sviluppo professionali che aggiungono modalità di autocompletamento, facile accesso ad ogni parte del codice, numerose scorciatoie da tastiera. Tra gli abbienti più diffusi che farò sicuramente utilizzare ai miei studenti vi è Visual Studio Code di Microsoft che con l’estensione Platform IO, sviluppato in Python, fornisce un set di strumenti di nuova generazione per lo sviluppo di sistemi embedded in C / C ++. L’estensione è gratuita ed Open Source.
Le schede supportate sono moltissime, ad oggi sono 769, tra cui ESP32, ESP8266, schede della famiglia ST Nucleo e tutte le schede della famiglia Arduino.
Platform IO può essere eseguito su Windows, Mac e Linux e su piccoli computer basati su architettura ARM come: Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, ecc. Platform IO viene fornito con numerosi esempi e librerie.

Vantaggi

  • completamento automatico del codice C / C ++
  • Smart Code Linter che non è presente nell’IDE Arduino.
  • Supporto del tema scuro e chiaro
  • Smart Code Navigations
  • Formattazione del Codice
  • Cross-platform build system indipendente dal sistema operativo
  • File Explorer che aiuta organizzare i file.
  • Comodo gestore delle librerie, Serial Monitor evoluto e molto altro.

L’uso di PlatformIO è molto semplice e richiede pochi passaggi per l’installazione.

Installazione

Dal sito di riferimento: https://platformio.org/

far click su “install PlatformIO Now”

Sarete reindirizzati sulla pagina di riferimento di PlatfprmIO IDE

Prelevare Visual Studio Code facendo click su “Install for VSCode”, sarete reindirizzati sulla pagina di riferimento. Selezionate il sistema operativo del vostro computer e fate click su Download:

Durante il download sarete reindirizzati su una pagina che mostra le caratteristiche principali di VSCCode

Non sono necessarie installazioni, è sufficiente un doppio click per avviare l’applicazione:

Selezionate l’icona Extensions (5’ icona)

Inserite nel campo di ricerca Platform IO e troverete immediatamente l’estensione, come potete immediatamente notare VSCode può essere utilizzato per programmare anche in altri linguaggi: C/C++, C#, Python, PHP, Go, JavaScript, TypeScript, Node.js e molti altri.

Click su Install per installare l’estensione.

La fase di installazione durerà qualche minuto ed in questa fase non chiudete la finestra.

Sulla destra della finestra apparirà un messaggio che vi avverte che l’installazione è andata a buon fine, fate click su “Reload Now”

Quando l’installazione è terminata vedrete la seguente interfaccia:

Vi consiglio di riavviare VS Code Editor dopo l’installazione di Platform IO.

Ciò completa la fase di installazione di Platform IO ed è pronto per essere usato.

Realizziamo il primo Sketch ed inizieremo con il solito Blink che scriveremo all’interno di Platform IO.

Fate click su “+ New Project”

Apparirà una finestra in cui dovrete inserire il nome del programma, nel mio caso ho scelto: “blink-PIO”, selezionate poi il tipo di scheda, noterete che mentre scrivete il nome della scheda vi verrà fornito il suggerimento per il completamento, selezionate Arduino Uno, il campo “Framework” viene completato automaticamente:

Il progetto necessita di qualche secondo, giusto il tempo per creare risorse e dipendenze file.

Al termine apparirà la pagina di riferimento del progetto:

Nella struttura ad albero che compare sulla sinistra della finestra selezionate: src e successivamente main.cpp sulla destra vedrete un sketch pronto con le funzioni setup() e loop() vuoti:

Si noti che PlatformIO non ha l’accesso predefinito alle librerie Arduino, quindi ogni volta che si scrive il codice per Arduino bisogna includere sempre all’inizio dello sketch la libreria Arduino.h

#include<Arduino.h>

Incominciate a scrivere il codice, noterete immediatamente la comparsa del menù di autocompletamento:

Nella parte sinistra della finestra, nella sezione “OUTLINE” potrete spostarvi immediatamente tra le funzioni presenti nel codice:

Procediamo ora alla compilazione del codice: fate click su “PlatformIO: Build” al fondo della finestra (fascia azzurra)

Nella parte bassa della finestra trovate le funzioni: Build, Upload, Upload to Remote Device, Clean, Test, Run Task, Serial Monitor, New Terminal inoltre avete anche icone che vi mostrano: warning ed errori.

Procediamo ora alla compilazione e al trasferimento sulla scheda. Collegate la vostra scheda al computer, il riconoscimento della scheda è automatico:

Click su “PlatformIO: Upload” per trasferire il programma sulla scheda.

Se tutto è stato eseguito correttamente il LED L sulla scheda incomincerà a lampeggiare.

Buon Coding a tutti 🙂

Programmare Arduino con ArduBlock

Mi è giunta ieri un’ulteriore richiesta da un collega di un istituto professionale che mi chiede un’ulteriore soluzione a quanto già segnalato nelle settimane passate su sistemi grafici per programmare Arduino, per dirla in altro modo, sistemi che ricordano l’ambiente di sviluppo “Scrach” in modo da rendere più semplice l’insegnamento della programmazione su Arduino operando con semplici Drag&Drop per manipolare le istruzioni di programmazione.
ArduBlock è un’alternativa interessante e sicuramente un valido strumento per chi si sta affacciando al physical computing, io lo considero un “facilitatore” per quanti si affacciano per la prima volta alla programmazione di questo dispositivo.

ArduBlock-00

Vediamo come si installa ArduBlock

ArduBlock è multipiattaforma, quindi potrete installare senza problemi su Mac, Linux e Windows. Per poter utilizzare ArduBlock è indispensabile installare prima l’IDE standard di Arduino.

Passo 1

L’installazione non è complicata, bisogna solamente effettuare il download i un file Java memorizzando la posizione di questo file all’interno dell’IDE di Arduino.

Passo 2

Identificate la cartella in cui vengono memorizzati i vostri sketch su Arduino. Se non sapete dove è collocata questa cartella aprite dal menù “Arduino -> Preferences” dell’IDE Arduino, la posizione della cartella dei vostri sketch la trovate in “Sketchbook location”, copiate questo percorso e chiudete l’IDE di Arduino.

ArduBlock-01

ArduBlock-02

Passo 3

Continua a leggere

Sempre più facile programmare Arduino con CodeBender

Faccio seguito ai quesiti pervenutemi durante il periodo di vacanze da parte di  alcuni lettori che mi chiedevano informazioni in merito a sistemi alternativi all’IDE classico utilizzato per programmare su Arduino.
Sul mio blog trovate alcune segnalazioni l’ultima si riferisce a Utilizzare Sublime Text 3 Editor come IDE Arduino.
In passato vi avevo inoltre segnalato Codebender che desidero mettere ancora una volta in evidenza perché sono passati oltre due anni dalla prima segnalazione ed inoltre le funzionalità disponibili e le librerie messe a disposizione crescono di giorno in giorno.
Codebender è un IDE che vi permette di programmare in cloud la vostra scheda Arduino all’interno di una finestra browser. Utilizzando Codebender potrete scrivere, fare l’upload o il download degli sketch prodotti, compilare ed eseguire il codice di tutte le schede Arduino, compreso l’uso della serial monitor. Utile la possibilità di condividere il codice con altri utenti o capire l’avanzamento di un progetto, quindi particolarmente adatto in ambito didattico.
All’interno del vostro account potrete visualizzare tutte le schede supportate (tantissime) o aggiungerne di vostre o addirittura fare il burn del bootloader.
Nella sezione “Examples & Libraries” potete disporre di una quantità incredibilmente vasta di esempi e librerie.

Configurare Codebender è molto semplice, andate sul sito di riferimento e create un account seguendo passo passo le istruzioni, in 5 min avrete un’IDE ben strutturato e di semplice utilizzo, quindi in piena libertà ovunque vi troviate, su qualsiasi computer, con qualsiasi sistema operativo, potrete operare con i vostri sketch, sarà sufficiente avere in tasca la propria scheda Arduino ed una manciata di componenti.
I browser supportati da Codebender sono solo Google Chrome e Mozilla Firefox per Mac, Windows e Linux.

Di seguito le schermate di tutti i passi necessari per poter operare con Codebender.

Passo 1
Andare sul sito Codebender.cc e procedere con la registrazione al servizio: Continua a leggere

Make: AVR Programming

Suggerimenti per un libro per le vacanze? 🙂 Make: AVR Programming è forse uno dei quei libri che il maker elettronico dovrebbe avere nella propria biblioteca.
Se utilizzate Arduino per i vostri progetti ma avete necessità di maggiori performance e maggior controllo sull’elettronica allora questo potrebbe essere il libro per fare il passo successivo e “tuffarsi” in una programmazione più “spinta” ed imparare le basi sull’uso dei microcontrollori Atmel AVR.
Il libro vi fornirà, mediante un approccio di sperimentazione costante, le basi per apprendere l’uso dei microcontrollori Atmel AVR, scriverete i vostri programmi in C lavorando direttamente sull’hardware eliminando il livello di astrazione offerto dalla programmazione che si potrebbe avere normalmente usando Arduino.

make-avr-programming