Kazalo:

Arduino XMAS Hitcounter: 6 korakov (s slikami)
Arduino XMAS Hitcounter: 6 korakov (s slikami)

Video: Arduino XMAS Hitcounter: 6 korakov (s slikami)

Video: Arduino XMAS Hitcounter: 6 korakov (s slikami)
Video: Arduino XMAS hitcounter 2024, November
Anonim
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter

Božič se bliža, zato je moj prispevek, da vas spravim v pravo razpoloženje. To je blog hitcounter, ki zvoni. Dobesedno. Vsakič, ko nekdo zadene vaš blog, vam nariše nasmeh na obraz.

Sestavljen je iz Arduino plošče, zvonca, servo in nekaj vrstic kode v c, python in php. Večina delov je dokaj pogostih in jih je treba enostavno dobiti.

Korak: Orodja in materiali

Orodja in materiali
Orodja in materiali

Kaj je torej potrebno?

  • Arduino plošča. Arduino Diecimila sem dobil od Adafruits. Vmes so tam res poceni in priročni kloni, npr. resnično golo kostno ploščo iz Modern Devices, še posebej, če jih želite uporabiti na plošči.
  • Servo motor. Vsak servo bo ustrezal. Vzel sem staro, ki je bila uporabljena v mojem nekdanjem hobiju.
  • Zvonec. Najbolje je, da je dovolj majhen, da ga pretresite s servo.
  • Dve sponki za papir. Velik za držanje zvona in majhen za izdelavo pogona za zvonjenje.
  • Žice za povezavo servo z Arduinom.
  • Spletno mesto. Pravzaprav to ni nujno spletno mesto ali blog. Pravzaprav bo vse, kar je mogoče prešteti, delovalo.
  • Računalnik ali Mac za povezavo plošče Arduino s spletnim dnevnikom ali spletnim mestom.

Morda boste potrebovali spajkalnik, če žic ni mogoče priključiti neposredno na Arduino.

2. korak: Sestavljanje strojne opreme

Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme
Sestavljanje strojne opreme

Zvonček drži močna sponka za papir. Majhna sponka se uporablja za oblikovanje neke vrste roke, ki je pritrjena na servo motor.

Upoštevajte, da želite sponko, ki drži zvonec, upogniti tako, da že rahlo tresenje ustvari zvok.

3. korak: Sheme

Sheme
Sheme

Prave sheme ni. Servo motor pritrdite na Arduino. Servo ima tri žice:

  • rumena ali oranžna: signal
  • rdeča: VCC
  • rjava: GND

Rdeča in rjava sta pritrjena na ustrezne zatiče na Arduinu (5V in GND). Oranžni je priključen na pin 2. Ta bo servo signaliziral, v katero smer naj se obrne. Morda boste želeli spajati majhne priključke na žice, če se žice ne prilegajo neposredno v Arduino ali servo.

4. korak: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina

Arduino Če ste novi v Arduinu, je to majhna plošča, v celoti sestavljena z mikrokrmilnikom AVR. Zelo primeren je za hekanje in interakcijo z vašim okoljem. Marsikaj, kar je težko z mikrokrmilniki, je z Arduinom precej preprosto. Nekaj prednosti:

  • ni potrebe po ločeni programski napravi (programerju)
  • ima integrirano razvojno okolje (IDE)
  • deluje na kateri koli platformi, Windows, Mac, Linux.
  • enostavna povezava z računalnikom prek USB -ja
  • strojna oprema je odprtokodna (vendar ime Arduino ni)
  • ima odlično skupnost

Več informacij najdete na uradni spletni strani Arduino. Za dodatne podrobnosti o tem, kako začeti z Arduinom, si oglejte John's Arduino. Kaj počne programska oprema? Majhen del programske opreme, ki se naloži na Arduino, nadzoruje servo. Prejema enojne bajte prek serijske povezave preko kabla USB. Če dobi vrednost 5, servo roko premakne petkrat naprej in nazaj. Najvišja vrednost za pošiljanje je torej 255. Programirajte Ardiuno. Predvidevam, da ste prenesli in namestili najnovejši Arduino IDE iz Arduino.cc. Zaenkrat je to različica 0010 Alpha. Za udobnejšo vožnjo servomotorja morate prenesti knjižnico. Najdete ga na igrišču Arduino. Razpakirajte ga in mapo postavite v…/arduino-0010/hardware/libraries/.

  • Arduino priključite na računalnik s kablom USB.
  • Odprite IDE in začnite novo skico. Skica je, da Arduino govori za program. Izberite Datoteka -> Novo.
  • Izberite ustrezno serijsko napravo (Orodja -> Serijska vrata). To je odvisno od vašega okolja, zame je /dev/tty.usbserial-A4001JAh.
  • Prenesite priloženo izvorno datoteko in jo prilepite v novo skico. Pritisnite gumb za shranjevanje.
  • Pritisnite gumb za preverjanje. To združi vašo skico v šestnajstiško datoteko, ki jo lahko prenesete v svoj Arduino.
  • Pritisnite gumb za nalaganje, da svojo skico prenesete v Arduino.

Testiranje Zdaj je vaš števec zadetkov pripravljen na nekaj dejanj. Poglejmo, če deluje.

  • Pritisnite gumb za serijski monitor.
  • Izberite besedilno polje poleg gumba za pošiljanje.
  • Pritisnite tipko tabulatorka in jo pošljite.
  • Doslej bi se morala servo roka premikati naprej in nazaj.

Uf. To je bil najtežji del. Za zdaj lahko pošljete bajto na Arduino in servo valovi na vas. Naslednje je najti nekaj, kar želite sprožiti zvonec. Skoraj smo že končali.

5. korak: Naj bo to števec zadetkov

Če želite, da postane vaše spletno mesto hit counter, potrebujemo dva majhna koda. En dva ustvari in poskrbi za števec, drugi pa za pridobitev vrednosti števca in ga pošlje v Arduino.

Opomba: Če niste seznanjeni s Pythonom ali PHP -jem, lahko skripte enostavno prenesete v svoj najljubši programski jezik. Števec Tu je majhen skript PHP, ki prebere vrednost iz datoteke (hitcounter.txt), jo poveča in zapiše ga vrnite v datoteko. To je vse, to je potrebno. To datoteko lahko na primer shranite kot counter.php na strežniku. Nato lahko s spletnim brskalnikom sprožite štetje, ki kaže na https://www.youdomain.com/counter.php. Ta delček sem vključil v svoj blog na wordpressu. $ hits = datoteka ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Koda lepila Ta naslednji delček kode se uporablja za pridobivanje števca. Uporabil sem Python, vendar bi moralo vse delovati. Odpre povezavo HTTP in pridobi hitcounter.txt. Če se je vrednost od zadnjega pridobivanja spremenila, se razlika izračuna in potisne v Arduino. To se naredi vsakih deset sekund, dokler ne prekinete skripta s crtl-c. Prilagodite myUrl in serijsko povezavo spodaj svojim potrebam. # # fetch counter # import time import urllib import serial # usb serijska povezava z 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 " % (števec, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Nisem mogel naložiti datotek s pripono php, zato morate preimenovati counterphp.txt v counter.php. Če je vaš Arduino še vedno priključen na računalnik, zaženite skript Python, da dobite števec zadetkov…> python counter.py in videli bi izpis števca. Če brskalnik usmerite na URL svojega counter.php in pritisnete ponovno nalaganje, bi morali slišati zvonjenje števca zadetkov. Ja, zdaj smo končali. Čas je, da se naslonimo in uživamo v svojem delu.

6. korak: Zaključek

Zaključek
Zaključek

Prvič sem naredil nekaj, kar ima gibljive dele. To je prvi korak k premostitvi vrzeli med virtualnim in resničnim svetom. In bilo je res enostavno, koda je naravnost naprej. Tudi večina delov je bila v mojem košu za smeti, razen zvonca. Sestavljati vse skupaj in čakati, da nekdo pride na moj blog, je bilo zabavno.

Upam, da ste uživali.

Priporočena: