lezione 01: Incominciamo con Arduino

Ho deciso di realizzare una serie di dispense per i miei allievi affinché possano operare in maniera semplice con Arduino, un sistema Hardware Open Source di basso costo e grande versatilità programmabile su tutti i sistemi operativi (Mac, Linux e Windows), in grado di controllare luci, motori ed attuatori di ogni genere e realizzare in maniera agevole sperimentazioni in campo robotico.

Queste dispense sono dedicate a tutti i miei allievi.

La realizzazione di questa lezione è basata sul materiale disponibile sul sito di riferimento Arduino.cc

Prerequisiti per seguire il corso:

  • conoscenza del principio di funzionamento di base di un microcontrollore;
  • conoscenza dei costrutti fondamentali della programmazione.

In questa prima lezione vedremo quali sono le parti principali della scheda e come installare l’ambiente di sviluppo.

Poiché sono utente Apple le immagini allegate fanno riferimento a Mac OS X, ma la programmazione non differisce dal sistema operativo utilizzato.

In questa prima parte si assume che voi abbiate a disposizione Arduino Duemilanove, se dovete acquistare la scheda, consultate la sezione “Buy” del sito Arduino.cc

Ho suddiviso l’ingrandimento della scheda in due parti per meglio comprendere i vari elementi presenti sulla scheda:

Per prima cosa, per poter programmare Arduino è indispensabile effettuare il download dell’ultima versione dell’ambiente di sviluppo.

Quando il download è finito effettuate  l’installazione dei driver FTDI.

Se avete un Mac PowerPC  dovete utilizzare i driver PPC: FTDIUSBSerialDriver_v2_1_9.dmg. Se avete un Mac con processore Intel dovete installare FTDIUSBSerialDriver_v2_2_9_Intel.dmg.

Doppio click per montare l’immagine disco ed effettuate l’installazione FTDIUSBSerialDriver.pkg al termine dell’installazione vi verrà richiesto di effettuare il restart del computer:

L’ultima versione dei driver FTDI potete prelevarli sul sito: ftdichip

Connessione della scheda.

Per Arduino Duemilanove la sorgente di alimentazione viene selezionata automaticamente e può avvenire tramite connettore USB o Jack di alimentazione. Appena alimentate la scheda si accenderà il led verde (PWR).

Avvio dell’ambiente di sviluppo.

Mac OSX
Copiate l’applicazione Arduino nella cartella Applicazioni o dove preferite e fate doppio click per avviare.

Windows
Aprite la cartella Arduino e fate doppio click sull’applicazione Arduino.

Questo è ciò che si presenta nella versione Mac:

Eseguire l’upload di un programma

Aprite l’esempio “Blink” che si trova in: File  > Examples > Digital > Blink

si aprirà una nuova finestra con il codice “Blink”:

Selezionate la porta seriale da utilizzare per la comunicazione tra computer ed Arduino:
Tools > Serial Port menu.
Su Mac selezionate /dev/tty.usbserial-A9005fPz.

Selezionate la scheda che possedete nel mio caso Arduino Duemilanove con microcontrollore ATmega168

dal menù Tool > Board >Arduino Diecimila, Duemilanove, or Nano w/ATmega168

Ora fate l’upload del file “Blink” su Arduino facendo click sul pulsante “Upload”

ci vorrà qualche secondo, durante questa operazione vedrete che i led RX e TX (ricezione e trasmissione) lampeggiano, se tutto andrà a buon fine vi verrà restituito il messaggio “Done uploading.” nella staus bar.


Appena terminato l’upload su Arduino il pin 13 (L) corrispondente al led arancione, incomincia a lampeggiare.

Ottimo, avete terminato con successo la prima lezione su Arduino.


Vai alle altre lezioni:

Lezione01: Incominciamo con Arduino Arduino – lezione 02: facciamo lampeggiare un led Arduino – lezione 03: controlliamo un led con un pulsante
Lezione Arduino Lezione Arduino Lezione Arduino
Arduino – lezione 04: realizzare un programma che identifica le variazioni di stato Arduino – lezione 05: controllo presenza  
Lezione Arduino Lezione Arduino  

66 pensieri su “lezione 01: Incominciamo con Arduino

  1. Pingback: Arduino 2009 - Vocescuola

  2. Francesco Rondinelli

    Ciao, la tua prima lezione sull’ uso dell’Arduino mi è stata molto utile…è difficile trovare tutorial in italiano su questo argomento (sembra strano visto che chi li ha creati è italiano!!).
    Spero che questo tuo progetto vada avanti, magari dedicando qualche lezione anche sul linguaggio di programmazione.
    Ti ringrazio, buon lavoro!

    Rispondi
    1. admin Autore articolo

      Grazie Giuseppe.
      Cercherò di mettere al più presto on-line le lezioni realizzate per i miei studenti in questi ultimi mesi.

      Un caro saluto.

      Rispondi
  3. marco

    salve..sono marco e ho da poco comperato arduino.
    ho seguito il tuo tutorial alla lettera ma quando vado a fare l’upload del codice,ottengo il seguente errore:

    avrdude: stk500_recv(): programmer is not responding

    sapresti aiutarmi?
    grazie.
    marco

    Rispondi
    1. admin Autore articolo

      Ciao Marco.

      I motivi per cui si presenta l’errore: “avrdude: stk500_recv(): programmer is not responding”
      potrebbero essere diversi, ma il problema più comune è dovuto ad una non esatta selezione della Board all’interno dell’IDE di programmazione.

      Se usi Arduino Duemilanove come nel mio tutorial, devi selezionare dal menù Tools > Board > Arduino Diecimila, Duemilanove, or Nano W/ ATmega168
      che nell’ultima versione 0021 la trovi come terza voce di menù e non seconda come nel mia spiegazione in quanto il tutorial si riferisce ad una versione precedente alla 0021.

      Fammi sapere se hai risolto.

      Saluti.

      Rispondi
      1. Max

        Ciao Michele,
        sono alle prime armi con Arduino e ho trovato il tuo sito proprio cercando la soluzione al problema
        “avrdude: stk500_recv(): programmer is not responding”.
        Nessuna delle soluzioni trovate in rete sembrano fare al caso mio, posso chiederti se ne capisci qualcosa?
        Ho Arduino Uno su un Macbook Pro 5,1 con OSX 10.5.8. Ad ogni tentativo di caricare uno sketch (di solito uso il “blink” test) la risposta è sempre
        “avrdude: stk500_recv(): programmer is not responding”.
        Il problema dev’essere software perché lo stesso Arduino Uno che sto usando funziona sia su altri computer che sul mio stesso Mac su Windows in bootcamp!
        Ho provato diversi tempi di upload-reset e ad alimentare l’Uno esternamente ma niente da fare. Saranno 2 settimane che ci sbatto la testa senza uscirne! Ti ringrazio intanto per l’attenzione e complimenti per il tuo impegno!
        Max

        Di seguito ti riporto il verbose output in upload:

        avrdude: Version 5.11, compiled on Sep 2 2011 at 18:52:52
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2009 Joerg Wunsch

        System wide configuration file is “/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf”
        User configuration file is “/Users/erarosso/.avrduderc”
        User configuration file does not exist or is not a regular file, skipping

        Using Port : /dev/tty.usbmodem621
        Using Programmer : arduino
        Overriding Baud Rate : 115200
        avrdude: Send: 0 [30] [20]
        avrdude: Send: 0 [30] [20]
        avrdude: Send: 0 [30] [20]
        avrdude: ser_recv(): programmer is not responding
        avrdude: stk500_recv(): programmer is not responding

        Rispondi
        1. admin Autore articolo

          Ciao Max.

          Grazie per avermi contattato, scusami se non ti ho risposto subito ieri.
          Sto cercando adesso di studiare la tua problematica.

          Ti chiedo di chiarirmi solo alcune cose:

          1. mi confermi che la scheda Arduino funziona ovunque ma non sul tuo Mac?
          2. Quale versione dell’IDE stai usando? (UNO, 0023, altro…)

          In ogni caso prova ad agire in questo modo:

          1. Collega direttamente via USB la tua scheda al Mac, non passare per un hub.

          2. Verifica che sia selezionata la porta seriale corretta:
          Tools -> Serial Port -> /dev/cu.usbmodem411

          3. Sul tuo portatile usi una chiavetta 3G per collegarti ad internet? Se si disinstalla il driver della chiavetta e prova.

          4. Dai uno sguardo al tutorial: Oggi sperimentazione interessante in classe: Arduino bloccato vedi se ti può aiutare.

          Fammi sapere se risolvi, nel mentre studio nel dettaglio il problema.

          Saluti.

          Rispondi
          1. Max

            Fantastico. Funziona.
            Dopo aver letto alcuni post avevo già provato le soluzioni da te suggerite, inclusa la rimozione dei driver internet key, ma senza successo. Proprio questa si è rivelata però la mossa vincente! Dopo il tuo suggerimento di rimuovere i driver della chiavetta mi sono accorto che (vuoi per pigrizia o altro) avevo solo rimosso i file dell’applicazione principale della chiavetta di Internet mentre ora, dopo averci ri-sbattuto la testa, ho scaricato l’uninstaller dal sito che, ovviamente, ha pulito tutto per bene. Morale: nel mio caso il problema era dovuto ai driver della chiavetta internet e per risolverlo mi è bastato rimuoverli scaricando l’apposita applicazione dal sito del produttore. Spero che sia d’aiuto se a qualcuno dovesse capitare lo stesso problema 😉 Michele ti ringrazio di cuore per la tua disponibilità e scrupolo e ti auguro mille altre soddisfazioni con le tue attività!
            Ciao!
            Max

  4. marco

    risolto : l’ide non salvava l’impostazioni della scheda selezionata e quindi anche se mettevo arduino 2009 ecc ecc restava sempre selezionata la prima voce.ho reinstallato l’ide e sembra non avere problemi 😉

    Rispondi
  5. admin Autore articolo

    Bene!
    Sono contento che hai risolto.
    Se sviluppi qualcosa di interessante fammi sapere che condividiamo problemi e soluzioni.

    Saluti.

    Rispondi
    1. admin Autore articolo

      Salve.

      Nella colonna destra del sito trovi un’immagine-pulsante che ti porta nella sezione Arduino, in questa sezione trovi le altre 2 lezioni che ho realizzato più una serie di risorse che possono esserti di aiuto.
      Prossimamente metterò on-line la quarta lezione.
      Credo comunque di realizzare altre lezioni in quanto sto implementando unità didattiche per i miei studenti che vorrei rendere pubbliche.

      Saluti.

      Rispondi
  6. admin Autore articolo

    Ciao Daniele.
    Bene! 🙂 vedrai che non te ne pentirai.

    Io ho appena acquistato: Arduino XBee 802.15.4, modulo Bluetooth e lo shield Ethernet con cui sto facendo parecchia esperienza e devo dirti che ho in mente tantissime applicazioni in campo robotico e domotico che spero di riuscire a spiegare ai miei allievi a scuola.

    Un caro saluto.

    Rispondi
  7. Michele

    Che bellissime lezioni spero ne metterai ancora in rete, sei davvero bravo…. io da perfetto inesperto ancora devo comprare ARDUINO però dalla spiegazione che dai sembra molto facile iniziare . Puoi dirmi gentilmente quale ARDUINO prendere UNO o DUEMILA…. visto che vorrei prenderlo da amazon. Se vuoi possiamo sentirci per skype

    Rispondi
  8. admin Autore articolo

    Ciao Michele.
    Grazie per i complimenti.

    Si metterò altre lezioni on-line, troverai sempre tutte le risorse ad Arduino facendo click sull’icona Arduino con titolo: “Arduino che passione” nella colonna destra.
    Ho aggiunto da poco al fondo di ogni lezione link a tutte le lezioni realizzate.
    Tieni in conto che nel prossimo futuro oltre alle lezioni aggiungerò esercitazioni e documentazione, se vuoi ti consiglio di iscriverti al mio feed rss per restare aggiornato.

    Per quanto riguarda cosa comprare Arduino 2009 o Arduino UNO ti rispondo che vi sono alcune differenze, elettroniche, che nel caso di chi incomincia ad imparare sono ininfluenti, in breve posso dirti che le due schede differiscono nell’interfaccia seriale-USB e nel Bootloader ed in alcune scelte tecnologiche che ne diminuiscono i costi di produzione (ma non all’utente finale), in alcuni particolari casi Arduino UNO ha prestazioni inferiori (ma si parla di particolarissimi campi di utilizzo), ma ti assicuro che si programma allo stesso modo e i programmi (sketch) sono interscabiabili sia su 2009 che su UNO e l’IDE (ambiente di sviluppo) è il medesimo. Io posseggo entrambe le schede e non ho alcun tipo di problema.
    On-line troverai tantissima documentazione su Arduino 2009 solo perché è il più vecchio ed il più utilizzato, ma certamente in un futuro ancora lontano Arduino UNO sostituirà Arduino 2009.
    Se la cosa può servire, ho ordinato da poco per la scuola presso cui insegno, 25 schede Arduino UNO per predisporre un nuovo corso da impartire ad una 4′ elettronici.

    Saluti.

    Rispondi
  9. Michele

    Perfetto pensi sia possibile avere un scheda di arduino UNO con uno starter kit? ti ho aggiunto su facebook. Ottima delucidazione, ma i corsi che farai saranno anche online?

    Rispondi
  10. admin Autore articolo

    Ciao Michele.

    Si è possibile, anche se credo che possa essere sufficiente comprare Arduino UNO e poi di volta in volta gli shield che necessitano in funzione delle esigenze. La componentistica la trovi in qualsiasi negozio di elettronica.
    Se però hai proprio necessità di un kit che comprenda i principali sensori con qualche attuatore, dai uno sguardo su cooking hacks trovi il prodotto: ELECTRONIC BRICK – STARTER KIT, attualmente non è disponibile, ma prova a scrivergli sono gentili, magari ti danno ulteriori informazioni.
    Su cooking hacks nella sezione Arduino saving paks trovi una serie di offerte interessanti in funzione dei tuoi interessi.
    Se non riesci prova a vedere su seeedstudio hanno anche loro ELECTRONIC BRICK – STARTER KIT però senza la scheda Arduino UNO che devi comprare a parte.
    Un altro prodotto, un po’ più semplice lo trovi su sparkfun e il kit: SparkFun Inventor’s Kit for Arduino with Retail Case.
    Prova a guardare sempre su SparkFun: Starter Kit for Arduino – Flex.
    Se trovo altro ti faccio sapere.

    Per quanto riguarda i corsi di cui mi chiedi saranno in presenza, a scuola e probabilmente distribuirò liberamente slide ed esercizi on-line, quindi quando saranno disponibili, se serve usali pure senza nessun problema.

    Saluti.

    Rispondi
  11. admin Autore articolo

    Ciao Michele.

    Mi chiedi quale suggerirei tra Arduino 2009 o Arduino UNO,
    vai tranquillamente su Arduino UNO.

    Saluti.

    Rispondi
  12. Antonio cosentino

    Ciao. Ho scoperto arduino da meno di 24 ore e ho appena ordinato la scheda da robot italy, il quale pero’ non ha saputo consigliarmi nulla sul genere di applicazioni da me richieste.Io sono un documentarista è costruisco quasi sempre da me l’attrezzatura necessaria al tipo di lavor che devo fare.Da qualche anno ho costruito una testa motorizzata per riprese.Il pregetto si è arresto qualche mese fa per mancanza di infomazioni, riguardo al progetto di muvere la testa con un giroscopio e un accellerometro. Cosa che a farla breve ho trovato su yuoutube con la scheda arduino.
    Mi mancano un pio di elementi.Il primo, i driver per mac il secondo uno schema per collegare un joystik wee (credo si scriva così) per realizzare il progetto in questione. Partedo dal presupposto che sia un ignorante di proporzioni apocallittiche( almeno in elettronica) potresti darmi una mano come un adulto potrebbe fare con un bambino? :)Umilmente grazie Tony

    Rispondi
  13. Giuseppe

    Buonasera professore, volevo chiederle dell’esistenza di simulatori di queste schede, tutto su pc. Volevo provare prima di acquistare una scheda Arduino a scrivere qualcosa e vedere se funziona. Sapete se esiste qualcosa di simile?

    Rispondi
  14. Mauro_66

    Salve Prof,

    rapida presentazione: CPU del 1966, diplomato T.I.E.E. ma dipendente di pubblica amm.ne. La passione per l’elettronica mi accompagna da bambino, soprattutto quella applicata alle ricatrasmissioni radio (sono radioamatore). Purtroppo la mia esperienza con la programmazione si ferma al basic con il C64 !!!

    A 45 anni ho deciso di passare l’inverno cercando di capirci qualcosa nel linguaggio di programmazione, stavo appunto iniziando qualcosa con i PIC quando ho scoperto Arduino. Due sole domande:

    1) sarà ostico per chi non conosce linguaggi di programmazione affrontare l’avventura Arduino ?!

    2) ho notato che non è stato pubblicato uno schema base del microcontrollore, ma tutti gli esperimenti vengono effettuati con una scheda microcontrollore e una basetta millefori. Capico che il motivo sia legato all’interfaccia di programmazione e alla possibilità di interagiere con un eventuale software compilato, ma se il microcontrollore deve lavorare senza una interfaccia grafica, ha un suo circuito base
    (vedi quelli dei PIC) ove poter applicare il microcontrollore una volta programmato ?

    Mi scuso per le domande che possono apparire banali.

    Grazie

    Rispondi
    1. admin Autore articolo

      Ciao Mauro.

      Risposta 1
      Se non hai mai utilizzato un linguaggio di programmazione all’inizio del percorso potrebbe risultare un po’ più difficile, ma ti assicuro che è possibile, prova a seguire le lezioni che ho realizzato on-line, ho usato un approccio graduale alla programmazione, dove fin dall’inizio si sperimenta, quindi la voglia di imparare dovrebbe in teoria avvenire in automatico :-).
      Dalla prossima settimana, visto che incomincerò nuovamente i miei corsi su Arduino a scuola, amplierò le lezioni e i consigli on-line e magari, visto che la tua richiesta sull’apprendimento del linguaggio di programmazione non è l’unica che mi è giunta, magari dedicherò alcune lezioni più sul linguaggio.

      Risposta 2
      Puoi agire in due modi, compri una scheda Arduino UNO o simili, la programmi e la inserisci nel tuo sistema, oppure compri il solo microcontrollore e qualche componente accessorio, realizzi un circuito che ha funzionalità simili ad Arduino UNO, lo programmi con l’IDE Arduino e lo inserisci poi nel tuo sistema, il tutto ad un prezzo che è circa 1/3 del valore della scheda acquistata. Agendo in questo modo avrai delle limitazioni rispetto alla versione acquistata, che meglio si presta alla sperimentazione in laboratorio, ma una volta che hai prototipato il tuo sistema potresti passare ad una versione custom con i soli componenti essenziali. La seconda parte sarà motivo di lezione (anche on-line).

      Saluti.

      Rispondi
    1. admin Autore articolo

      Ciao Salvatore, ci sei già 🙂
      nessun forum, per ora solo commenti liberi ai post, se riesco con i tempi rispondo io alle domande o se altri utenti lo desiderano possono rispondere liberamente. Tutto abbastanza libero, blocco solo qualche flame.
      Poiché le richieste di aiuto sono moltissime io non riesco a rispondere a tutte le domande, però l’idea tua di aprire un forum potrebbe essere la soluzione, vedrò se riesco a realizzarla, il problema è sempre il tempo da dedicare alla moderazione.
      Grazie per essere giunto su questo sito, spero possa servirti.

      Saluti.

      Saluti.

      Rispondi
  15. daniele

    Salve prof,da poco ho cominciato a cimentarmi con arduino assemblando un dfrobot.
    ho montato un arduino romeo, ma non riesco a far muovere il mio rover,non riesco a dargli i comandi.Premetto che ho scaricato il programma…
    1 nella bord del programma non c’e la mia scheda,perche?quale devo usare?
    2 esistono programmi gia fatti per far muovere i rover con tastiera?
    grazie e saluti daniele

    Rispondi
    1. admin Autore articolo

      Non conosco direttamente RoMeo, ma da ciò che vedo su dfrobot vendono due kit:

      4WD Mobile Platform(with Romeo)

      e

      Rover 5 Tank Kit (Powered by Romeo and Xbee)

      oppure solamente il controller:
      Romeo-All in one Controller (Arduino Compatible Atmega 328)

      Per quanto riguarda il controllo mediante tastiera, prova a studiare il progetto:

      4WD arduino romeo programming (how to do several action in the same time)

      Spero che queste informazioni possano esserti di aiuto.

      Saluti

      Rispondi
  16. mattia

    Salve, ho fatto questo programma con l’arduino uno per lampeggiare i led:

    int redPin = 10;//led connesso al pin digitale 10
    int yellowPin = 9;//led connesso al pin digitale 9
    int greenPin = 8;//led connesso al pin digitale 8
    void setup() { //ripeti una sola volta quando il programma inizia
      pinMode(redPin, OUTPUT);//imposta il pin come uscita
      pinMode(yellowPin, OUTPUT);//imposta il pin come uscita
      pinMode(greenPin, OUTPUT);//imposta il pin come uscita
    }
    void loop() {  //esegui più volte
      digitalWrite(redPin, LOW);// imposta il pin digitale a livello basso
      digitalWrite(greenPin, HIGH);// imposta il pin digitale a livello alto
      digitalWrite(yellowPin,LOW);//imposta il pin digitale a livello basso
      delay(10000);//attende 10 secondi
      digitalWrite(greenPin,LOW);//imposta il pin digitale a livello basso
      for(int x = 0; x < 10; x++) { //ripeti 10 volte
        digitalWrite(yellowPin,HIGH);//imposta il pin digitale a livello alto
        delay(500);//attende 500ms
        digitalWrite(yellowPin,LOW);//imposta il pin digitale a livello basso
      }
      digitalWrite(yellowPin, LOW); // imposta il pin digitale a livello basso
      digitalWrite(greenPin, LOW); // imposta il pin digitale a livello basso
      digitalWrite(redPin, HIGH); //imposta il pin digitale a livello alto
      delay(10000); // attendi 10 secondi
    }
    

    però alla fine mi viene il messaggio:
    avrdude: stk500_getsync(): not in sync: resp=0x00. Cosa devo fare? Vi prego aiutatemi, grazie…

    Rispondi
    1. admin Autore articolo

      Ciao Mattia.
      Se ti viene restituito questo errore vuol dire che Arduino non risponde.
      I motivi potrebbero essere:

      1. non selezionata la porta seriale corretta (Tools -> Serial Port);
      2. non selezionata la scheda corretta (Tools -> Board -> Arduino Uno);
      3. driver installato non corretto.

      Fammi sapere.

      Saluti.

      Rispondi
  17. Ccris

    Salve, volevo mettervi al corrente di cosa ho fatto con Arduino su un mezzo elettrico..
    Se vi interessa in questa categoria del mio blog ho appena inserito qualche voce, poi c’e’ anche un video . L’obiettivo è stato quello di leggere ampere, volt , velocità e temperatura, inoltre le loggo da PC per farci dei gran bei grafici 🙂
    http://ccriss7z.wordpress.com/category/arduino/

    A breve tentero’ il collegamento con bluetooth, magari ricorrero’ a qualche vostro consiglio se disponibile.

    Ciao

    Rispondi
    1. admin Autore articolo

      Ciao.

      Molto interessanti i tuoi lavori, complimenti!
      Sto leggendo con interesse le tue sperimentazioni e mi stanno dando suggerimenti utili per alcune lezioni a scuola.

      Grazie ancora, tornerò a trovarti.
      Un caro saluto.

      Rispondi
  18. Tommaso

    Salve!
    Spero che qualcuno posso aiutarmi a trovare la soluzione di questo problema.
    Fino a quando o cercato di installa processing il programma arduino non mi dava punti problemi; ma dopo aver cercato di installare processing ogni qual volta che provo a complicare un programma, esempio mi da il seguente errore.

    In attesa di una vostra risposta vi ringrazio anticipatamente

    P.S ho cercato di fare di tutto anche eliminare tutti i files di arduino e ripartire dal inizio

    processing.app.SerialException: La porta seriale ‘/dev/tty.usbmodemfa141’ è già in uso. Provate a chiudere i programmi che potrebbero usarla.
    at processing.app.Serial.(Serial.java:171)
    at processing.app.Serial.(Serial.java:77)
    at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:77)
    at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
    at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
    at processing.app.Sketch.upload(Sketch.java:1706)
    at processing.app.Sketch.exportApplet(Sketch.java:1662)
    at processing.app.Sketch.exportApplet(Sketch.java:1634)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
    at java.lang.Thread.run(Thread.java:680)
    processing.app.debug.RunnerException: La porta seriale ‘/dev/tty.usbmodemfa141’ è già in uso. Provate a chiudere i programmi che potrebbero usarla.
    at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:101)
    at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:172)
    at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67)
    at processing.app.Sketch.upload(Sketch.java:1706)
    at processing.app.Sketch.exportApplet(Sketch.java:1662)
    at processing.app.Sketch.exportApplet(Sketch.java:1634)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2346)
    at java.lang.Thread.run(Thread.java:680)

    Rispondi
  19. Fil

    ciao.
    Io ho la passione per la programmazione ma sono molto giovane,sto per finire le medie,ho fatto un corso per HTML.
    Potresti darmi qualche link su delle basi della programmazione in generale ?
    ciao a presto

    Rispondi
    1. admin Autore articolo

      Ciao Fil

      Prova ad effettuare una ricerca con chiave “programmazione” usando il campo cerca che trovi nella colonna destra di questo sito, troverai una serie di consigli che ho dato tempo fa ad altri studenti. Le risorse per lo studio sulla programmazione che ho segnalato in passato sono gratuite. Se desideri invece acquistare un buon libro di programmazione C dai uno sguardo a: C. Corso completo di programmazione – Paul J. Deitel € 33,15 su Amazon.it

      Grazie per essere passato sul mio blog.

      Un caro saluto.

      Rispondi
  20. Stefano

    Salve, mi sto anch’io avvicinando al mondo Arduino grazie a lei. Le faccio i complimenti per tutta questa seria di tutorial molto esaustivi, ma volevo chiederle una cosa. Sto usando Arduino 2009 e volevo collegarci un alimentatore 12V (quello del mio hdd esterno perchè ho visto che è 12V), poi un relè sempre a 12V per accendere e spegnere una lampada a 220V (volevo prendere questo: http://www.ebay.it/itm/320944429776?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649). Lei cosa ne pensa? Funzionerà oppure devo per forza prendere un alimentatore 5V e con i relè sempre a 5V? Grazie mille!

    Rispondi
    1. admin Autore articolo

      Salve Stefano.

      Grazie per aver letto i miei tutorial.
      Per quanto riguarda l’alimentazione di Arduino 2009 come da specifiche tecniche che puoi trovare sul sito Arduino: http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove

      Operating Voltage: 5V
      Input Voltage (recommended): 7-12V
      Input Voltage (limits): 6-20V

      quindi puoi alimentare anche a 12V.

      Per quanto riguarda il pilotaggio di un relè la cui bobina viene eccitata a 12V, si ha una corrente di assorbimento superiore a quella che potrebbe fornirti il tuo Arduino 2009 (40 mA), ciò accadrebbe anche per relè a 5V pertanto hai necessità costruire un piccolo circuito, opportunamente dimensionato costituito da transitor, diodo e resistenza. Nel caso di un relè a 12V devi alimentarlo esternamente, mentre per un relè a 5V potresti utilizzare anche i 5V forniti da Arduino.

      Per il circuito di pilotaggio di base per un relè a 5 V puoi fare riferimento ad esempio a questo schema: http://www.arduino.cc/playground/uploads/Main/relays.pdf

      Saluti.

      Rispondi
  21. cricolo

    salve, intanto complimenti per il sito e tutte le varie guide..molto molto utili. Dopo aver acquistato un raspberry pi ora volevo provare un po’ arduino, ma ci sono tante tipologie (arduino UNO, arduino UNO R3, arduino Duemilanove, arduino Due).. l’ultimo realizzato in senso temporale da quello che ho letto e capito (almeno mi sembra) è Arduino Due, ma ha un microcontrollore completamente diverso e molta potenza. Lei quale mi consiglia? io sono propenso per Arduino UNO R3, ma da ignorante in materia non vorrei sbagliare per questo mi rivolgo a Lei…concludendo rinnovo ulteriormente i miei complimenti

    Rispondi
    1. admin Autore articolo

      Salve.

      Tutte le schede che hai menzionato possono essere utilizzate per l’apprendimento, il mio consiglio però è quello di indirizzare la tua attenzione su Arduino UNO R3, trovi moltissima documentazione e una vasta disponibilità di shield di terze parti che potrai utilizzare con la scheda.

      Grazie per aver letto i miei appunti.
      Saluti.

      Rispondi
  22. Daniele

    Salve, possiedo un mac e vorrei acquistare una scheda arduino, potreste consigliarmi sul modello più compatibile per cominciare a muovere i primi passi?
    Grazie

    Rispondi
    1. admin Autore articolo

      Ciao Daniele

      Non ci sono problemi di compatibilità con il mondo Mac, io stesso sono da sempre utente Mac ed ho incominciato ad usare Arduino 2009 per poi passare ad Arduino UNO, Arduino UNO R3 e ad Arduino DUE.

      Nel tuo caso ti consiglio Arduino UNO Rev3, lo trovi su molti store on-line tra cui quello di Arduino, questi i riferimenti: http://store.arduino.cc/it/index.php?main_page=product_info&cPath=11&products_id=195

      oppure in qualsiasi negozio di elettronica ben fornito.

      Saluti.

      Rispondi
  23. Nicola

    Buongiono professore vorrei un consiglio : ho visto ci sono alcuni starter kit che usano atmega328 e altri atmega328p vorrei sapere se sono la stessa , cioe’ posso far riferimento alla sua lezione 1 acquistando indifferentemente uno o l’altro ? Grazie

    Nicola

    Rispondi
    1. admin Autore articolo

      Ciao Nicola.

      La differenza tra atmega328 e atmega328p risiede nel fatto che la versione P consuma di meno. Ma in ogni caso dal punto di vista della programmazione sono identici se la fai tramite l’IDE di Arduino a meno che tu non faccia cose particolari programmandolo via ISP. Se usi una qualsiasi scheda Arduino dalla 2009 in avanti fino alla UNO R3 puoi seguire le lezioni che ho inserito.

      Saluti.

      Rispondi
  24. Angiolino

    Ciao,ho appena scoperto Arduino,non sono interessato alla robotica,ma vorrei sapere se è possibile programmare Arduino per controllare motori a 220 v,sia per l’accensione,e spegnimento,che per modulare la velocità.Se è possibile,cortesemente mi faccia sapere .Laringrazio anticipatamente Angiolino

    Rispondi
  25. Michele

    Buonasera,
    Non so se sto ponendo le domande giuste alla persona giusta. Ho reperito il Suo indirizzo Mail da alcuni Blog navigando fra le varie informazioni su Arduino presenti sulla rete.
    Vorrei costruire, e non so nemmeno da dove cominciare, una interfaccia per il mio impianto Fotovoltaico; un amico mi ha parlato di Arduino ed ho iniziato a leggere qualcosa.
    Benché mi sia diplomato in Elettronica ed Elettrotecnica ormai più di venti anni fa, ho abbandonato perché lavoro in tutt’altro campo, anche se qualcosa ricordo. Le nozioni che ho letto, però mi rimangono un po’ nuove quindi vorrei informarmi un po’ di più, ma prima di acquistare vorrei conoscere da chi ne sa e capire se eventualmente potesse seguirmi nei vari passaggi.

    Il mio quesito è questo:

    Ho un impianto Fotovoltaico, e come tutti gli impianti produce c.a. 2 Kw/h che non vengono sempre utilizzati e quindi reinmessi in rete. Io vorrei sfruttarli automaticamente.
    Quando l’impianto produce e non viene utilizzato, un dispositivo dovrebbe leggere la potenza in uscita sul contatore bidirezinale dell’ENEL e far in modo di commutare su di un utilizzatore da me scelto. Quando però c’è un calo di produzione al di sotto del valore dell’utilizzatore prescelto, oppure l’aumento di assorbimento dall’impianto, causato dall’eventuale attivazione di un altro utilizzatore, in automatico, l’interfaccia deve rilevarlo e disconnettere l’utilizzatore che io avevo scelto in precedenza, riattivandolo solo nel momento in cui ritornassero favorevoli le situazioni. ( disconnessione dell’altro utilizzatore e/o riaumento della potenza reinmessa)
    Le faccio un esempio: Sto producendo 1,8 Kw che non vengono usufruiti, vorrei quindi alimentare uno scaldabagno con potenza da 1,5 Kw. La produzione scende al di sotto dei 1,5 Kw, l’interfaccia deve disconnettere.
    Durante l’alimentazione dello scaldabagno, viene azionata la lavatrice con consumo superiore a 1,8 Kw prodotti, l’interfaccia deve disconnettere.
    In qualità di esperto del settore, Le volevo quindi chiedere se ciò è possibile con Arduino e le sue componentistiche, eventualmente di cosa avrei bisogno,e se potesse indirizzarmi sulla progettazione e realizzazione.
    Io possiedo un MacBookPro con OS X Maveriks, può essere interfacciato per la programmazione di Arduino?
    Attendendo Sua Gentile Risposta, porgo Cordiali Saluti scusandomi per l’eventuale disturbo arrecatoLe.

    Cordialmente Michele Minucci

    Rispondi
  26. alfredoli

    Vediamo un po ci riprovo,
    Questo programma usa un display lcd a Quattro righe per quello che voglio fare io non basta, vorrei avere I dati misurati, ben ordinati in una finestra di Windows sul PC. Di seguito spiego come:
    /* Voltmeter (programma é da arduinoprojects101
    Voltmeter base on voltage divider concept.
    Code based on: http://www.clarenceho.net:8123/blog/articles/2009/05/17/arduino-test-voltmeter
    Coded by: arduinoprojects101.com */
    // Qui bisognerebbe prender in considerazione almeno un monitor SVGA
    #include // include the library code:

    LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // initialize the library
    //with the numbers of the interface pins

    int analogInput = 1; // variables for input pin and control LED
    float vout = 0.0;
    float vin = 0.0;
    float R1 = 50000.0; // !! resistance of R1 !! adattabili in 5 decadi con r1.. r5 da
    float R2 = 4400.0; // !! resistance of R2 !! 9MR giu a 900R

    int value = 0; // variable to store the value

    void setup(){ // Questa Fuzione dovrebbe essere adattata per mandare dati al PC
    pinMode(analogInput, INPUT); // declaration of pin modes
    lcd.begin(16, 2); // set up the LCD’s nr. of columns and rows:
    lcd.print(“Vin=”); // assegnazione del valore ad una variabile da mandare al PC
    }

    void loop(){
    value = analogRead(analogInput); // read the value on analog input
    vout = (value * 5.0) / 1024.0; //attare questo calcolo per Arduino due 4096, 3,3V
    vin = vout / (R2/(R1+R2)); // un partitore di tensione a 5 stadi da 200 giu a 20mV

    lcd.setCursor(4, 0); // print result to lcd display
    lcd.print(vin); // adattare questi Valori per la trasmissione al PC
    lcd.print(“V”);

    // sleep…
    delay(500);
    }
    Coasa mi manca un SW adatto a scrivere un programmino di pannello virtuale di commando per:
    La scelta dei campi di misura del voltomtro
    Scelta dei canali
    Scelta dell’assegnazione del port com X da parte di window
    La tolleranza di corrente dei canali dimisura di DUE per dimensionare i partitori ma comunqu poco problematico perché il lettore è di valore moto alto (10 MR)
    Spero possiate aiutarmi per la parte display e trasmissione dati
    Cordialmente alfredo

    Rispondi
    1. admin Autore articolo

      Ciao Matteo.
      Grazie.

      Si possibile, però mi chiedi di farti lo sketch 🙂 , da bravo maker prova a sperimentare, molte informazioni le trovi già online, se poi hai difficoltà scrivimi.

      Procedi per passi:

      1. imparo a comandare un relè con Arduino
      2. imparo ad usare ZigBee

      Fammi sapere.

      Saluti.

      Rispondi
  27. Marco

    Salve, sono un collega di un itis di genova. Utilizzo Arduino con gli studenti da 2 anni. Quest’anno abbiamo rinnovato i computer del laboratorio e siamo passati da XP a Win7. Ci sono dei problemi con Arduino IDE che non si apre se chi è loggato non è amministratore della macchina. Hai anche tu questo problema? Grazie.

    Rispondi
    1. admin Autore articolo

      Gentile Franco.

      Se l’intenzione è utilizzare Arduino per costruire una calcolatrice, sì può farlo, una rapida ricerca su Google ad esempio: “calculator with arduino” oppure “scientific calculator with arduino” le darà immediatamente una serie di esempi interessanti.

      Saluti.

      Rispondi
  28. Tony Fede

    Salve. Avrei un idea per una applicazione di Arduino nel campo degli ausili per ciechi. Potrei contattarla privatamente per valutare la sua fattibilità?

    cordiali saluti

    Tony Fede

    Rispondi
    1. admin Autore articolo

      Gentile Sig. Fede

      Perdoni la risposta tardiva.
      Certamente può contattarmi privatamente, mi scriva direttamente alla mia mail che trova sul sito.

      Cordiali saluti.

      Rispondi
      1. tony fede

        Grazie per la risposta…… sicuramente molto gradita……ma….mi perdoni non ho trovato la sua mail privata…..potrebbe inviarmela?

        cordiali saluti
        Tony Fede

        Rispondi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.