Turinys:

„Arduino XMAS Hitcounter“: 6 žingsniai (su nuotraukomis)
„Arduino XMAS Hitcounter“: 6 žingsniai (su nuotraukomis)

Video: „Arduino XMAS Hitcounter“: 6 žingsniai (su nuotraukomis)

Video: „Arduino XMAS Hitcounter“: 6 žingsniai (su nuotraukomis)
Video: XMAS tree Arduino Adafruit servo16 2024, Lapkritis
Anonim
„Arduino XMAS Hitcounter“
„Arduino XMAS Hitcounter“
„Arduino XMAS Hitcounter“
„Arduino XMAS Hitcounter“

Kalėdos artėja, todėl čia yra mano indėlis, padedantis jums nusiteikti tinkamai. Tai tinklaraščių hitcounter, kuris skamba varpu. Žodžiu. Tai sukelia šypseną jūsų veide kiekvieną kartą, kai kas nors patenka į jūsų tinklaraštį.

Jį sudaro „Arduino“plokštė, varpas, servo ir pora kodo eilučių c, python ir php. Dauguma dalių yra gana įprastos ir turėtų būti lengvai prieinamos.

1 žingsnis: įrankiai ir medžiagos

Įrankiai ir medžiagos
Įrankiai ir medžiagos

Taigi ko reikia?

  • „Arduino“lenta. Aš gavau Arduino Diecimila iš „Adafruits“. Tuo tarpu ten yra tikrai pigių ir patogių klonų, pvz. tikrai pliką kaulų plokštę iš „Modern Devices“, ypač jei norite jas naudoti ant duonos lentos.
  • Servo variklis. Bet koks servo tiks. Aš paėmiau seną, kuris buvo naudojamas mano buvusiam pomėgiui.
  • Skambutis. Pageidautina, kad jis būtų pakankamai mažas, kad jį supurtytų servo.
  • Du sąvaržėlės. Didelis, skirtas laikyti varpą, o mažas - statyti pavarą, kad skambėtų varpas.
  • Laidai, skirti prijungti servo prie „Arduino“.
  • Svetainė. Tiesą sakant, tai neturi būti svetainė ar tinklaraštis. Tiesą sakant, viskas, ką galima suskaičiuoti, veiks.
  • Kompiuteris arba „Mac“, kad prijungtumėte „Arduino“plokštę prie tinklaraščio ar svetainės.

Jums gali prireikti lituoklio, jei laidų negalima tiesiogiai prijungti prie „Arduino“.

2 žingsnis: Aparatūros surinkimas

Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas
Techninės įrangos surinkimas

Varpą laiko tvirtas sąvaržėlė. Mažas sąvaržėlė naudojama suformuoti ranką, pritvirtintą prie servo variklio.

Atminkite, kad norite sulenkti varpą laikantį sąvaržėlę taip, kad jau šiek tiek purtant susidarytų dundėjimas.

3 žingsnis: schemos

Schemos
Schemos

Nėra tikros schemos. Tiesiog pritvirtinkite servo variklį prie „Arduino“. Servo turi tris laidus:

  • geltona arba oranžinė: signalas
  • raudona: VCC
  • ruda: GND

Raudona ir ruda spalvos yra pritvirtintos prie atitinkamų „Arduino“kaiščių (5V ir GND). Oranžinis yra prijungtas prie kaiščio 2. Jis signalizuos servo, kuria kryptimi pasukti. Jei laidai netelpa tiesiai į „Arduino“ar servo, prie laidų galite lituoti mažas jungtis.

4 žingsnis: „Arduino“programavimas

„Arduino“programavimas
„Arduino“programavimas

„Arduino“Jei esate „Arduino“naujokas, tai maža plokštė, pilnai surinkta su AVR mikrovaldikliu. Tai puikiai tinka įsilaužimui ir sąveikai su jūsų aplinka. Daugelis dalykų, kurie yra sunkūs naudojant mikrovaldiklius, yra gana lengvi naudojant „Arduino“. Kai kurie privalumai:

  • nereikia atskiro programavimo įrenginio (programuotojo)
  • ateina su integruota kūrimo aplinka (IDE)
  • veikia bet kurioje platformoje, „Windows“, „Mac“, „Linux“.
  • paprastas prijungimas prie kompiuterio naudojant USB
  • aparatinė įranga yra atvirojo kodo (bet vardas Arduino nėra)
  • turi puikią bendruomenę

Daugiau informacijos galite rasti oficialioje „Arduino“svetainėje. Būtinai peržiūrėkite „John's Arduino instructable“, kad gautumėte daugiau informacijos apie tai, kaip pradėti naudotis „Arduino“. Ką daro programinė įranga? Maža programinė įranga, įkeliama į „Arduino“, valdo servo. Jis gauna vieną baitą per nuoseklųjį ryšį per USB kabelį. Jei jis gauna vertę 5, ji penkis kartus perkelia servo ranką pirmyn ir atgal. Taigi maksimali siunčiama vertė yra 255. Užprogramuokite „Ardiuno“Taigi manau, kad atsisiuntėte ir įdiegėte naujausią „Arduino IDE“iš „Arduino.cc“. Kol kas tai yra versija 0010 Alpha. Norėdami patogiau valdyti servo, turite atsisiųsti biblioteką. Jį galite rasti „Arduino“žaidimų aikštelėje. Išpakuokite jį ir įdėkite aplanką į…/arduino-0010/hardware/libraries/.

  • Prijunkite „Arduino“prie kompiuterio naudodami USB kabelį.
  • Atidarykite IDE ir pradėkite naują eskizą. Eskizas yra „Arduino“kalba už programą. Pasirinkite Failas -> Naujas.
  • Pasirinkite tinkamą nuoseklųjį įrenginį (Įrankiai -> Serijinis prievadas). Tai priklauso nuo jūsų aplinkos, man tai yra /dev/tty.usbserial-A4001JAh.
  • Atsisiųskite pridėtą šaltinio failą ir įklijuokite jį į naują eskizą. Paspauskite išsaugojimo mygtuką.
  • Paspauskite patvirtinimo mygtuką. Tai sujungia jūsų eskizą į šešiakampį failą, kurį galima perkelti į „Arduino“.
  • Paspauskite įkėlimo mygtuką, kad perkeltumėte eskizą į „Arduino“.

Testavimas Dabar jūsų hitcounter yra paruoštas tam tikram veiksmui. Pažiūrėkime, ar tai veikia.

  • Paspauskite serijinio monitoriaus mygtuką.
  • Pasirinkite teksto laukelį šalia siuntimo mygtuko.
  • Paspauskite skirtuko klavišą ir išsiųskite.
  • Iki šiol servo ranka turėtų judėti į priekį ir atgal.

Fau. Tai buvo sunkiausia dalis. Kol kas galite nusiųsti baitą „Arduino“ir servo bangos jums. Toliau reikia surasti kažką, ko norite skambinti. Mes beveik baigėme.

5 veiksmas: paverskite jį „Hitcounter“

Kad jūsų svetainė taptų hitu, mums reikia dviejų mažų kodo dalių. Vienas du sukuria ir rūpinasi skaitikliu, o antrasis - nuskaito vertę ir siunčia ją „Arduino“.

Pastaba: Jei nesate susipažinę su „Python“ar PHP, scenarijus galima lengvai perkelti į jūsų mėgstamą programavimo kalbą. Skaitiklis Čia yra mažas PHP scenarijus, kuris nuskaito reikšmę iš failo (hitcounter.txt), padidina jį ir rašo jį atgal į failą. Tai viskas, ko reikia. Pavyzdžiui, šį failą galima išsaugoti kaip counter.php jūsų serveryje. Tada galite suaktyvinti skaičiavimą kartu su žiniatinklio naršykle, nukreipdami į https://www.youdomain.com/counter.php. Šį fragmentą įtraukiau į savo „WordPress“tinklaraštį. $ hits = failas ($ count_my_page); $ hit = apdaila ($ hits [0]); $ hitas ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Klijų kodas Šis kitas kodo fragmentas naudojamas skaitliukui gauti. Aš naudoju „Python“, bet viskas turėtų veikti. Jis atveria HTTP ryšį ir gauna failą hitcounter.txt. Jei vertė pasikeitė nuo paskutinio nuskaitymo, skirtumas apskaičiuojamas ir perkeliamas į „Arduino“. Tai daroma kas dešimt sekundžių, kol nutraukiate scenarijų naudodami crtl-c. Pritaikykite „myUrl“ir toliau pateiktą nuoseklųjį ryšį pagal savo poreikius. # # gauti skaitiklį # importavimo laikas importuoti urllib importuoti serijinį # usb serijinį ryšį su 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 " % (skaitiklis, delta) _ ser.write (chr (ord (chr (delta))))) _ last_counter = skaitiklis _ time.sleep (10) Negalėjau įkelti failų su php plėtiniu, todėl jūs turi pervardyti counterphp.txt į counter.php. Jei jūsų „Arduino“vis dar prijungtas prie jūsų kompiuterio, paleiskite „Python“scenarijų, kad gautumėte smūgių skaitiklį…> python counter.py ir turėtumėte pamatyti skaitiklio išvestį. Jei nukreipiate naršyklę į savo counter.php URL ir paspausite „Reload“, turėtumėte išgirsti, kaip skamba smūgių skaitiklis. Taip, dabar mes baigėme. Laikas atsilošti ir mėgautis mūsų darbu.

6 žingsnis: Išvada

Išvada
Išvada

Tai pirmas kartas, kai kažką sukūriau, kuriame yra judančių dalių. Tai pirmas žingsnis įveikti atotrūkį tarp virtualiojo ir realaus pasaulio. Ir tai buvo tikrai lengva, kodas yra tiesiai į priekį. Be to, dauguma dalių buvo mano šiukšliadėžėje, išskyrus varpą. Viską sujungti ir laukti, kol kas nors pateks į mano tinklaraštį, buvo smagu.

Tikiuosi patiko.

Rekomenduojamas: