INHOUDSOPGAWE:

Arduino XMAS Hitcounter: 6 stappe (met foto's)
Arduino XMAS Hitcounter: 6 stappe (met foto's)

Video: Arduino XMAS Hitcounter: 6 stappe (met foto's)

Video: Arduino XMAS Hitcounter: 6 stappe (met foto's)
Video: Arduino XMAS hitcounter 2024, November
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Kersfees kom nader, so hier is my bydrae om u in die regte bui te bring. Dit is 'n blog -treffer wat 'n klokkie lui. Letterlik. Dit maak 'n glimlag op jou gesig, elke keer as iemand jou blog tref.

Dit bestaan uit 'n Arduino -bord, 'n klok, 'n servo en 'n paar reëls kode in c, python en php. Die meeste dele is redelik algemeen en moet maklik verkrygbaar wees.

Stap 1: gereedskap en materiaal

Gereedskap en materiaal
Gereedskap en materiaal

So, wat is nodig?

  • Arduino raad. Ek het 'n Arduino Diecimila van Adafruits gekry. Intussen is daar regtig goedkoop en handige klone, bv. die regtig kaalbeenbord van Modern Devices, veral as u dit op 'n broodbord wil gebruik.
  • 'N Servomotor. Enige servo sal doen. Ek het 'n ou geneem wat in my vorige stokperdjie gebruik is.
  • 'N Klokkie. Verkieslik een wat klein genoeg is om dit met die servo te skud.
  • Twee skuifspelde. 'N Groot een om die klok vas te hou en 'n klein een om die aktuator te bou om die klok te lui.
  • Drade om die servo met die Arduino te verbind.
  • 'N Webwerf. Dit hoef eintlik nie 'n webwerf of 'n blog te wees nie. Eintlik sal alles wat getel kan word, werk.
  • 'N PC of 'n Mac om die Arduino -bord met die blog of webwerf te verbind.

Miskien het u 'n soldeerbout nodig as die drade nie direk aan die Arduino gekoppel kan word nie.

Stap 2: Hardeware -samestelling

Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering
Hardeware vergadering

Die klok word deur 'n sterk papierklem vasgehou. Die klein skuifspeldjie word gebruik om 'n soort arm te vorm wat aan die servomotor vasgemaak is.

Let daarop dat u die skuifspeldjie wat die klok hou, op 'n manier wil buig, wat al 'n bietjie skud, wat 'n ding veroorsaak.

Stap 3: Skema's

Skemas
Skemas

Daar is geen werklike skematika nie. Koppel net die servomotor aan die Arduino. Die servo het drie drade:

  • geel of oranje: sein
  • rooi: VCC
  • bruin: GND

Die rooi en die bruin een is vasgemaak aan die penne op die Arduino (5V en GND). Die oranje een is met pen 2 verbind. Dit dui die servo aan in watter rigting hy moet draai. Miskien wil u klein verbindings aan die drade soldeer as die drade nie direk in die Arduino of die servo pas nie.

Stap 4: Programmering van die Arduino

Die programmering van die Arduino
Die programmering van die Arduino

Arduino As u nuut is in die Arduino, is dit 'n klein bordjie, volledig saamgestel met 'n AVR -mikrobeheerder. Dit is baie geskik vir inbraak en interaksie met u omgewing. Baie dinge wat moeilik is met mikrobeheerders, is redelik maklik met Arduino. Enkele van die voordele:

  • geen aparte programmeertoestel (programmeerder) nodig nie
  • kom met 'n geïntegreerde ontwikkelingsomgewing (IDE)
  • loop op enige platform, Windows, Mac, Linux.
  • maklike verbinding met u rekenaar met USB
  • hardeware is open source (maar die naam Arduino is nie)
  • het 'n wonderlike gemeenskap

Meer inligting kan gevind word op die amptelike Arduino -webwerf. Kyk gerus na John's Arduino se instruksies vir meer inligting oor hoe u met Arduino kan begin. Wat doen die sagteware? Die klein stukkie sagteware wat na die Arduino opgelaai word, beheer die servo. Dit ontvang enkele grepe via die seriële verbinding via die USB -kabel. As dit 'n waarde van 5 ontvang, beweeg dit die servo -arm vyf keer heen en weer. Die maksimum waarde om te stuur is dus 255. Programmeer die Ardiuno So ek neem aan dat u die nuutste Arduino IDE van Arduino.cc afgelaai en geïnstalleer het. Vir eers is dit weergawe 0010 Alpha. Om die servo gemakliker te bestuur, moet u 'n biblioteek aflaai. U kan dit vind op die Arduino Playground. Pak dit uit en plaas die gids in …/arduino-0010/hardware/libraries/.

  • Koppel die Arduino aan die rekenaar met die USB -kabel.
  • Maak die IDE oop en begin met 'n nuwe skets. Skets is Arduino speak for program. Kies File -> New.
  • Kies die toepaslike seriële toestel (Tools -> Serial Port). Dit hang af van u omgewing; vir my is dit /dev/tty.usbserial-A4001JAh.
  • Laai die aangehegte bronlêer af en plak dit in die nuwe skets. Druk die stoor -knoppie.
  • Druk die verifieer knoppie. Dit stel u skets saam in 'n hex -lêer wat na u Arduino oorgedra kan word.
  • Druk die oplaai -knoppie om u skets oor te dra na die Arduino.

Toets nou, u treffer is gereed vir aksie. Kom ons kyk of dit werk.

  • Druk die seriële monitor -knoppie.
  • Kies die tekskassie langs die stuurknoppie.
  • Druk die tab -sleutel en stuur dit.
  • Teen hierdie tyd moet die servo -arm vorentoe en agtertoe beweeg.

Sjoe. Dit was die moeilikste deel. Vir nou kan u 'n greep na die Arduino stuur en die servogolf na u toe. Volgende is om iets te vind wat u die klok wil aktiveer. Ons is amper klaar.

Stap 5: Maak dit 'n treffer

Om dit 'n treffer vir u webwerf te maak, benodig ons twee klein stukkies kode. Een twee skep en sorg vir die toonbank en 'n tweede om die waarde van die toonbank te haal en dit na die Arduino te stuur.

Let wel: as u nie bekend is met Python of PHP nie, kan die skrifte maklik na u gunsteling programmeertaal oorgedra word. dit terug na die lêer. Dit is al, dit is nodig. Hierdie lêer kan byvoorbeeld as counter.php op u bediener gestoor word. U kan dan 'n telling maak met u webblaaier wat na https://www.youdomain.com/counter.php wys. Ek het hierdie brokkie in my wordpress -blog opgeneem. $ hits = file ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); eggo $ hit; ?> Die gomkode Die volgende kodebroodjie word gebruik om die toonbank te gaan haal. Ek het Python gebruik, maar alles behoort te werk. Dit maak 'n HTTP -verbinding oop en haal die hitcounter.txt. As die waarde verander het sedert die laaste ophaal, word die ewenaar bereken en na die Arduino gestoot. Dit word elke tien sekondes gedoen totdat u die script onderbreek met crtl-c. Pas die myUrl en die seriële verbinding hieronder aan by u behoeftes. # # telbank haal 'last_counter = urllib.urlopen (myUrl).read () terwyl (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) Ek kon nie lêers met php -uitbreiding oplaai nie, sodat u moet die counterphp.txt hernoem na counter.php. As u Arduino nog steeds aan u rekenaar gekoppel is, begin dan die Python -script om u treffer te gaan haal…> python counter.py en u moet die uitset van die toonbank sien. As u u blaaier na die URL van u counter.php wys en herlaai, behoort u u treffer te hoor lui. Ja, nou is ons klaar. Tyd om terug te leun en ons werk te geniet.

Stap 6: Gevolgtrekking

Afsluiting
Afsluiting

Dit is die eerste keer dat ek iets bou met bewegende dele. Dit is die eerste stap om die gaping tussen die virtuele en die werklike wêreld te oorbrug. En dit was regtig maklik, die kode is eenvoudig. Die meeste dele was ook in my asblik, behalwe die klok. Dit was lekker om alles bymekaar te sit en te wag dat iemand my blog sou tref.

Hoop jy het dit geniet.

Aanbeveel: