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  
Questa voce è stata pubblicata in arduino, elettronica e contrassegnata con , . Contrassegna il permalink.

66 risposte a lezione 01: Incominciamo con Arduino

  1. Pingback: Arduino 2009 - Vocescuola

  2. Francesco Rondinelli scrive:

    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!

  3. Paolo scrive:

    Tutorial ben fatto, grazie

  4. Giuseppe Rotolo scrive:

    Complimenti una lezione magistrale.
    in attesa delle prossime

    • admin scrive:

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

      Un caro saluto.

  5. marco scrive:

    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

    • admin scrive:

      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.

      • Max scrive:

        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

        • admin scrive:

          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.

          • Max scrive:

            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

          • admin scrive:

            Grazie a te Max 🙂

            Un caro saluto.

  6. marco scrive:

    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 😉

  7. admin scrive:

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

    Saluti.

  8. luigi scrive:

    congratulazioni. Molto chiaro!

  9. giuseppe scrive:

    dove posso trovare altre lezioni?
    grazie

    • admin scrive:

      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.

  10. daniele scrive:

    Ottima lezione….. mi stai facendo venir voglia di comprarne uno….

  11. admin scrive:

    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.

  12. Rocco scrive:

    attendiamo altre lezioni 😛

  13. Giovanni Giorgi scrive:

    Ciao,
    il tuo tutorial è veramente chiaro, con immagini e spiegazioni dettagliate!
    Per un novizio come me, è stato veramente utile.

  14. admin scrive:

    Ciao Daniele.

    Ho appena pubblicato la 4′ lezione su Arduino, trovi l’indice seguendo il link.

  15. Michele scrive:

    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

  16. admin scrive:

    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.

  17. Michele scrive:

    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?

  18. Michele scrive:

    quale suggeriresti?

  19. admin scrive:

    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.

  20. admin scrive:

    Ciao Michele.

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

    Saluti.

  21. 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

  22. Alberto scrive:

    Complimenti, davvero fatta bene, molto utile

  23. Giuseppe scrive:

    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?

  24. Mauro_66 scrive:

    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

    • admin scrive:

      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.

  25. Salvatore scrive:

    Ottimo forum…come entrare a far parte della vostra community?

    • admin scrive:

      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.

  26. daniele scrive:

    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

  27. mattia scrive:

    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…

    • admin scrive:

      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.

  28. Ccris scrive:

    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

    • admin scrive:

      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.

  29. Tommaso scrive:

    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)

  30. Fil scrive:

    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

    • admin scrive:

      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.

  31. Stefano scrive:

    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!

    • admin scrive:

      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.

  32. cricolo scrive:

    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

    • admin scrive:

      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.

  33. Daniele scrive:

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

  34. Nicola scrive:

    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

    • admin scrive:

      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.

  35. Angiolino scrive:

    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

  36. Michele scrive:

    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

  37. alfredoli scrive:

    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

  38. Matteo scrive:

    buonasera prof. Michele
    volevo chieder se è possibile fare una cosa del genere come questa (link http://mmtn.borioli.net/?p=813 ) ma al posto di accendere un led comandare un relè? In caso può fornirmi lo sketch? Grazie e Complimenti

    • admin scrive:

      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.

  39. Marco scrive:

    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.

  40. Franco scrive:

    Buonasera,
    Vorrei realizzare una nuova calcolatrice finanziaria.
    E’ possibile programmare la scheda madre di una calcolatrice con arduino?
    La ringrazio

    • admin scrive:

      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.

  41. Tony Fede scrive:

    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

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.