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, Studeni
Anonim
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter

Božić se bliži, pa evo mog doprinosa da vas dovedem u pravo raspoloženje. To je blog hitcounter, koji zvoni. Doslovno. Izmami vam osmijeh na lice, svaki put kad netko posjeti vaš blog.

Sastoji se od Arduino ploče, zvona, serva i nekoliko redaka 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, što je potrebno?

  • Arduino ploča. Dobio sam Arduino Diecimilu od Adafruitsa. U međuvremenu vani ima stvarno jeftinih i zgodnih klonova, npr. stvarno gola koštana ploča tvrtke Modern Devices, pogotovo ako ih želite koristiti na 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.
  • Dvije spajalice. Veliki za držanje zvona i mali za izradu aktuatora za zvonjenje zvona.
  • Žice za povezivanje servo s Arduinom.
  • Web stranica. Zapravo to ne mora biti web stranica ili blog. Zapravo sve što se može izbrojati, funkcionirat će.
  • Računalo 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, pa već malo drhtanja stvara gomilu.

Korak 3: Sheme

Sheme
Sheme

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

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

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

Korak 4: Programiranje Arduina

Programiranje Arduina
Programiranje Arduina

Arduino Ako ste novi u Arduinu, to je mala ploča, potpuno sastavljena 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 s računalom putem USB -a
  • hardver je otvorenog koda (ali naziv 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 pojedinosti o tome kako započeti s Arduinom. Što softver radi? Mali softver 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, najveća vrijednost za slanje je 255. Programirajte Ardiuno. Pretpostavljam da ste preuzeli i instalirali najnoviji Arduino IDE s Arduino.cc. Za sada je to verzija 0010 Alpha. Za udobniju vožnju servom morate preuzeti knjižnicu. 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). To ovisi o vašem okruženju, za mene je /dev/tty.usbserial-A4001JAh.
  • Preuzmite priloženu izvornu datoteku i zalijepite je u novu skicu. Pritisnite gumb za spremanje.
  • Pritisnite gumb 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 gumb serijskog monitora.
  • Odaberite tekstualni okvir pored gumba za slanje.
  • Pritisnite tipku tab i pošaljite je.
  • Do sada bi se servo ruka trebala pomicati naprijed i natrag.

Fuj. To je bio najteži dio. Za sada možete poslati bajt na Arduino i servo valovi prema vama. Sljedeće je pronaći nešto čime želite aktivirati zvono. Skoro smo gotovi.

Korak 5: Neka to bude hit counter

Kako 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 njegovo slanje na Arduino.

Napomena: Ako niste upoznati s Pythonom ili PHP -om, skripte se mogu lako prenijeti na vaš omiljeni programski jezik. Brojač Ovdje je mala PHP skripta koja čita vrijednost iz datoteke (hitcounter.txt), povećava je i piše vratite ga u datoteku. To je sve, to je potrebno. Ova se datoteka 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 = datoteka ($ 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 serijski broj # USB serijska veza 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 prenijeti datoteke s nastavkom php, pa ste morate preimenovati counterphp.txt u counter.php. Ako je vaš Arduino još priključen na vaše računalo, pokrenite Python skriptu za dohvaćanje brojača 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 kako vaš brojač pogona zvoni. Da, sada smo gotovi. 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 sagradio nešto s pokretnim dijelovima. To je prvi korak u premošćivanju jaza između virtualnog i stvarnog svijeta. I bilo je stvarno jednostavno, kôd je naprijed. Također je većina dijelova bila u mojoj kanti za smeće, osim zvona. Složiti sve zajedno i čekati da netko dođe na moj blog bilo je zabavno.

Nadam se da ste uživali.

Preporučeni: