Archivi tag: blink

Arduino for dummies

Arduino è il nome di una piattaformahardware per lo sviluppo di applicazioni basate sui microcontrollori ATMEL.

Ideata in Italia nel 2005, è basata su una semplicissima scheda di I/O e su un ambiente di sviluppo che usa una libreria Wiring per semplifi care la scrittura di programmi in C e C++ da far girare sulla scheda.

Il progetto Arduino ha preso avvio in Italia ad Ivrea, nel 2005, con lo scopo di rendere disponibile a progettisti, studenti e semplici hobbisti, un dispositivo di sviluppo facile ed allo stesso tempo più economico rispetto a simili sistemi di prototipazione.

A ottobre 2008 erano già stati venduti più di 50.000 esemplari di Arduino in tutto il mondo.

Le schede uffi ciali usano i chip della serie megaAVR (nello specifi co, i modelli ATmega8, ATmega168, ATmega328, e ATmega1280) ma i loro cloni sono disponibili anche con altri microcontrollori.

atmega328

La scheda Arduino è pre-programmata con un bootloader che semplifi ca il caricamento dei programmi nella memoria Flash incorporata nel chip, rispetto ad altri dispositivi che richiedono, solitamente, un programmatore esterno.

L’ambiente di programmazione integrato (IDE) di Arduino è un’applicazione multipiattaforma scritta in Java, ed è derivata dall’IDE creato per il linguaggio di programmazione Processing e adattato al progetto Wiring. È concepito per introdurre alla programmazione hobbisiti e neofiti, a digiuno di pratica nello sviluppo di software.

Per poterla programmare da remoto senza alcun specifico programmatore, il microcontrollore viene fornito preprogrammato con uno specifico bootloader che instraderà in modo corretto il firmware nell’apposita area di memoria EEPROM durante la fase di programmazione.

Collegare l’arduino al nostro pc è estremamente semplice, bisogna collegare tramite cavetto USB l’arduino al PC

usbplugged_t

Una volta collegata la nostra arduino alla porta usb avvengono due cose:
1. viene data alimentazione alla nostra scheda che eseguirà da subito l’ultimo codice da noi caricato.
Solitamente, la scheda arduino viene venduta con lo sketch “blink” già caricato su di essa, infatti un led smd post al di sotto del pin 13 inizierà a lampeggiare.

diecledplaced

2. arduino verrà riconosciuta dal nostro pc come periferica esterna: se si ha una duemilanove bisogna installare i driver del chipset (non open) FTDI, se è una UNO verrà riconosciuta automaticamente.

I programmi, nel mondo arduino, vengono chiamati “sketch”.
Gli sketch vengono scritti, compilati e caricati sulla nostra scheda tramite l’IDE ufficiale.

Una volta scaricata l’IDE dal sito ufficiale arduino.cc accertiamoci di aver selezionato la giusta porta COM della nostra arduino:

winportselect

E come target-board, la giusta scheda:

Arduino_IDE_Board_Select

Sulla nostra ide 1.0.1 avremo i seguenti pulsanti:

cattura3a
Verifica, Carica, Nuovo, Apri, Salva e Monitor Seriale.

Possiamo tradurre i tasti in questo modo:

Verifica: compila ma non carica il binario nel chip

Carica: compila e carica il binario

Nuovo: apre un nuovo file

Apri: un file salvato

Salva: un file da noi scritto

Monitor Seriale: apre un monitor in ascolto sulla seriale di arduino, sarà la nostra finestra di colloquio con arduino. Riceveremo e mandermo caratteri.

Avremo a disposizione decine di sketch già preconfezionati da poter testare da subito sulla nostra scheda:

immaginesui

Il primo sketch che andremo a compilare e caricare sulla nostra scheda è un pò come il nostro primo “hello world” scritto in C qualche anno fa.
In particolare apriremo l’esempio “blink”:

/*
  Blink
  Accende il LED per un secondo, lo spegne per un altro secondo, ripetutamente
 */

//Il pin 13 ha un LED smd già saldato sulla maggior parte delle schede Arduino
//diamogli un nome:
int led = 13;

//la routine setup gira una sola volta dopo aver dato alimentazione o premuto il tasto reset
void setup() {                
  // inizializza il pin digitale 13 come output
  pinMode(led, OUTPUT);     
}

// la routine loop esegue le istruzioni all'infinito
void loop() {
  digitalWrite(led, HIGH);   // accende il led (HIGH il massimo voltaggio 5v)
  delay(1000);               // wait per un secondo
  digitalWrite(led, LOW);    // spegne il led (LOW è la più bassa tensione)
  delay(1000);               // aspetta per un secondo
}

Premiamo sul pulsante “Carica” e….

myblinkupload

Eventualmente, si può innestare un led esterno (correttamente orientato) tra il pin GND e 13 come in molti esempi:

ngled_t

Non è propriamente corretto inserirlo direttamente in quanto il led verrebbe sovralimentato, andrebbe collegato con una resistenza da 1KOhm in serie, in questo modo:

led13bb_t lesson3sch4

 

Il nostro primo “hello world” è terminato!

 

fonti:
adafruit.com
elettronicaIN