Talaan ng mga Nilalaman:

Arduino XMAS Hitcounter: 6 Mga Hakbang (na may Mga Larawan)
Arduino XMAS Hitcounter: 6 Mga Hakbang (na may Mga Larawan)

Video: Arduino XMAS Hitcounter: 6 Mga Hakbang (na may Mga Larawan)

Video: Arduino XMAS Hitcounter: 6 Mga Hakbang (na may Mga Larawan)
Video: Arduino XMAS Bell Ringing Hit Counter 2024, Nobyembre
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Papalapit na ang Pasko, kaya narito ang aking kontribusyon upang mailagay ka sa tamang kalagayan. Ito ay isang hitcounter sa blog, na tumutunog sa isang kampanilya. Sa literal. Naglalagay ito ng isang ngiti sa iyong mukha, sa tuwing may tumama sa iyong blog.

Binubuo ito ng isang Arduino board, isang kampanilya, isang servo at isang pares ng mga linya ng code sa c, sawa at php. Karamihan sa mga bahagi ay medyo pangkaraniwan at dapat madaling makuha.

Hakbang 1: Mga Tool at Materyales

Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan

Kaya ano ang kailangan?

  • Lupon ng Arduino. Nakuha ko ang isang Arduino Diecimila mula sa Adafruits. Pansamantala mayroong talagang mura at madaling gamiting mga clone doon, hal. ang talagang hubad na board ng buto mula sa Modern Devices, lalo na kung nais mong gamitin ang mga ito sa isang breadboard.
  • Isang servo motor. Anumang servo ay gagawin. Kumuha ako ng isang luma na ginamit sa dati kong libangan.
  • Isang kampanilya. Mas mabuti ang isa na sapat na maliit upang kalugin ito sa servo.
  • Dalawang paperclips. Ang isang malaking hawakan ang kampanilya at isang maliit upang maitayo ang actuator upang mag-ring ng kampanilya.
  • Mga wire upang ikonekta ang servo sa Arduino.
  • Isang website. Sa katunayan hindi ito dapat maging isang website o isang blog. Sa totoo lang lahat ng mabibilang, gagana.
  • Isang PC o isang Mac upang ikonekta ang Arduino board sa blog o website.

Maaaring kailanganin mo ang isang soldering iron, kung ang mga wire ay hindi maaaring konektado nang direkta sa Arduino.

Hakbang 2: Hardware Assembly

Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly

Ang kampanilya ay hawak ng isang malakas na paperclip. Ginagamit ang maliit na paperclip upang makabuo ng isang uri ng braso na na-atached sa servo motor.

Tandaan, na nais mong baluktot ang paperclip na humahawak sa kampanilya sa isang paraan, na ang isang maliit na pagyanig ay bumubuo ng isang ding.

Hakbang 3: Mga Skematika

Mga Skema
Mga Skema

Walang totoong eskematiko. Ikabit lamang ang servo motor sa Arduino. Ang servo ay may tatlong mga wire:

  • dilaw o kahel: signal
  • pula: VCC
  • kayumanggi: GND

Ang pula at ang kayumanggi ay nakakabit sa mga naaayon na mga pin sa Arduino (5V at GND). Ang kulay kahel ay wired upang i-pin 2. Ito ang signal ng servo kung saang direksyon liko. Maaaring gusto mong maghinang ng maliliit na konektor sa mga wire kung ang mga wire ay hindi umaangkop nang direkta sa Arduino o sa servo.

Hakbang 4: Programming ang Arduino

Programming ang Arduino
Programming ang Arduino

Arduino Kung bago ka sa Arduino, ito ay isang maliit na board, na kumpletong binuo sa isang AVR microcontroller. Ito ay angkop para sa pag-hack at pakikipag-ugnay sa iyong kapaligiran. Maraming mga bagay na mahirap sa mga microcontroller ay madali sa Arduino. Ang ilan sa mga pakinabang:

  • hindi na kailangan para sa isang hiwalay na aparato sa pagprograma (programmer)
  • may kasamang isang integrated development environment (IDE)
  • tumatakbo sa anumang platform, Windows, Mac, Linux.
  • madaling koneksyon sa iyong PC gamit ang USB
  • open source ang hardware (ngunit ang pangalang Arduino ay hindi)
  • ay may isang mahusay na pamayanan

Ang karagdagang impormasyon ay matatagpuan sa opisyal na website ng Arduino. Siguraduhin, upang suriin ang itinuturo ni John ng Arduino para sa karagdagang mga detalye sa kung paano magsimula sa Arduino. Ano ang ginagawa ng software? Ang maliit na piraso ng software na nai-upload sa Arduino, kinokontrol ang servo. Tumatanggap ito ng mga solong byte sa pamamagitan ng serial connection sa USB cable. Kung makakatanggap ito ng halagang 5, ilipat nito ang servo arm ng limang beses pabalik at pabalik. Kaya't ang max na halagang ipadadala ay 255. I-program ang Ardiuno Kaya't ipinapalagay kong na-download at na-install mo ang pinakabagong Arduino IDE mula sa Arduino.cc. Sa ngayon ito ay bersyon 0010 Alpha. Upang mas maginhawang maghimok ng servo kailangan mong mag-download ng isang silid-aklatan. Mahahanap mo ito sa Arduino Playground. I-unzip ito at ilagay ang folder sa… / arduino-0010 / hardware / libraries /.

  • Ikabit ang Arduino sa iyong PC gamit ang USB cable.
  • Buksan ang IDE at magsimula ng isang bagong sketch. Ang Sketch ay nagsasalita ng Arduino para sa programa. Piliin ang File -> Bago.
  • Piliin ang naaangkop na serial device (Mga Tool -> Serial Port). Nakasalalay ito sa iyong kapaligiran, para sa akin ito ay /dev/tty.usbserial-A4001JAh.
  • I-download ang naka-attach na file ng pinagmulan at i-paste ito sa bagong sketch. Pindutin ang pindutang i-save.
  • Pindutin ang pindutan ng pag-verify. Pinagsasama nito ang iyong sketch sa isang hex file na maaaring ilipat sa iyong Arduino.
  • Pindutin ang pindutan ng pag-upload upang ilipat ang iyong sketch sa Arduino.

Pagsubok Ngayon ang iyong hitcounter ay handa na para sa ilang aksyon. Tingnan natin kung gumagana ito.

  • Pindutin ang pindutan ng serial monitor.
  • Piliin ang kahon ng teksto sa tabi ng pindutang ipadala.
  • Pindutin ang tab key at ipadala ito.
  • Sa ngayon ang servo arm ay dapat na sumulong at bumalik.

Phew. Iyon ang pinakamahirap na bahagi. Sa ngayon maaari kang magpadala ng isang byte sa Arduino at mga alon ng servo sa iyo. Susunod ay upang makahanap ng isang bagay na nais mong magpalitaw ng kampanilya. Halos tapos na tayo.

Hakbang 5: Gawin itong isang Hitcounter

Upang gawin itong isang hitcounter para sa iyong website, kailangan namin ng dalawang maliit na mga piraso ng code. Isang dalawa ang lumikha at nag-aalaga ng counter at isang segundo upang makuha ang halaga ng counter at ipadala ito sa Arduino.

Tandaan: Kung hindi ka familliar sa Python o PHP, ang mga script ay maaaring madaling mai-port sa iyong paboritong wika ng programa. Ang counter Narito ang isang maliit na script ng PHP, na nagbabasa ng isang halaga mula sa isang file (hitcounter.txt), nagpapalaki nito at sumusulat bumalik ito sa file. Iyon lang, kailangan iyan. Ang file na ito ay maaaring mai-save bilang counter.php sa iyong server halimbawa. Pagkatapos ay maaari kang magpalitaw ng isang bilang sa iyo ng webbrowser na tumuturo sa https://www.youdomain.com/counter.php. Isinama ko ang snippet na ito sa aking WordPress blog. $ hits = file ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Ang code ng pandikit Ang susunod na code na snippet ay ginagamit upang makuha ang counter. Gumamit ako ng Python ngunit dapat gumana ang anumang bagay. Nagbubukas ito ng isang koneksyon sa HTTP at kinukuha ang hitcounter.txt. Kung ang halaga ay nagbago mula noong huling pagkuha, ang diff ay kinakalkula at itinulak sa Arduino. Ginagawa ito bawat sampung segundo hanggang maantala mo ang script sa crtl-c. Iangkop ang myUrl at ang serial na koneksyon sa ibaba sa iyong mga pangangailangan. # # 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 () habang (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.sulog (10) Hindi ako makapag-upload ng mga file na may php extension, kaya ikaw kailangang palitan ang pangalan ng counterphp.txt sa counter.php. Kung ang iyong Arduino ay nakakabit pa rin sa iyong PC, pagkatapos ay simulan ang script ng Python upang makuha ang iyong hitcounter…> python counter.py at dapat mong makita ang output ng counter. Kung ituro mo ang iyong browser sa URL ng iyong counter.php at ma-hit ang muling pag-load, dapat mong marinig ang pag-ring ng iyong hitcounter. Oo, tapos na kami. Oras na sumandal at masiyahan sa aming trabaho.

Hakbang 6: Konklusyon

Konklusyon
Konklusyon

Ito ang unang pagkakataon, na nagtayo ako ng isang bagay, na mayroong mga gumagalaw na bahagi. Iyon ang unang hakbang upang tulayin ang agwat sa pagitan ng virtual at ng totoong mundo. At ito ay talagang madali, ang code ay tuwid na pasulong. Gayundin ang karamihan sa mga bahagi ay nasa aking basurahan, maliban sa kampanilya. Ang pagsasama-sama ng lahat at paghihintay para sa isang tao na ma-hit ang aking blog ay masaya.

Umasa kong nasiyahan ka.

Inirerekumendang: