Sadržaj:

Arduino XMAS hitcounter: 6 koraka (sa slikama)
Arduino XMAS hitcounter: 6 koraka (sa slikama)

Video: Arduino XMAS hitcounter: 6 koraka (sa slikama)

Video: Arduino XMAS hitcounter: 6 koraka (sa slikama)
Video: Arduino XMAS hitcounter 2024, Novembar
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Božić se bliži, pa evo mog doprinosa da vas oraspoložim. To je blog hit counter, koji zvoni. Bukvalno. Izmami vam osmijeh na lice, svaki put kada neko posjeti vaš blog.

Sastoji se od Arduino ploče, zvona, serva i nekoliko redova koda u c, python i php. Većina dijelova je prilično uobičajena i trebalo bi ih biti lako nabaviti.

Korak 1: Alati i materijali

Alati i materijali
Alati i materijali

Dakle, šta je potrebno?

  • Arduino ploča. Dobio sam Arduino Diecimilu od Adafruitsa. U međuvremenu postoje zaista jeftini i zgodni klonovi, npr. zaista gola koštana ploča iz Modern Devices -a, pogotovo ako ih želite koristiti na osnovnoj ploči.
  • Servo motor. Svaki servo će poslužiti. Uzeo sam jedan stari koji mi je koristio u bivšem hobiju.
  • Zvono. Po mogućnosti onaj koji je dovoljno mali da ga protrese sa servom.
  • Dve spajalice. Veliki za držanje zvona i mali za izradu pokretača za zvonjenje zvona.
  • Žice za povezivanje servo s Arduinom.
  • Web stranica. U stvari to ne mora biti web stranica ili blog. Zapravo, sve što se može izbrojati, funkcionirat će.
  • PC ili Mac za povezivanje Arduino ploče s blogom ili web lokacijom.

Možda će vam trebati lemilica ako se žice ne mogu spojiti izravno na Arduino.

Korak 2: Sklapanje hardvera

Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera
Sklapanje hardvera

Zvono drži snažna spajalica. Mala spajalica koristi se za oblikovanje svojevrsne ruke koja je pričvršćena na servo motor.

Imajte na umu da želite saviti spajalicu koja drži zvono na neki način, koji već malo trese stvara gomilu.

Korak 3: Sheme

Sheme
Sheme

Ne postoji stvarna shema. Samo priključite servo motor na Arduino. Servo ima tri žice:

  • žuta ili narandžasta: signal
  • crvena: VCC
  • smeđa: GND

Crvena i smeđa su pričvršćene na odgovarajuće pinove na Arduinu (5V i GND). Narandžasti je ožičen na pin 2. On će signalizirati servo u kojem smjeru da se okrene. Možda ćete htjeti lemiti male konektore na žice ako se žice ne uklapaju izravno u Arduino ili servo.

Korak 4: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina

Arduino Ako ste tek počeli koristiti Arduino, radi se o maloj ploči, potpuno sastavljenoj s AVR mikrokontrolerom. Vrlo je pogodan za hakiranje i interakciju s vašim okruženjem. Mnoge stvari koje su teške s mikrokontrolerima prilično su jednostavne s Arduinom. Neke od prednosti:

  • nema potrebe za posebnim uređajem za programiranje (programer)
  • dolazi s integriranim razvojnim okruženjem (IDE)
  • radi na bilo kojoj platformi, Windows, Mac, Linux.
  • jednostavno povezivanje sa računarom putem USB -a
  • hardver je otvorenog koda (ali ime Arduino nije)
  • ima sjajnu zajednicu

Više informacija možete pronaći na službenoj web stranici Arduino. Svakako, provjerite John's Arduino instrukcije za dodatne detalje o tome kako započeti s Arduinom. Šta softver radi? Mali dio softvera koji se učitava na Arduino, kontrolira servo. Prima pojedinačne bajtove putem serijske veze putem USB kabela. Ako dobije vrijednost 5, pomiče servo krak pet puta naprijed i natrag. Dakle, maksimalna vrijednost za slanje je 255. Programirajte Ardiuno. Pretpostavljam da ste preuzeli i instalirali najnoviji Arduino IDE sa Arduino.cc. Za sada je to verzija 0010 Alpha. Da biste udobnije upravljali servo uređajem, morate preuzeti biblioteku. Možete ga pronaći na igralištu Arduino. Raspakirajte ga i stavite mapu u…/arduino-0010/hardware/libraries/.

  • Priključite Arduino na računalo pomoću USB kabela.
  • Otvorite IDE i pokrenite novu skicu. Skica je Arduino govoriti za program. Odaberite Datoteka -> Novo.
  • Odaberite odgovarajući serijski uređaj (Alati -> Serijski port). Ovo zavisi od vašeg okruženja, za mene je /dev/tty.usbserial-A4001JAh.
  • Preuzmite priloženu izvornu datoteku i zalijepite je u novu skicu. Pritisnite dugme za spremanje.
  • Pritisnite dugme za potvrdu. Ovo sastavlja vašu skicu u heksadecimalnu datoteku koja se može prenijeti na vaš Arduino.
  • Pritisnite gumb za prijenos da biste skicu prenijeli na Arduino.

Testiranje Sada je vaš brojač pogodaka spreman za neke radnje. Da vidimo radi li.

  • Pritisnite dugme za serijski monitor.
  • Odaberite okvir za tekst pored dugmeta za slanje.
  • Pritisnite taster tab i pošaljite ga.
  • Do sada bi se servo krak trebao kretati naprijed i natrag.

Fuj. To je bio najteži dio. Za sada možete poslati bajt na Arduino i servo valovi prema vama. Slijedi pronalaženje nečega što želite aktivirati. Skoro smo gotovi.

Korak 5: Neka to bude hit counter

Da bismo od vaše web stranice učinili hit counter, potrebna su nam dva mala koda. Jedno dvoje stvara i vodi računa o brojaču, a drugo za dohvaćanje vrijednosti brojača i slanje na Arduino.

Napomena: Ako niste upoznati s Pythonom ili PHP -om, skripte se mogu lako prenijeti na vaš omiljeni programski jezik. Brojač Evo male PHP skripte koja čita vrijednost iz datoteke (hitcounter.txt), povećava je i piše vratite u datoteku. To je sve, to je potrebno. Ova datoteka se može spremiti kao counter.php na vašem poslužitelju, na primjer. Zatim možete pokrenuti brojanje pomoću web preglednika koji pokazuje na https://www.youdomain.com/counter.php. Uključio sam ovaj isječak u svoj 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; ?> Kod ljepila Ovaj sljedeći isječak koda koristi se za dohvaćanje brojača. Koristio sam Python, ali sve bi trebalo raditi. Otvara HTTP vezu i dohvaća hitcounter.txt. Ako se vrijednost promijenila od zadnjeg preuzimanja, razlika se izračunava i gura u Arduino. To se radi svakih deset sekundi dok ne prekinete skriptu s crtl-c. Prilagodite myUrl i donju serijsku vezu svojim potrebama. # # dohvat brojača # vrijeme uvoza uvoz urllib uvoz serijske # USB serijske veze na 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 " % (brojač, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Nisam mogao učitati datoteke sa php ekstenzijom, pa ste morate preimenovati counterphp.txt u counter.php. Ako je vaš Arduino i dalje priključen na vaš računar, pokrenite Python skriptu da biste dohvatili vaš brojač pogodaka…> python counter.py i trebali biste vidjeti izlaz brojača. Ako usmjerite svoj preglednik na URL vašeg counter.php i pritisnete ponovno učitavanje, trebali biste čuti da vaš brojač hittova zvoni. Da, sada smo završili. Vrijeme je da se naslonite i uživate u svom poslu.

Korak 6: Zaključak

Zaključak
Zaključak

To je prvi put da sam izgradio nešto što ima pokretne dijelove. To je prvi korak u premošćivanju jaza između virtualnog i stvarnog svijeta. I bilo je zaista lako, kôd je jasan. Takođe, većina dijelova je bila u mojoj kanti za smeće, osim zvona. Sastavljanje svega i čekanje da neko dođe na moj blog bilo je zabavno.

Nadam se da ste uživali.

Preporučuje se: