Primi passi con Digispark, il micro Arduino basato su Attiny85

Ciao a tutti!

Oggi vedremo un piccolissimo device facilissimo da utilizzare e molto economico (circa 3 Euro qui).
Il prezzo così interessante e le sue dimensioni ne fanno il candidato ideale per i nostri progetti,
visto anche che potrà essere lasciato definitivamente nei nostri prototipi senza spendere cifre elevate.

L'oggetto di cui sto parlando è nato su Kickstarter si chiama Digispark e lo potete vedere nella foto qui sotto,
io l'ho preso sul sito Banggood.com dato i tempi di spedizione vi consiglio di comprarne più di uno per averne sempre a disposizione per i vostri progetti.




Questo dispositivo è molto semplice ma c'è davvero tutto quello che serve,
sostanzialmente è composto da un microcontrollore Atmel Attiny85 da un regolatore di tensione ed è sagomato in modo da poter essere collegato direttamente alla porta Usb del nostro pc per essere programmato.

Ecco qui lo schema elettrico per vedere come è fatto nel dettaglio:



Come potete vedere non c'è molto, è un microcontrollore (Attiny85) collegato direttamente all'usb, mentre i fori che vedete sulla scheda sono le porte di alimentazione più quelle di ingresso/uscita.


Tutte le porte (P0, P1, P2, P3, P4, P5) possono essere usate sia come ingresso che come uscita.
Le porte P0, P1 e P4 hanno anche la funzione PWM.
Le porte P2, P4, P5 possono essere usate come porte analogiche di ingresso.


Dopo questa breve introduzione vediamo come muovere i primi passi con questa piccola scheda:

ci sono 2 possibili procedure, sceglietene una in base alla vostra esigenza,
ho eseguito entrambe le procedure su windows:


1) utilizzare un IDE apposito

Per prima cosa cliccate qui per scaricate la versiode dell'ide di Arduino appositamente modificata per utilizzare Digispark.

Poi Aprite il programma appena scaricato e collegate la scheda,

probabilmente Windows vi chiederà di installare i driver, li trovate nella cartella che avete appena scaricato.


2) aggiungere al proprio IDE la compatibilità con Digispark

Aprire Arduino, cliccare su File, Impostazioni ed inserite questa riga dentro "URL aggiuntive per il Gestore schede"

http://digistump.com/package_digistump_index.json

Poi andate in Strumenti, Scheda..., Gestore Schede.
Nella Barra di ricerca scrivete "digispark" ed installate l'unica voce che apparirà tra i risultati.

Installate i driver che trovate dentro questo zip, estraete tutto ed eseguite il file "DPinst.exe" se avete windows 32 bit o "DPinst64.exe" per i sistemi a 64bit.


Fatto ciò tornate all'ide e copiate questo sketch:

  1. // the setup routine runs once when you press reset:
  2. void setup() {                
  3.   // initialize the digital pin as an output.
  4.   pinMode(1, OUTPUT); //on board LED
  5. }
  6. // the loop routine runs over and over again forever:
  7. void loop() {
  8.   digitalWrite(1, HIGH);   // turn the LED on (HIGH is the voltage level)
  9.   delay(100);               // wait for a second
  10.   digitalWrite(1, LOW);    // turn the LED off by making the voltage LOW
  11.   delay(100);               // wait for a second
  12. }

Con la scheda ancora scollegata premete il tasto per il caricamento,
ide dovrebbe darvi il seguente messaggio: 

"Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)"

a questo punto inserite la vostra Digispark ed attendete che il caricamento vada a buon fine.
Se tutto è filato liscio il led sulla scheda lampeggerà velocemente.

Naturalmente potrete anche programmare il vostro Digispark come un Attiny85 qualsiasi,
utilizzando una scheda Arduino come interfaccia come mostrato qui.

Per qualunque dubbio lasciatemi pure un commento qui sotto,
ciao!

Seguimi sulle mie pagine per rimanere sempre aggiornato sui nuovi post!

21 commenti:

  1. con windows 10 non funziona! il dispositivo non viene riconosciuto dal sistema operativo, non esistono driver che funzionino..

    RispondiElimina
    Risposte
    1. purtroppo l'ho testato solo su windows 7, comunque se ci saranno aggiornamenti ti farò sapere, ciao!

      Elimina
    2. Saranno passati duye anni da questo commento, ma a me su windows 10 funziona, con la stessa identica procedura. Ciao

      Elimina
    3. Grazie mille per il feedback!

      Elimina
    4. Grazie Daniele anche a me funziona,il trucco sta come hai detto tu di inserire la scheda nel momento in cui fa l'upload.
      Grazie!!

      Elimina
  2. Io l'ho provato questa sera con W10 e funziona.
    Puoi scaricare i driver da questo link:
    https://raw.githubusercontent.com/digistump/DigistumpArduino/master/tools/micronucleus-2.0a4-win.zip

    RispondiElimina
  3. Ciao...
    ottima idea questa pagina ma a me che sono alle prime armi con l'attiny85 sono dovuto andare alla cieca per programmarlo la prima volta...
    ho windows 10 64bit, ho scaricato l'ide dal link dell'articolo e installato i driver 64bit
    aprire il programma e impostare:
    strumenti - scheda - digisparkpro
    strumenti - programmatore - usbtinyisp
    strumenti - porta - com1 (o comunque quella configurata)
    a questo punto siete pronti per programmare...
    ho usato lo sketch sopra riportato ma il led non lampeggia nonostante sia andato tutto a buon fine

    RispondiElimina
    Risposte
    1. ora funziona tutto...
      come tipo di scheda ho messo digispark 16.5Mhz

      Elimina
    2. Ottimo e grazie per il feedback, sarà sicuramente di aiuto ad altri, ciao!

      Elimina
    3. Ciao, nemmeno a me il led funziona. Inoltre windows connette e disconnette in continuazione la board. Anche ad altri fa così?

      Elimina
    4. ho fatto come hai detto e la prima volta sono riuscito a fare lampeggiare il led. poi ho provato a riprogrammare lo stesso sketch ma la programmazione va a buon fine ma il led non lampeggia più. tu hai risolto?
      grazie

      Elimina
  4. Bypassato problemi win10.. con programmazione tramite arduino...no problem e attiny 85 prende li sketch...vedete prog tiny85 con arduino come programmer......

    RispondiElimina
  5. Installando i driver aggiornati indicati sopra riesco a caricare lo sketch nonostante non riesca a vedere la scheda sulla porta Com.

    RispondiElimina
  6. Ciao Daniele,
    approfitto per proporre un quesito. Posseggo un Attiny85 come quello in foto (ma con presa mini usb). Ho iniziato a fare qualche progettino ed ho capito come si programma e quindi mi sono un po' spinto oltre provando a fare il porting di progetti fatti su Arduino Micro.
    Uno però non riesco proprio a farlo funzionare un generatore di forme d'onda con AD9850.
    Uso la libreria AH_AD9850.h ma ho provato a farlo anche a mano. Uso 5,4,3,2 per CLK, FQUP,Data,RESET ma sembra non volerne sapere. Hai modo di indirizzarmi verso un esempio? in rete non sono riuscito a trovare nulla... Grazie per quanto potrai fare.
    Antonio

    RispondiElimina
  7. ...per chiarire: il programma funziona, il led lampeggia, il buzzer "bippa" ma in frequenza non sento nulla. Forse vanno messi parametri particolari? bye

    RispondiElimina
  8. Ciao Daniele, avrei bisogno di un'informazione: è possibile collegare la scheda hx711 all'attiny85?

    RispondiElimina
  9. Per caso dopo averla programmata si può resettare o il programma rimane?

    RispondiElimina
  10. a me si connette e disconnette in continuo dalla usb come se la staccassi e riattaccassi in continuo.
    ho provato su altri computer e mi da lo stesso problema sapete come aiuitarmi.?

    RispondiElimina
    Risposte
    1. Accertati di aver installato i driver e impostato la scheda.Stacca la scheda e inseriscila solo nel momento in cui ti dice plug in timeout 60 secondi.
      Come spiegato da Daniele a me ha funzionato.

      Elimina
  11. salve, io vorrei comandare due relè con comandi provenienti dalla seriale del pc. dove posso trovare qualche esempio?
    grazie

    RispondiElimina

Lascia un commento qui sotto, ti risponderò il prima possibile!

Altri Post