Archivi tag: Arduino

Arduino per tutti parte terza: IDE o non IDE

Una volta installato, l’IDE si presenta in modo molto spartano, con un’interfaccia semplice, composta da:
1) Menu a tendina,
2) Pulsanti rapidi,
3) l’area di scrittura del codice e
4) l’area dei messaggi, in basso (Fig. 1).

Fig. 1. Pagina iniziale dell'IDE
Fig. 1. Pagina iniziale dell’IDE

Esaminiamo attentamente ciascun settore.
I pulsanti rapidi sono destinati alle azioni più comuni e ripetitive. Da sx verso dx sono, rispettivamente:
verifica,
carica,
nuovo,
apri,
salva,
monitor seriale (controllo delle porte e debug collegamenti, all’estrema destra).
Il menu a tendina contiene le voci:
File,
Modifica,
Sketch,
Strumenti,
Aiuto.

Le voci più interessanti sono sicuramente Sketch e Aiuto.
In Sketch, oltre all’ovvia voce verifica/compila, duplicata nelle scelte rapide, sono interessanti le voci “include libreria”, che consente di includere librerie esterne e quindi ampliare le possibilità di collegamento ed utilizzo della scheda Arduino, e la voce “Esporta sketch compilato”, che consente di trasferire e condividere solo lo sketch, per eventuali correzioni o prove.

Il menu Aiuto è molto variegato. Vi compaiono gli Aiuti relativi al programma, ma anche alle schede di espansione Galileo ed Edison.
Un discorso a parte merita la voce “Strumenti”, che contiene alcune voci fondamentali per il corretto funzionamento dell’IDE. Occorre infatti, prima di lanciare per la prima volta uno sketch, controllare la connessione alla porta seriale (“Monitor seriale”) e indicare con quale delle numerose schede Arduino-like si intende lavorare (Scheda: “Arduino-Genuino”).
Ecco, ora siamo pronti per iniziare a lavorare con la nostra Arduino.
Ops, peccato, il tempo e lo spazio a nostra disposizione sono scaduti.
Beh, alla prossima, gente!

Progetta con Arduino puntata 2: Un’occhiata all’IDE

Puntata veloce di Arduino, legata all’istallazione dell’IDE sul nostro pc.

Cos’è un IDE?

Un IDE (Integrated Development Environment, in italiano Ambiente di Sviluppo Integrato)) è un software che, in fase di programmazione, aiuta i programmatori nello sviluppo del codice sorgente di un programma.
In sostanza è l’ambiente dove possiamo inserire il nostro codice (con alcuni aiuti, come in alcuni l’autocompletamento) e poi possiamo andarlo ad eseguire.
Normalmente è un software che consiste di più componenti come un editor di codice sorgente (molto simile, in effetti, a notepad), un compilatore e/o un interprete (che trasforma il programma in software da scaricare sulla scheda), un tool di building automatico e, di solito, un debugger (che serve per controllare che ilprogetto funzioni ed individuare, eventualmente, gli errori nel codice).

Installate gente, installate…

Prima di lanciarci nella programmazione della nostra scheda, meglio dare prima un’occhiata al software, alle procedure di installazione e all’interfaccia grafica dello stesso. Si inizia con le procedure di installazione.
Il software per programmare il vostro Arduino è disponibile, come si è detto, per tutti i sistemi operativi più comuni, Windows, Mac e Linux. Il processo di installazione è diverso per le tre piattaforme, ma non molto complesso, almeno per Windows e Mac. Per Linux forse occorre faticare un po’ di più, ma lo vedremo in seguito.
In tutti i casi, comunque, occorre preventivamente recarsi sul sito web di Arduino (http://www.arduino.cc) e scaricare la versione dell’IDE per il sistema operativo preferito. La versione utilizzata per questi post è la 1.8 ma non vi sono sostanziali differenze con le versioni precedenti.

Ecco come si presenta la finestra di benvenuto in Windows 7.
Ecco come si presenta la finestra di benvenuto in Windows 7.

In Windows, la procedura da seguire comporta lo scompattamento del file rar in una cartella e il lancio dell’installatore dei drivers, contenuto nella cartella drivers, dpinst-x86.exe o dpinst-amd64.exe a seconda del fatto che il sistema operativo sia a 32 o 64 bit.
Ecco, l’installazione è tutta qui. Gli utenti windows possono saltare al prossimo paragrafo.

Per gli utenti Mac, la procedura non è molto dissimile. Dopo aver scaricato il file rar, basta copiare il file Arduino nella cartella Applicazioni del Mac (o dive preferiamo), cancellare il file rar e il gioco è fatto.
Per Linux, invece, occorre scompattare il file arduino-1.8.0-linux64.tar.xz o arduino-1.8.0-linux32.tar.xz.

Il sito di Arduino
Il sito di Arduino

Dal PC alla scheda

Per permettere all’IDE di Arduino di comunicare con la scheda, il sistema operativo ha bisogno di utilizzare i driver adatti alla scheda utilizzata.
Su Windows, collegare la scheda Arduino al pc tramite il cavo USB e poi attendere che la procedura guidata per l’installazione del nuovo hardware faccia il proprio compito, meglio se si è connessi alla rete internet.
Se si utilizza Windows XP o se non si è connessi alla rete internet si deve specificare la posizione dei driver.
La cartella dei driver si trova nella cartella scaricata e decompressa e poi in:

FTDI USB Drivers

Una volta installato il driver, farę partire la procedura di installazione guidata del nuovo hardware, poi seguire la procedura appena descritta.

Su OS X le ultime schede Arduino possono essere utilizzate senza altri driver. Se si usano schede più vecchie, allora si devono ricercare i driver. Cercarli nel file immagine scaricato e cercare il pacchetto

FTDIUSBSerialDriver (dove è il nuemro della scheda).

aprirlo con doppio click e avviare la procedura di installazione guidata.
Sulla maggior parte delle distribuzioni di Linux i driver sono già installati. Se si riscontrano problemi, ancora una volta, siccome potrebbe variare da distribuzione a distribuzione visitare la pagina ufficiale

Ecco un video riassuntivo per la versione Windows

Progetta con Arduino puntata 1: (Back to the) basics

Iniziamo questa serie di post sul mondo Arduino dall’inizio, ovvero raccontando che cos’è Arduino e cosa rappresenta per il mondo dell’informatica, della robotica e quanto altro.
Arduino è una piattaforma hardware composta da una serie di schede elettroniche dotate di un microcontrollore. È stata ideata e sviluppata da alcuni membri dell’Interaction Design Institute di Ivrea, fondato da Olivetti e Telecom Italia, come strumento per la prototipazione rapida e per scopi hobbistici, didattici e professionali. Il team creativo dietro il progetto Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis.
Il nome della scheda deriva da quello del bar di Ivrea frequentato dai fondatori del progetto, nome che richiama a sua volta quello di Arduino d’Ivrea, Re d’Italia nel 1002.

Logo di Arduino
Logo di Arduino

Arduino Hardware

Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, temperatura, umidità e molti altri progetti che utilizzano sensori, attuatori e sistemi di comunicazione con altri dispositivi, ad esempio il Raspberry Pi di cui ci siamo occupati in un’altra serie di post.
La piattaforma fisica si basa su un circuito stampato che integra un microcontrollore con dei pin connessi alle porte I/O, un regolatore di tensione e un’interfaccia USB per permettere la comunicazione con il computer utilizzato per programmare.
Una scheda Arduino tipica consiste in un microcontrollore a 8-bit AVR prodotto dalla Atmel, con l’aggiunta di componenti complementari per facilitarne l’incorporazione in altri circuiti. Nelle schede vengono usati i chip della serie megaAVR, più specificatamente i modelli ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560.
Molte schede Arduino includono un regolatore lineare di tensione a 5 volt e un oscillatore a cristallo a 16 MHz. Tuttavia alcune implementazioni, come ad esempio la piccola LilyPad, hanno un clock di 8 MHz e non sono dotate del regolatore di tensione.
Su tutte le schede i programmi vengono caricati attraverso una porta seriale RS-232, ma il modo in cui questa funzionalità è implementata nell’hardware varia da versione a versione. Le schede seriali Arduino contengono un semplice circuito inverter che permette la conversione tra il livello della RS-232 e il livello dei segnali TTL. Le versioni attuali di Arduino sono gestite via USB: la versione Uno utilizza un microcontrollore Atmega8U2 programmato come convertitore USB-seriale, mentre le precedenti versioni Diecimila e Duemilanove utilizzano chip adattatori USB-seriale, come gli FT232 di FTDI. Alcune varianti, come la Arduino Mini e la versione non ufficiale Boarduino, usano una scheda o un cavo adattatore USB-seriale staccabile.
Per implementare il comportamento interattivo, Arduino è fornita di funzionalità di input/output (I/O). Tramite le funzionalità di input, la scheda riceve segnali raccolti da sensori esterni. Il comportamento della scheda è gestito dal microcontroller in base ai valori provenienti dai sensori e alle operazioni determinate dal programma in esecuzione in quel momento sulla scheda. L’interazione con l’esterno avviene attraverso attuatori pilotati dal programma, che fornisce le istruzioni per mezzo dei canali di output in dotazione.
La scheda Arduino è dotata di molti dei connettori di input/output per microcontroller in uso su altri circuiti. Tutti i pin di I/O sono collocati sulla parte superiore della scheda mediante connettori femmina da 0,1″. Sono inoltre disponibili commercialmente molte schede applicative plug-in, note come “shields”.
Arduino è utilizzato di solito per lo sviluppo di oggetti interattivi stand-alone, ma può anche interagire, tramite un collegamento e un opportuno codice, con software residenti su computer, come Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider.
L’hardware originale Arduino è interamente realizzato in Italia dalla Smart Projects, mentre cloni
della scheda possono essere realizzati da chiunque in qualsiasi parte del mondo.
Fino a oggi, sono state commercializzate ben 16 versioni dell’hardware Arduino.

Scheda Arduino Uno
Scheda Arduino Uno

Arduino Software

A questo hardware viene affiancato anche un ambiente di sviluppo integrato (IDE) multipiattaforma (o come si direbbe oggi, crossplatform, ovvero disponibile sia per i sistemi Linux, che per quelli Apple e Windows).
L’ambiente di sviluppo integrato (IDE) di Arduino è un’applicazione multipiattaforma scritta in Java, ed è derivata dall’IDE creato per il linguaggio di programmazione Processing e per il software progetto Wiring. È concepita per iniziare alla programmazione neofiti a digiuno dello sviluppo di software.
Per permettere la stesura del codice sorgente, l’IDE include un editore di testo dotato di alcune particolarità, come il syntax highlighting, il controllo delle parentesi e l’indentazione automatica. L’editor è inoltre in grado di compilare e caricare il programma funzionante ed eseguibile sulla scheda con un solo click. I programmi in Arduino vengono chiamati sketch.
Insieme all’IDE sono scaricati vari sketch di esempio, per introdurre l’utente alla programmazione della macchina; i temi sono molto basici: come gestire gli ingressi analogici e digitali, far accendere un LED in modo pulsante e variabile; si possono però anche affrontare problemi più complessi, come la gestione di un display LCD o di una scheda telefonica GSM. Oltre alle librerie già incorporate (più di una decina), l’utente può aggiungerne di nuove con uno strumento di importazione compreso nell’IDE. Per vedere i risultati di uno sketch è attivabile dall’IDE una finestra seriale di monitoring, sulla quale far comparire l’output delle istruzioni Serial.print(parametro) incorporate nello sketch stesso.
Tutto il software a corredo è libero e anche gli schemi circuitali sono distribuiti sotto forma di hardware libero.
Grazie alla base software comune ideata dai creatori del progetto, per la comunità Arduino è stato possibile sviluppare programmi per connettere, a questo hardware, più o meno qualsiasi oggetto elettronico, dal più classico computer, a tutti i tipi di sensori in circolazione, come anche a display ed attuatori.

Bibliografia

Banzi M., 2009, Getting Started with Arduino, Make Books, 1ª ed., 2009
Banzi M., 2011, BetaBook, il manuale di Arduino: Cap. 3 – Un po’ di storia di Arduino, Apogeo
Banzi M., 2012, Arduino La guida ufficiale, Tecniche Nuove
Majocchi S., 2012, Arduino UNO Programmazione avanzata e Librerie di sistema, Vispa Edizioni
Majocchi S., 2016, Primi Passi in Arduino con la scheda Genuino UNO, Edizione gratuita in CC-BY-ND-NC scaricabile da bit.ly/PPcGUbSM, 26 gennaio 2016
Margolis M., 2011, Arduino progetti e soluzioni, Tecniche Nuove.
Schmidt M., 2011, Il manuale di Arduino, Apogeo
Sciamanna L., 2010, Arduino il microprocessore per tutti, Sandit

E per oggi è tutto.
Nella prossima puntata daremo un’occhiata al lato software e alle procedure di installazione del software di programmazione.
Alla prossima

Raspberry pi parte 2: che ci si può fare?

Esistono varie distribuzioni Linux per raspberry a partire dalla versione adattata al single board computer della distribuzione Debian, di cui si diceva anche sopra, Raspbian, in cui sono presenti di base software di calcolo avanzato come Wolfram Matematica e linguaggi di programmazione adatti alla didattica come Scratch, un software per la programmazione visuale a carattere didattico. Altre distribuzioni interessanti possono essere Openwrt, una distribuzione che trasforma il raspberry pi in un router portatile, che consente, ad esempio, di realizzare una rete wireless privata, oppure Openelec, una distribuzione ottimizzata per trasformare il raspberry in un media center, oppure Opendomo, distribuzione indirizzata alla domotica.

Il raspberry è certamente uno strumento più che valido, sia per un po’ di costo e dimensioni ridotti, sia per un primo approccio su robotica e programmazione.
Da un punto di vista didattico, i vantaggi dell’uso di raspberry pi è evidente. Innanzitutto, il costo irrisorio. Un raspberry costa intorno ai 35 euro, più tastiera e mouse in bluetooth (20 euro), cavo HDMi (10 euro) e un monitor (intorno ai 70 euro) non si superano i 150 euro, costo minimo di un pc assemblato appena accettabile (ma, ovviamente, senza monitor).
Inoltre, sul raspberry è già montato un software di calcolo Wolfram Mathematica, che costa di solito 240 euro nella versione desktop standard, ovvero il doppio del costo del raspberry più tastiera e monitor. Poi la versatilità del raspberry consente di utilizzarlo per i primi approcci alla robotica ad ogni livello, dalla primaria alla secondaria di II grado. Esistono inoltre vari elementi che, aggiunti al raspberry, consentono di usarlo per costruire apparecchi elettronici (come la fotocamera con display touch del video https://youtu.be/Jfca32qkgY8) o piccoli robot (come l’R2D2 nel video https://youtu.be/znuUm5vbSpI), controllabili in remoto, con rilevatori di movimento e di distanza, oppure gestire un impianto audio in streaming in varie stanze o un centro di controllo per gli elettrodomestici smart di una casa u(come nel video https://youtu.be/rPUMbV9_geo), oppure, unito a un modulo GPS e a un trasmettitore, diventare un sistema di rilevamento dell’altitudine dei palloni aerostatici, o, infine, costruire un sistema di videosorveglianza e sicurezza. Per fare un esempio, il software di monitoraggio di rete Overlook Fing è stato portato su piattaforma Raspberry Pi rendendo possibile installare sentinelle di monitoraggio a basso costo in reti remote.
Infine, è possibile collegare il raspberry alla scheda Arduino, ampliandone al massimo l’usabilità.
Una nota di colore: due Raspberry, opportunamente accessoriati, sono reduci da una missione sulla stazione spaziale internazionale ISS (il cosiddetto Astro Pi).