Sommario:

Arduino XMAS Hitcounter: 6 passaggi (con immagini)
Arduino XMAS Hitcounter: 6 passaggi (con immagini)

Video: Arduino XMAS Hitcounter: 6 passaggi (con immagini)

Video: Arduino XMAS Hitcounter: 6 passaggi (con immagini)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Novembre
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Il Natale si avvicina, quindi ecco il mio contributo per mettervi del giusto umore. È un hitcounter del blog, che suona un campanello. Letteralmente. Ti fa sorridere ogni volta che qualcuno colpisce il tuo blog.

Consiste in una scheda Arduino, un campanello, un servo e un paio di righe di codice in c, python e php. La maggior parte delle parti sono abbastanza comuni e dovrebbero essere facili da ottenere.

Passaggio 1: strumenti e materiali

Strumenti e materiali
Strumenti e materiali

Quindi cosa è necessario?

  • Scheda Arduino. Ho ricevuto un Arduino Diecimila da Adafruits. Nel frattempo ci sono cloni davvero economici e pratici là fuori, ad es. la scheda ossea davvero nuda di Modern Devices, soprattutto se vuoi usarli su una breadboard.
  • Un servomotore. Qualsiasi servo andrà bene. Ne ho preso uno vecchio che è stato utilizzato nel mio ex hobby.
  • Una campana. Preferibilmente uno che sia abbastanza piccolo da scuoterlo con il servo.
  • Due graffette. Uno grande per contenere il campanello e uno piccolo per costruire l'attuatore per suonare il campanello.
  • Fili per collegare il servo con Arduino.
  • Un sito web. In realtà non deve essere un sito web o un blog. In realtà tutto ciò che può essere contato, funzionerà.
  • Un PC o un Mac per collegare la scheda Arduino al blog o al sito web.

Potrebbe essere necessario un saldatore, se i fili non possono essere collegati direttamente ad Arduino.

Passaggio 2: assemblaggio dell'hardware

Assemblaggio hardware
Assemblaggio hardware
Assemblaggio hardware
Assemblaggio hardware
Assemblaggio hardware
Assemblaggio hardware
Assemblaggio hardware
Assemblaggio hardware

La campana è tenuta da una forte graffetta. La piccola graffetta viene utilizzata per formare una sorta di braccio che è attaccato al servomotore.

Nota che vuoi piegare la graffetta che tiene la campana in un modo che già un piccolo scuotimento genera un ding.

Passaggio 3: schemi

Schematico
Schematico

Non esiste uno schema reale. Basta collegare il servomotore ad Arduino. Il servo ha tre fili:

  • giallo o arancione: segnale
  • rosso: VCC
  • marrone: GND

Quello rosso e quello marrone sono collegati ai relativi pin sull'Arduino (5V e GND). Quello arancione è collegato al pin 2. Segnalerà al servo in quale direzione girare. Potresti voler saldare piccoli connettori ai fili se i fili non si adattano direttamente all'Arduino o al servo.

Passaggio 4: programmazione di Arduino

Programmare Arduino
Programmare Arduino

Arduino Se sei nuovo ad Arduino, è una piccola scheda, completamente assemblata con un microcontrollore AVR. È adatto per l'hacking e l'interazione con l'ambiente. Molte cose difficili con i microcontrollori sono piuttosto facili con Arduino. Alcuni dei vantaggi:

  • non è necessario un dispositivo di programmazione separato (programmatore)
  • viene fornito con un ambiente di sviluppo integrato (IDE)
  • funziona su qualsiasi piattaforma, Windows, Mac, Linux.
  • facile connessione al tuo PC con USB
  • l'hardware è open source (ma il nome Arduino no)
  • ha una grande comunità

Maggiori informazioni possono essere trovate sul sito ufficiale di Arduino. Assicurati di dare un'occhiata all'istruzione Arduino di John per ulteriori dettagli su come iniziare con Arduino. Cosa fa il software? Il piccolo pezzo di software che viene caricato su Arduino, controlla il servo. Riceve singoli byte tramite la connessione seriale tramite cavo USB. Se riceve un valore di 5, sposta il braccio del servo cinque volte avanti e indietro. Quindi il valore massimo da inviare è 255. Programma Ardiuno Quindi presumo che tu abbia scaricato e installato l'ultimo IDE Arduino da Arduino.cc. Per ora è la versione 0010 Alpha. Per pilotare più comodamente il servo devi scaricare una libreria. Lo trovi su Arduino Playground. Decomprimilo e metti la cartella in …/arduino-0010/hardware/libraries/.

  • Collega Arduino al PC con il cavo USB.
  • Apri l'IDE e inizia un nuovo schizzo. Sketch è Arduino parla per programma. Seleziona File -> Nuovo.
  • Selezionare il dispositivo seriale appropriato (Strumenti -> Porta seriale). Questo dipende dal tuo ambiente, per me è /dev/tty.usbserial-A4001JAh.
  • Scarica il file sorgente allegato e incollalo nel nuovo schizzo. Premi il pulsante Salva.
  • Premi il pulsante di verifica. Questo compila il tuo schizzo in un file esadecimale che può essere trasferito sul tuo Arduino.
  • Premi il pulsante di caricamento per trasferire il tuo schizzo su Arduino.

Test Ora il tuo contatore è pronto per un po' di azione. Vediamo se funziona.

  • Premi il pulsante del monitor seriale.
  • Seleziona la casella di testo accanto al pulsante di invio.
  • Premi il tasto tab e invialo.
  • A questo punto il braccio del servo dovrebbe muoversi avanti e indietro.

uff. Quella è stata la parte più difficile. Per ora puoi inviare un byte ad Arduino e le onde del servo a te. Il prossimo è trovare qualcosa che si desidera attivare il campanello. Abbiamo quasi finito.

Passaggio 5: trasformalo in un contatore di successi

Per renderlo un contatore di visite per il tuo sito web, abbiamo bisogno di due piccoli pezzi di codice. Uno due crea e si occupa del contatore e un secondo per recuperare il valore del contatore e inviarlo ad Arduino.

Nota: se non hai familiarità con Python o PHP, gli script possono essere facilmente portati nel tuo linguaggio di programmazione preferito. Il contatore Ecco un piccolo script PHP, che legge un valore da un file (hitcounter.txt), lo incrementa e lo scrive torna al file. Questo è tutto, è necessario. Questo file può essere salvato come counter.php sul tuo server, ad esempio. Puoi quindi attivare un conteggio con il tuo browser web che punta a https://www.youdomain.com/counter.php. Ho incluso questo frammento nel mio blog wordpress. $hits = file($count_my_page); $hit = trim($hits[0]); $hit++; $fp = fopen($count_my_page, "w"); fputs($fp, "$hit"); fclose($fp); echo $hit; ?>Il codice della colla Questo frammento di codice successivo viene utilizzato per recuperare il contatore. Ho usato Python ma tutto dovrebbe funzionare. Apre una connessione HTTP e recupera hitcounter.txt. Se il valore è cambiato dall'ultimo recupero, il diff viene calcolato e inviato ad Arduino. Questo viene fatto ogni dieci secondi fino a quando non interrompi lo script con crtl-c. Adatta myUrl e la connessione seriale di seguito alle tue esigenze. # # fetch counter # import time import urllib import serial # connessione seriale usb ad arduino ser = serial. Serial('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt ' last_counter = urllib.urlopen(myUrl).read() while (True): _ counter = urllib.urlopen(myUrl).read() _ delta = int(counter) - int(last_counter) _ print "counter: %s, delta: %s" % (counter, delta) _ ser.write(chr(ord(chr(delta)))) _ last_counter = counter _ time.sleep(10) Non ho potuto caricare file con estensione php, quindi tu devi rinominare il counterphp.txt in counter.php. Se il tuo Arduino è ancora collegato al tuo PC, avvia lo script Python per recuperare il tuo contatore di visite…>python counter.py e dovresti vedere l'output del contatore. Se indirizzi il tuo browser all'URL del tuo counter.php e premi Reload, dovresti sentire il tuo hitcounter squillare. Sì, ora abbiamo finito. È ora di rilassarsi e godersi il nostro lavoro.

Passaggio 6: conclusione

Conclusione
Conclusione

È la prima volta che costruisco qualcosa che ha parti mobili. Questo è il primo passo per colmare il divario tra il mondo virtuale e quello reale. Ed è stato davvero facile, il codice è semplice. Inoltre, la maggior parte delle parti era nel mio cestino, tranne il campanello. Mettere insieme tutto e aspettare che qualcuno colpisse il mio blog è stato divertente.

Spero ti sia piaciuto.

Consigliato: