Obsah:

Arduino XMAS Hitcounter: 6 krokov (s obrázkami)
Arduino XMAS Hitcounter: 6 krokov (s obrázkami)

Video: Arduino XMAS Hitcounter: 6 krokov (s obrázkami)

Video: Arduino XMAS Hitcounter: 6 krokov (s obrázkami)
Video: Arduino XMAS hitcounter 2024, November
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Vianoce sa nezadržateľne blížia, a preto tu je môj príspevok, ktorý vám dodá správnu náladu. Je to blog hitcounter, ktorý zvoní. Doslova. Vždy, keď sa niekto dostane na váš blog, vám vyčarí úsmev na tvári.

Skladá sa z dosky Arduino, zvonu, serva a niekoľkých riadkov kódu v jazykoch c, python a php. Väčšina častí je pomerne bežných a ich získanie by malo byť ľahké.

Krok 1: Nástroje a materiály

Nástroje a materiály
Nástroje a materiály

Čo je teda potrebné?

  • Doska Arduino. Od Adafruits som dostal Arduino Diecimila. Medzitým sú tam skutočne lacné a šikovné klony, napr. doska s naozaj holými kosťami od Modern Devices, najmä ak ich chcete použiť na doske s chlebom.
  • Servomotor. Postačí akékoľvek servo. Vzal som starý, ktorý bol použitý v mojom bývalom koníčku.
  • Zvon. Najlepšie taký, ktorý je dostatočne malý na to, aby sa ním zatriaslo so servom.
  • Dve kancelárske spinky. Veľký na držanie zvona a malý na zostavenie ovládača na zazvonenie.
  • Drôty na pripojenie serva k Arduinu.
  • Webovú stránku. V skutočnosti to nemusí byť webová stránka ani blog. Vlastne všetko, čo sa dá spočítať, bude fungovať.
  • PC alebo Mac na prepojenie dosky Arduino s blogom alebo webovou stránkou.

Ak drôty nemožno pripojiť priamo k Arduinu, možno budete potrebovať spájkovačku.

Krok 2: Zostavenie hardvéru

Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru

Zvonček drží silná kancelárska sponka. Malá sponka na papier sa používa na vytvorenie druhu ramena, ktoré je pripevnené k servomotoru.

Všimnite si toho, že chcete sponku na papier, ktorá drží zvonček, ohnúť takým spôsobom, že už malé chvenie generuje šklbanie.

Krok 3: Schémy

Schémy
Schémy

Neexistuje žiadna skutočná schéma. Stačí pripojiť servomotor k Arduinu. Servo má tri vodiče:

  • žltá alebo oranžová: signál
  • červená: VCC
  • hnedá: GND

Červený a hnedý je pripevnený k zodpovedajúcim kolíkom na Arduino (5V a GND). Oranžový je zapojený na kolíku 2. Bude signalizovať servu, ktorým smerom sa má otočiť. Ak konektory nezapadajú priamo do Arduina alebo serva, možno budete chcieť k vodičom spájkovať malé konektory.

Krok 4: Programovanie Arduina

Programovanie Arduina
Programovanie Arduina

Arduino Ak ste v Arduine nováčikmi, je to malá doska, ktorá je plne zostavená z mikrokontroléra AVR. Je vhodný na hackovanie a interakciu s vašim prostredím. Mnoho vecí, ktoré sú s mikrokontrolérmi ťažké, je s Arduinom pomerne jednoduché. Niektoré z výhod:

  • nie je potrebné samostatné programovacie zariadenie (programátor)
  • prichádza s integrovaným vývojovým prostredím (IDE)
  • beží na akejkoľvek platforme, Windows, Mac, Linux.
  • jednoduché pripojenie k počítaču pomocou USB
  • hardvér je open source (ale názov Arduino nie je)
  • má skvelú komunitu

Viac informácií nájdete na oficiálnom webe Arduino. Uistite sa, že sa pozriete na pokyny spoločnosti John's Arduino, kde nájdete ďalšie podrobnosti o tom, ako začať s Arduinom. Čo robí softvér? Malý kus softvéru, ktorý sa nahrá do Arduina, ovláda servo. Prijíma jednotlivé bajty prostredníctvom sériového pripojenia cez kábel USB. Ak dostane hodnotu 5, posunie rameno serva päťkrát dopredu a dozadu. Maximálna hodnota na odoslanie je 255. Naprogramujte Ardiuno. Predpokladám, že ste si stiahli a nainštalovali najnovšie Arduino IDE z Arduino.cc. Zatiaľ je to verzia 0010 Alpha. Aby ste mohli so servom jazdiť pohodlnejšie, musíte si stiahnuť knižnicu. Nájdete ho na ihrisku Arduino. Rozbaľte ho a vložte priečinok do …/arduino-0010/hardvér/knižnice/.

  • Pripojte Arduino k počítaču pomocou kábla USB.
  • Otvorte IDE a začnite nový náčrt. Sketch is Arduino speak for program. Vyberte položku Súbor -> Nový.
  • Vyberte príslušné sériové zariadenie (Nástroje -> Sériový port). To závisí od vášho prostredia, pre mňa je to /dev/tty.usbserial-A4001JAh.
  • Stiahnite si priložený zdrojový súbor a vložte ho do nového náčrtu. Kliknite na tlačidlo uložiť.
  • Kliknite na tlačidlo overenia. To skomplikuje vašu skicu do hexadecimálneho súboru, ktorý je možné preniesť do vášho Arduina.
  • Kliknutím na tlačidlo nahrávania preneste svoju skicu do Arduina.

Testovanie Teraz je váš čítač hitov pripravený na akciu. Pozrime sa, či to funguje.

  • Kliknite na tlačidlo sériového monitora.
  • Vyberte textové pole vedľa tlačidla odoslať.
  • Stlačte kláves Tab a odošlite ho.
  • Rameno serva by sa už malo pohybovať dopredu a dozadu.

Fuj. To bolo najťažšie. Zatiaľ môžete poslať bajt do Arduina a servo mávať na vás. Ďalej je nájsť niečo, čo chcete spustiť. Sme takmer hotoví.

Krok 5: Urobte z toho Hitcounter

Aby sa z neho stal hitcounter pre váš web, potrebujeme dva malé kúsky kódu. Jeden dva vytvorí a postará sa o počítadlo a druhý o vynesenie hodnoty počítadla a jeho odoslanie do Arduina.

Poznámka: Ak nie ste oboznámení s Pythonom alebo PHP, skripty je možné ľahko preniesť do vášho obľúbeného programovacieho jazyka. Počítadlo Tu je malý skript PHP, ktorý číta hodnotu zo súboru (hitcounter.txt), zvyšuje ju a zapisuje. späť do súboru. To je všetko, čo je potrebné. Tento súbor je možné uložiť napríklad ako counter.php na váš server. Potom môžete spustiť počítanie pomocou webového prehliadača smerujúceho na stránku https://www.youdomain.com/counter.php. Tento úryvok som zaradil do svojho blogu WordPress. $ zásahov = súbor ($ count_my_page); $ hit = trim ($ zásahov [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, „$ hit“); fclose ($ fp); echo $ hit; ?> Kód lepidla Nasledujúci útržok kódu sa používa na načítanie počítadla. Použil som Python, ale všetko by malo fungovať. Otvára pripojenie HTTP a načítava súbor hitcounter.txt. Ak sa hodnota od posledného načítania zmenila, rozdiel sa vypočíta a posunie do Arduina. To sa robí každých desať sekúnd, kým skript neprerušíte pomocou crtl-c. Prispôsobte myUrl a nižšie uvedené sériové pripojenie svojim potrebám. # # počítadlo načítania # čas importu import urllib import sériového čísla # USB sériové pripojenie k 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 " % (counter, delta) _ ser.write (chr (ord (chr (delta))))) _ last_counter = counter _ time.sleep (10) Nemohol som nahrať súbory s príponou php, takže musíte premenovať counterphp.txt na counter.php. Ak je váš Arduino stále pripojený k počítaču, spustite skript Python a načítajte svoje počítadlo hitov…> python counter.py a mali by ste vidieť výstup počítadla. Ak nasmerujete prehliadač na adresu URL svojho súboru counter.php a kliknete na tlačidlo Obnoviť, mali by ste počuť vyzváňací tón servera hitters. Áno, teraz sme skončili. Čas nakloniť sa a užiť si našu prácu.

Krok 6: Záver

Záver
Záver

Je to prvýkrát, čo som postavil niečo, čo má pohyblivé časti. Toto je prvý krok k preklenutiu priepasti medzi virtuálnym a skutočným svetom. A bolo to skutočne jednoduché, kód je priamočiary. Tiež väčšina dielov bola v mojom koši, okrem zvončeka. Dať všetko dohromady a čakať, kým sa niekto dostane na môj blog, bolo zábavné.

Dúfam, že ste si to užili

Odporúča: