1. A breve aggiorneremo la piattaforma di Reboot per risolvere alcuni problemi con i plug-in, quindi chiediamo ancora un po' di pazienza, Lo staff di Reboot

Guida Arduino bitcoin ticker - tenere sott'occhio il prezzo del Bitcoin

Discussione in 'Arduino tutorial' iniziata da StandardBus, 18 Mag 2017.

  1. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.286
    [​IMG]

    Chi fa trading lo sa bene: il prezzo del Bitcoin non è mai fermo. E su questi movimenti del suo prezzo, chi è abile sa che è possibile guadagnare molto.
    Ma per riuscire a vendere le proprie criptomonete nel momento giusto bisogna stare incollati davanti al PC tutto il giorno?
    Possiamo fare in modo che Arduino controlli il prezzo del Bitcoin al posto nostro, anche a computer spento. Come? Costruendo un Bitcoin Ticker, ovvero un dispositivo che mostra su un display 24H/24 il prezzo aggiornato.

    Modificando il codice del programma è possibile fare anche in modo che ci avvisi solo nel caso il prezzo subisca delle variazioni consistenti, ma questo magari lo vedremo in un prossimo articolo.
    Per ora limitiamoci a costruire il ticker.

    Il vantaggio di questa guida è che NON serve saldare, e nemmeno collegare fili. Le due board sono completamente compatibili e si incastrano una sull'altra.

    Difficoltà di realizzazione: molto semplice
    Tempo richiesto: 15 minuti
    Spesa complessiva di realizzazione: circa 20 euro


    Cosa serve


    Montaggio dei componenti

    1. Aggancia lo shield LCD ai pin del Wemos D1 come mostrato in foto

      [​IMG]

    2. Collega il filo USB :arrowright: microUSB al connettore microUSB sul Wemos D1

    3. Tutto qui? già, ora si passa alla parte software
    Preparazione dell'IDE Arduino

    1. Scarica ed installa l'ultima versione dell'Arduino IDE da questo link

    2. Scarica lo sketch del Bitcoin Ticker per Arduino da questo link

    3. Apri il programma Arduino dall'icona che si sarà creata sul desktop

    4. Da "File" seleziona "Impostazioni". Si aprirà la finestra di configurazione dell'IDE.

    5. Nel campo "URL aggiuntive per il Gestore schede:" inserisci l'indirizzo...
      ...e premi su OK:
      [​IMG]
    6. A questo punto apri il tab "Strumenti" :arrowright: "Scheda" :arrowright: "Gestore schede..."

      [​IMG]

    7. Accanto a "Tipo: Tutti " digita "esp8266" senza virgolette ed installa l'unica voce che rimarrà attiva:

      [​IMG]
      Ci vorrà qualche minuto per completare l'installazione della mod, perchè deve scaricare da internet circa 153MB di file.

    8. Al termine dell'installazione, controlla sotto "Strumenti" :arrowright: "Scheda": dovrà esserci la voce "Wemos D1 R2 & mini" all'interno di un elenco di board compatibili basate su chip ESP8266. Cliccaci sopra per settare il tipo di board.

    9. Apri il menu Sketch :arrowright: #Include libreria :arrowright: Gestione librerie...

    10. Come fatto poco fa, si aprirà una finestra dove è possibile ricercare ed aggiungere all'IDE Arduino una serie di librerie non comtenute nell'IDE di base.

    11. Cerca "ArduinoJSON", ti comparirà la libreria con lo stesso nome, pubblicata da Benoit Blanchon.
      Cliccaci sopra ed installa l'ultima versione, poi chiudi il gestore delle librerie.

    12. L'IDE è pronto per programmare il Wemos D1

    Scrittura del firmware

    1. Collega il Wemos D1 al PC su cui hai installato l'IDE Arduino.

    2. Dal menu "Strumenti", clicca su "Porta" e selezona la COM su cui si trova il Wemos D1. Anche se sbagli non dovrebbe essere un problema, al massimo l'IDE ti dirà in fase di scrittura del firmware che non riesce a trovare la scheda.

      Se il menù "Porta" non è selezionabile o se tra le COM non è presente quella a cui dovrebbe trovarsi la board Wemos D1, può darsi che ti manchino i driver della scheda. Scaricali ed installali da questa pagina: https://www.wemos.cc/downloads

    3. Apri con l'IDE Arduino il file Wemos_Bitcoin_price.ino contenuto nello zip che hai scaricato prima

    4. Tra il codice, troverai anche le stringhe
      Codice:
      ////////// VALORI DA MODIFICARE //////////
      const char* ssid     = "ssid";          // SSID della rete Wifi a cui l'ESP8266 dovrà accedere
      const char* password = "password";      // Password della rete Wifi.
      //////////////////////////////////////////
      ricordati di sostituire le parole "ssid" e "password" tra virgolette con il nome della rete e la password che serve ad accedere alla connessione wireless. Le virgolette vanno comunque mantenute dove sono.

      Il codice è commentato in quasi tutti i passaggi e permette di comprendere come funziona. Solo per questo non spiego nell'articolo ogni singolo aspetto del codice di questo programma. Se avete dubbi potete scrivere qui sotto nei commenti, io sono disponibile come pure anche il forum intero per discutere su miglioramenti, correzioni e spiegazioni.

    5. Premi sul tasto "Carica" [​IMG] per inviare il programma alla scheda
    [​IMG]

    Chi riesce a potenziare il programma aggiungendo due led di stato per monitorare se il prezzo sale o scende?

    TIP me for software updates on this project:
    Bitcoin address: 1RebootFT6KHEEGRxZuTxjQvTi22vPz4r
    [​IMG]

    Hai trovato utile questa guida? Sostienici!
    Ci sono diversi metodi per darci una mano:
    Effettua una donazione PayPal con importo a piacere cliccando qui
    Diventa Advanced User di Reboot, rimuovendo tutte le pubblicità dal sito al costo di soli due caffè al mese, ottenendo tanti privilegi extra e aiutandoci a sostenere i costi di mantenimento del sito!
    Premi sul "mi piace" qui sotto o seguici sui social. Vedere che apprezzate quello che facciamo ci spinge a fare di più per voi, quindi va anche a vantaggio vostro :wink:
    Siamo su
    - :facebook:Facebook : https://www.facebook.com/reboot.ms
    - :twitter:Twitter : https://twitter.com/Reboot_MS
    - :telegram:Telegram : http://www.telegram.me/rebootms
    - :google+:Google+ : https://plus.google.com/+RebootMS_page
    Aiuta la community a crescere scrivendo news o guide per ciò che sei riuscito a fare!
     
    #1
    Ultima modifica: 14 Ott 2017
    A zoomx, Guglio e Filippo Bellei piace questo elemento.
  2. GiacmO

    GiacmO Livello 10

    Iscritto:
    1 Giu 2015
    Messaggi:
    276
    Like ricevuti:
    85
    Quindi va mantenuto costantemente attaccato alla corrente giusto? Nessuna batteria integrata?
     
    #2
  3. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.286
    Si, ho misurato un consumo di 0,05A con tutti i led accesi, il che si traduce in una durata di 40 ore con un pacco batteria da 2000mAh.
    Rendendo il tutto completamente powerless, un piccolo pannello solare è in grado di dargli molta più corrente di quella che gli serve, ed il resto viene accumulato durante il giorno.
    Rimuovendo i LED e prendendo qualche altro accorgimento per il risparmio energetico è possibile ridurre ancora di più l'assorbimento.
     
    #3
    A IPorK e Filippo Bellei piace questo messaggio.
  4. Kiryo

    Kiryo Livello 13

    Iscritto:
    17 Set 2015
    Messaggi:
    457
    Like ricevuti:
    80
    Posso chiedere perchè quel display lcd? uno senza pulsanti non va bene?
    la Wemos D1 serve solo per il collgamento ad internet o ha qualche funzione specifica?
     
    #4
  5. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.286
    L'intenzione nei miei articoli è quella di semplificare all'osso ogni passaggio, in modo da arrivare subito alla realizzazione del progetto e sperimentarci sopra subito dopo, magari esplorando il codice per applicare miglioramenti e funzioni extra.

    Il display LCD montato sulla shield oltre a rendere più robusto il tutto permette di assemblare i pezzi senza avere cavi volanti. Ovviamente lo stesso risultato si può ottenere con un display HD44780 headless (ma diventa necessario saldare i pin e collegare i cavi).

    La scelta della board è ricaduta sul WeMos D1 perchè
    • È compatibile al 100% con il keypad LCD shield
    • Ha la connettività Wifi, cosa che su Arduino UNO richiederebbe hardware extra, e per questo progetto il Wifi è indispensabile
    • Ha più memoria e potenza di calcolo di un Arduino UNO, pur avendo lo stesso prezzo
    Al posto del WeMos D1 è possibile utilizzare qualsiasi altra board basata su ESP8266 (come specificato nell'articolo), ma sono poche quelle che hanno i pin raggiungibili senza fatica come questo WeMos D1.
     
    #5
  6. zoomx

    zoomx Livello 19

    Iscritto:
    12 Set 2015
    Messaggi:
    890
    Like ricevuti:
    334
    #6
  7. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.286
    Articolo corretto, grazie mille!
     
    #7
    A zoomx piace questo elemento.
  8. zoomx

    zoomx Livello 19

    Iscritto:
    12 Set 2015
    Messaggi:
    890
    Like ricevuti:
    334
  9. Theodoros

    Theodoros Livello 1

    Iscritto:
    23 Mag 2017
    Messaggi:
    2
    Like ricevuti:
    0
    Hi! Will this work with WeMos D1 R1 instead of WeMos D1 R2?
     
    #9
  10. zoomx

    zoomx Livello 19

    Iscritto:
    12 Set 2015
    Messaggi:
    890
    Like ricevuti:
    334
    I think yes, I believe that, changing the pin names, it will work on a nodeMCU too.
     
    #10
  11. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.286
    Yes, it should work on any ESP8266-based device, but you need to change the LCD display pins in the code in order to fit your board pins.
     
    #11
  12. Theodoros

    Theodoros Livello 1

    Iscritto:
    23 Mag 2017
    Messaggi:
    2
    Like ricevuti:
    0
    hey! It works with D1R2 out of the box without any change to the code. The only problem is that it display Bitcoin price for 5 secs and then it nulls(BTC:0.00) and after a long pause it is doing the same thin(BTC:2032.22 :arrowright: 5seconds :arrowright:BTC:0.00)
     
    #12
  13. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.286
    That happens sometimes when the esp8266 don't receive answer from the website. Maybe it is caused by an internet connection with high latency. It should be easily fixable with a little change on the code.
     
    #13
  14. baiazid

    baiazid Livello 1

    Iscritto:
    24 Mag 2017
    Messaggi:
    4
    Like ricevuti:
    1
    I am having some problems with the bitcoin ticket, it's compiled and connected to the Wifi, but I can not get any characters on my display, just one square and a half filled but nothing displayed. I have the exact products as in this DIY. Can someone help me a bit, perhaps it's about some PIN coding.
     
    #14
  15. StandardBus

    StandardBus Staff Alan Staff

    Iscritto:
    15 Dic 2014
    Messaggi:
    4.092
    Like ricevuti:
    5.286
    I think you are using a wemos D1 clone or the old version. Please send photos of the board (I should see clearly the pins numeration)
     
    #15
Sto caricando...

Condividi questa Pagina