Cuprins:

Arduino XMAS Hitcounter: 6 pași (cu imagini)
Arduino XMAS Hitcounter: 6 pași (cu imagini)

Video: Arduino XMAS Hitcounter: 6 pași (cu imagini)

Video: Arduino XMAS Hitcounter: 6 pași (cu imagini)
Video: Arduino XMAS Bell Ringing Hit Counter 2024, Noiembrie
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Crăciunul se apropie, așa că iată contribuția mea pentru a vă pune în dispoziția potrivită. Este un hit-counter al blogului, care sună. Literalmente. Îți pune zâmbetul pe buze, de fiecare dată când cineva îți lovește blogul.

Se compune dintr-o placă Arduino, un clopot, un servo și câteva linii de cod în c, python și php. Cele mai multe părți sunt destul de comune și ar trebui să fie ușor de obținut.

Pasul 1: Instrumente și materiale

Instrumente și materiale
Instrumente și materiale

Deci, de ce este nevoie?

  • Placa Arduino. Am primit un Arduino Diecimila de la Adafruits. Între timp, există clone cu adevărat ieftine și la îndemână, de ex. placa de os cu adevărat goală de la Modern Devices, mai ales dacă doriți să le utilizați pe o placă de măsurare.
  • Un servomotor. Orice servo va face. Am luat unul vechi care era folosit în fostul meu hobby.
  • Un clopot. De preferință, unul suficient de mic pentru a-l scutura cu servo.
  • Două agrafe. Unul mare pentru a ține clopotul și unul mic pentru a construi actuatorul pentru a suna clopotul.
  • Cabluri pentru conectarea servo-ului la Arduino.
  • Un site web. De fapt, nu trebuie să fie un site web sau un blog. De fapt, tot ceea ce poate fi numărat, va funcționa.
  • Un PC sau un Mac pentru a conecta placa Arduino la blog sau site-ul web.

Este posibil să aveți nevoie de un fier de lipit, dacă firele nu pot fi conectate direct la Arduino.

Pasul 2: Asamblare hardware

Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware
Asamblare hardware

Clopotul este ținut de o agrafă puternică. Clipul mic este folosit pentru a forma un fel de braț care este atașat la servomotor.

Rețineți că doriți să îndoiți agrafa care ține clopotul într-un fel, care deja un pic de agitare generează un sunet.

Pasul 3: Scheme

Scheme
Scheme

Nu există o schemă reală. Doar atașați servomotorul la Arduino. Servo-ul are trei fire:

  • galben sau portocaliu: semnal
  • roșu: VCC
  • maro: GND

Cea roșie și cea maro sunt atașate la pinii corespunzători de pe Arduino (5V și GND). Cel portocaliu este conectat la pinul 2. Acesta va semnaliza servo în ce direcție să se întoarcă. Poate doriți să lipiți conectori mici la fire dacă firele nu se încadrează direct în Arduino sau în servo.

Pasul 4: Programarea Arduino

Programarea Arduino
Programarea Arduino

Arduino Dacă sunteți nou la Arduino, este o placă mică, complet asamblată cu un microcontroler AVR. Este potrivit pentru hacking și interacțiunea cu mediul dvs. Multe lucruri dificile cu microcontrolerele sunt destul de ușoare cu Arduino. Unele dintre avantaje:

  • nu este nevoie de un dispozitiv de programare separat (programator)
  • vine cu un mediu de dezvoltare integrat (IDE)
  • rulează pe orice platformă, Windows, Mac, Linux.
  • conexiune ușoară la computer cu USB
  • hardware-ul este open source (dar numele Arduino nu este)
  • are o comunitate grozavă

Mai multe informații pot fi găsite pe site-ul oficial Arduino. Asigurați-vă că verificați instrucțiunile lui John's Arduino pentru mai multe detalii despre cum să începeți cu Arduino. Ce face software-ul? Micul software care este încărcat pe Arduino controlează servo-ul. Primește octeți unici prin conexiunea serială prin cablul USB. Dacă primește o valoare de 5, deplasează brațul servo de cinci ori înainte și înapoi. Deci, valoarea maximă de trimis este 255. Programați Ardiuno, așa că presupun că ați descărcat și instalat cel mai recent IDE Arduino de pe Arduino.cc. Deocamdată este versiunea 0010 Alpha. Pentru a conduce servo-ul mai confortabil, trebuie să descărcați o bibliotecă. O puteți găsi pe Arduino Playground. Dezarhivați-l și puneți folderul în … / arduino-0010 / hardware / libraries /.

  • Atașați Arduino la computer cu ajutorul cablului USB.
  • Deschideți IDE și începeți o nouă schiță. Sketch este programul Arduino. Selectați Fișier -> Nou.
  • Selectați dispozitivul serial corespunzător (Instrumente -> Port serial). Acest lucru depinde de mediul dvs., pentru mine este /dev/tty.usbserial-A4001JAh.
  • Descărcați fișierul sursă atașat și lipiți-l în noua schiță. Apăsați butonul de salvare.
  • Apăsați butonul de verificare. Aceasta vă compilează schița într-un fișier hexagonal care poate fi transferat pe Arduino.
  • Apăsați butonul de încărcare pentru a transfera schița dvs. pe Arduino.

Testare Acum contorul dvs. este gata pentru o acțiune. Să vedem dacă funcționează.

  • Apăsați butonul monitorului serial.
  • Selectați caseta de text de lângă butonul de trimitere.
  • Apăsați tasta tab și trimiteți-o.
  • Până acum brațul servo ar trebui să se miște înainte și înapoi.

Phew. Asta a fost cea mai grea. Deocamdată puteți trimite un octet către Arduino și undele servo de la dvs. Următorul este să găsiți ceva pe care doriți să îl declanșați. Aproape am terminat.

Pasul 5: Faceți-l un Hitcounter

Pentru a face din acesta un hitcounter pentru site-ul dvs. web, avem nevoie de două coduri mici. Unul doi creează și se ocupă de contor și un al doilea pentru a prelua valoarea contorului și pentru a-l trimite la Arduino.

Notă: dacă nu sunteți familiarizați cu Python sau PHP, scripturile pot fi ușor portate în limbajul dvs. de programare preferat. Contorul Iată un mic script PHP, care citește o valoare dintr-un fișier (hitcounter.txt), o crește și scrie înapoi la fișier. Asta este tot, este nevoie. De exemplu, acest fișier poate fi salvat ca counter.php pe serverul dvs. Apoi puteți declanșa un număr cu browserul dvs. web care indică spre https://www.youdomain.com/counter.php. Am inclus acest fragment în blogul meu wordpress. $ accesări = fișier ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); intrări ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Codul de lipici Acest următor fragment de cod este utilizat pentru a prelua contorul. Am folosit Python, dar orice ar trebui să funcționeze. Deschide o conexiune HTTP și preia hitcounter.txt. Dacă valoarea sa schimbat de la ultima preluare, diferența este calculată și împinsă către Arduino. Acest lucru se face la fiecare zece secunde până când întrerupeți scriptul cu crtl-c. Adaptați myUrl și conexiunea serială de mai jos la nevoile dvs. # # fetch counter # import time import urllib import serial # usb serial connection to 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 "% (contor, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = contor _ time.sleep (10) Nu am putut încărca fișiere cu extensie php, așa că trebuie să redenumiți counterphp.txt în counter.php. Dacă dispozitivul dvs. Arduino este încă atașat la computer, porniți scriptul Python pentru a vă prelua hit-ul…> python counter.py și ar trebui să vedeți rezultatul contorului. Dacă îndreptați browserul către adresa URL a counter.php și apăsați reîncărcare, ar trebui să auziți sunetul contorului dvs. de sunete. Da, acum am terminat. E timpul să ne aplecăm și să ne bucurăm de munca noastră.

Pasul 6: Concluzie

Concluzie
Concluzie

Este pentru prima dată când am construit ceva, care are părți în mișcare. Acesta este primul pas pentru a acoperi decalajul dintre lumea virtuală și cea reală. Și a fost foarte ușor, codul este direct. De asemenea, cele mai multe părți erau în coșul meu de gunoi, cu excepția clopotului. A fost distractiv să pun totul împreună și să aștept să ajungă cineva pe blogul meu.

Sper ca ti-a placut.

Recomandat: