Archivi categoria: arduino

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 🙂

Felice e sereno 2020 – Buon Anno!

Un sincero augurio ai miei studenti, amici e passanti.

Spero che queste vacanze siano piene di serenità e attività creative fatte di Coding e Making elettronico con ciò che più vi piace: Arduino, Raspberry Pi, BBC micro:bit, PLC e tutto quello che desiderate.

UN ABBRACCIO GRANDE.

Preleva il Buon Anno 🙂

Arduino Plate v02

In queste settimane ho utilizzato in laboratorio la prima versione dell’Arduino Plate ed osservando la modalità di utilizzato da parte dei ragazzi ho effettuato alcune modifiche producendo una seconda versione che condivido con voi.

In questa nuova versione ho aumentato i fori disponibili in modo che si possano fissare altre schede elettroniche, inoltre ho aggiunto un supporto che permette di porre in verticale in due modalità diverse l’intera plate.

La posizione verticale è stata pensata per:

  • poter illustrare e mostrare meglio i collegamenti sulla scheda,
  • per ridurre gli spazi sul banco di lavoro,
  • per avere un punto di visione del circuito più comodo sul banco della classe o sulla scrivania di casa.

Inoltre il supporto è anch’esso forato e può ospitare altri elementi come ad esempio delle batterie di alimentazione che favoriscono con il loro peso la stabilità dell’intera struttura.

Nei file che condivido troverete due versioni per il supporto della plate, pensate per il taglio di compensato con spessore da 3mm e 4mm. Come sempre potete prelevare i file per il taglio laser direttamente da Thingiverse, nel caso modificate e migliorate come ritenete.

Buona sperimentazione a tutti.

Arduino Plate – Quanto può essere utile un pezzo di compensato a scuola?

La buona riuscita di una lezione in laboratorio dipende da moltissimi fattori, è sufficiente la mancanza di qualche componente elettronico o del filo elettrico e tutto diventa complicato… banale ma essenziale: la somma di tante piccole necessità, all’apparenza banali, rendono possibile avviare velocemente e con ordine un’attività di laboratorio, mi riferisco ad attrezzi ed elettronica di consumo.
Gli spazi sul banco di lavoro molto spesso sono ridotti ed è cosa frequente ritrovarsi componenti sparsi ovunque.
In modo analogo succede nelle esperienze con Arduino ed è tipico a scuola con gli allievi o per tutti i Maker allocare le schede su basi di legno o plexiglas, un Arduino Plate è la prima cosa che qualsiasi appassionato di elettronica realizza.

Basi di sperimentazioni che noi tutti realizziamo, ne esistono di preconfezionate che possiamo acquistare oppure le possiamo costruire, per esempio nell’immagine è mostrata una base di sperimentazione molto grande da 26×36 cm che utilizzo per prototipale velocemente le esercitazioni di laboratorio.

In commercio trovate delle basi di sperimentazioni che includono non solo spazi dedicate a schede e breadboard ma anche sensori ed attuatori, ma per chi incomincia con Arduino, mi riferisco soprattutto agli studenti, bisogna pensare a soluzioni economicamente accettabili e compatibili con le risorse scolastiche, partire quindi da una basetta di legno è più che sufficiente.

Domenica scorsa, durante il viaggio di rientro dalla Maker a Faire di Roma, ho disegnato velocemente una basetta di sperimentazione elettronica semplicissima dotata di una maniglia, fori per alloggiare una scheda Arduino Uno R3, un’area delimitata dove inserire una breadboard da 840 punti ed un’area costituita da 135 fori da 3mm dove fissare altri oggetti funzionali all’attività di sperimentazione.

Ovviamente altro non è che una basetta di legno, ma utile per mantenere ordine.

Su sollecitazione dei miei studenti stiamo pensando a basette che possano alloggiare altre tipologie di schede e che possano essere costituiti da cassetti in cui alloggiare la componentistica elettronica, insomma trasformare il tutto in un mini laboratorio trasportabile.

Questo è la prima azione di un percorso più lungo che sto pensando in cui gli studenti, in attività di project work a scuola progettano e realizzano i propri strumenti di lavoro, azioni credo utili per seminare passione e consapevolezza nel sentirsi soggetti attivi che partecipano alla costruzione del proprio apprendimento anche per miglioramento della scuola. L’idea è far percepire che è bello far parte di una comunità di apprendimento.

Insomma è il primo passo che spero possa portare alla valigetta del Maker per gli studenti. Come sempre per chi lo desidera condivido questo prima bozza che spero possa essere utile e migliorata da altri.

Per prelevare i sorgenti grafici per il taglio laser o la stampa 3D seguire il link su Thingiverse.

Buon Making a tutti 🙂

Arduino Pro IDE

Siamo sulla A1 direzione Milano e poi Torino, pilota al comando l’amico Ludovico Russo, con lui e le rispettive mogli abbiamo vissuto una giornata full immersion alla Maker Faire Europe Edition Rome 2019.

Ne approfitto di questo cambio al comando 🙂 per scrivere una breve recensione tratta dal post del sito Arduino e da quanto abbiamo vissuto in diretta io e Ludovico durante il talk di ieri 19/10 di Massimo Banzi.

Dettagli e funzionalità delle nuove schede Arduino nano di cui in luglio avevo dato notizia su questo sito e che ho ricevuto nel mese di settembre, favorevolmente colpito dalla versione Arduino Nano BLE Sense. Prezzi più bassi e performance nettamente superiori.

La notizia che ha entusiasmato tutti i presenti è stato l’annuncio del nuovo Arduino Pro IDE rilasciato in versione Alfa. Nelle funzionalità ricorda Visual Studio Code.

Con il nuovo IDE sono possibili due modalità operative:

  • Modalità Classica (identico all’ambiente classico che conosciamo tutti da circa 15 anni)
  • Modalità Pro che permette la vista del File System.

Rinnovamenti evidenti e funzionalmente più pratici di:

  • Board Manager
  • Library Manager
  • Lista schede
  • Auto completamento del codice (solo per processori ARM)
  • Serial Monitor
  • Modalità Dark dell’interfaccia

Aggiunte nuovo possibilità:

  • Sincronizzazione degli Sketch Arduino Create Editor
  • Debugger (non attiva per ora nella versione alfa)
  • Possibilità di utilizzare plug-in di terze parti
  • Supporto ad altri linguaggi di programmazione oltre al C++

Il nuovo IDE è basato sulle tecnologie:

  • Arduino CLI funzionante in modalità daemon permette di gestire al meglio tutte le nuove funzionalità del nuovo IDE.
  • Il frontend è basato su Eclipse Theia Open Source IDE.
  • Electron, un framework inserito all’interno di Eclipse Theia, mette a disposizione tutte le tecnologie web in ambiente desktop.

La nuova versione è disponibile per Windows, Mac OS X e Linux64.

Non appena verrà superata la versione Alfa dell’IDE verranno resi disponibili anche i sorgenti.

Per il Download seguire i link:

Per maggiori informazioni e lista di bug seguire il seguente link:

https://github.com/arduino/arduino-pro-ide/issues

Buon Making a tutti 🙂