Sisukord:

Arduino XMAS hitcounter: 6 sammu (piltidega)
Arduino XMAS hitcounter: 6 sammu (piltidega)

Video: Arduino XMAS hitcounter: 6 sammu (piltidega)

Video: Arduino XMAS hitcounter: 6 sammu (piltidega)
Video: Arduino XMAS hitcounter 2024, November
Anonim
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter

Jõulud lähenevad, nii et siin on minu panus, et teid õigesse meeleollu viia. See on ajaveebi hittkohtumine, mis helistab kella. Sõna otseses mõttes. See toob naeratuse näole iga kord, kui keegi teie ajaveebi satub.

See koosneb Arduino plaadist, kellast, servost ja paarist koodireast c, pythonis ja php -s. Enamik osi on üsna tavalised ja neid peaks olema lihtne hankida.

Samm: tööriistad ja materjalid

Tööriistad ja materjalid
Tööriistad ja materjalid

Mida siis vaja on?

  • Arduino juhatus. Adafruitsilt sain Arduino Diecimila. Vahepeal on seal tõesti odavaid ja käepäraseid kloone, nt. tõeliselt tühi kondiplaat firmalt Modern Devices, eriti kui soovite neid kasutada leivalaual.
  • Servomootor. Iga servo sobib. Võtsin vana, mida kasutasin oma endises hobis.
  • Kelluke. Eelistatavalt selline, mis on piisavalt väike, et seda servoga raputada.
  • Kaks kirjaklambrit. Suur kellu hoidmiseks ja väike ajami ehitamiseks kella helistamiseks.
  • Juhtmed servo ühendamiseks Arduinoga.
  • Veebisait. Tegelikult ei pea see olema veebisait ega ajaveeb. Tegelikult töötab kõik, mida saab lugeda.
  • Arvuti või Mac, et ühendada Arduino plaat ajaveebi või veebisaidiga.

Kui juhtmeid ei saa otse Arduinoga ühendada, võib teil olla vaja jootekolvi.

2. samm: riistvara kokkupanek

Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek

Kella hoiab tugev kirjaklamber. Väikest kirjaklambrit kasutatakse omamoodi käe moodustamiseks, mis on servomootori külge kinnitatud.

Pange tähele, et soovite kella painutavat kirjaklambrit painutada nii, et juba väike raputamine tekitab kõlina.

3. samm: skeemid

Skeemid
Skeemid

Tõelist skeemi pole. Lihtsalt kinnitage servomootor Arduino külge. Servol on kolm juhet:

  • kollane või oranž: signaal
  • punane: VCC
  • pruun: GND

Punane ja pruun on kinnitatud Arduino vastavate tihvtide külge (5V ja GND). Oranž värv on ühendatud juhtmega 2. See annab servole märku, millises suunas pöörata. Kui juhtmed ei sobi otse Arduino või servo külge, võiksite juhtmete külge joota väikesed pistikud.

Samm: Arduino programmeerimine

Arduino programmeerimine
Arduino programmeerimine

Arduino Kui olete Arduino uus kasutaja, on see väike plaat, mis on AVR -mikrokontrolleriga täielikult kokku pandud. See sobib hästi häkkimiseks ja teie keskkonnaga suhtlemiseks. Paljud asjad, mis on mikrokontrolleritega rasked, on Arduinoga üsna lihtsad. Mõned eelised:

  • pole vaja eraldi programmeerimisseadet (programmeerijat)
  • kaasas integreeritud arenduskeskkond (IDE)
  • töötab mis tahes platvormil, Windows, Mac, Linux.
  • lihtne ühendada arvutiga USB kaudu
  • riistvara on avatud lähtekoodiga (kuid nimi Arduino ei ole)
  • on suurepärane kogukond

Lisateavet leiate Arduino ametlikult veebisaidilt. Kindlasti vaadake John's Arduino juhendit, et saada lisateavet Arduino kasutamise alustamise kohta. Mida tarkvara teeb? Väike tarkvara, mis laaditakse üles Arduinosse, juhib servot. See võtab vastu USB -kaabli kaudu jadaühenduse kaudu üksikuid baite. Kui see saab väärtuse 5, liigutab see servovart viis korda edasi -tagasi. Seega on maksimaalne saadetav väärtus 255. Programmeerige Ardiuno. Seega eeldan, et olete alla laadinud ja installinud uusima Arduino IDE saidilt Arduino.cc. Praegu on see versioon 0010 Alpha. Servo mugavamaks juhtimiseks peate alla laadima kogu. Selle leiate Arduino mänguväljakult. Pakkige see lahti ja pange kaust kausta…/arduino-0010/hardware/libraries/.

  • Ühendage Arduino arvutiga USB -kaabli abil.
  • Avage IDE ja alustage uut visandit. Sketch on Arduino rääkida programmi eest. Valige Fail -> Uus.
  • Valige sobiv jadaseade (Tööriistad -> jadaport). See sõltub teie keskkonnast, minu jaoks on see /dev/tty.usbserial-A4001JAh.
  • Laadige alla lisatud lähtefail ja kleepige see uude visandisse. Vajutage nuppu Salvesta.
  • Vajutage kinnitusnuppu. See koondab teie visandi hex -faili, mille saab teie Arduinole üle kanda.
  • Eskiisi Arduinole edastamiseks klõpsake üleslaadimisnuppu.

Testimine Nüüd on teie tabamuste loendur mõneks toiminguks valmis. Vaatame, kas see töötab.

  • Vajutage jadamonitori nuppu.
  • Valige saatmisnupu kõrval olev tekstikasti.
  • Vajutage tabeldusklahvi ja saatke see.
  • Nüüdseks peaks servo liikuma edasi ja tagasi.

Oeh. See oli kõige raskem osa. Praegu saate saata baidi Arduinole ja servolained teie poole. Järgmine on leida midagi, mida soovite kella helistada. Oleme peaaegu valmis.

5. samm: tehke sellest löögivõistlus

Selleks, et muuta see teie veebisaidi löögitegijaks, vajame kahte väikest kooditükki. Üks neist loob loenduri ja hoolitseb selle eest ning teine toob loenduri väärtuse ja saadab selle Arduinole.

Märkus. Kui te pole Pythoni või PHP -ga tuttav, saab skripte hõlpsasti oma lemmikprogrammeerimiskeelde teisaldada. Loendur Siin on väike PHP -skript, mis loeb väärtust failist (hitcounter.txt), suurendab seda ja kirjutab see tagasi faili. See on kõik, seda on vaja. Seda faili saab näiteks serverisse salvestada kui counter.php. Seejärel saate käivitada koos teie veebibrauseriga loendamise, mis osutab saidile https://www.youdomain.com/counter.php. Lisasin selle katkendi oma WordPressi ajaveebi. $ hits = fail ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Liimikood Seda järgmist koodilõiku kasutatakse loenduri toomiseks. Ma kasutasin Pythoni, kuid kõik peaks toimima. See avab HTTP -ühenduse ja tõmbab faili hitcounter.txt. Kui väärtus on pärast viimast toomist muutunud, arvutatakse erinevus ja lükatakse Arduinole. Seda tehakse iga kümne sekundi tagant, kuni katkestate skripti crtl-c abil. Kohandage myUrl ja allolev jadaühendus vastavalt teie vajadustele. # # tõmbamisloendur # impordiaeg importimine urllib import jada # usb jadaühendus 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) Ma ei saanud php -laiendusega faile üles laadida, seega tuleb counterphp.txt ümber nimetada counter.php. Kui teie Arduino on endiselt teie arvutiga ühendatud, siis käivitage oma hitloenduri toomiseks Pythoni skript…> python counter.py ja peaksite nägema loenduri väljundit. Kui suunate oma brauseri oma counter.php URL -ile ja klõpsate uuesti laadimisel, peaksite kuulda löögiloenduri helinat. Jah, nüüd oleme lõpetanud. On aeg nõjatuda ja nautida meie tööd.

6. samm: järeldus

Järeldus
Järeldus

See on esimene kord, kui ma ehitasin midagi, millel on liikuvaid osi. See on esimene samm virtuaalse ja reaalse maailma vahelise lõhe ületamiseks. Ja see oli tõesti lihtne, kood on otse edasi. Ka enamik osi oli minu prügikastis, välja arvatud kell. Kõik kokku panna ja oodata, et keegi mu blogi tabab, oli lõbus.

Loodetavasti teile meeldis.

Soovitan: