Satura rādītājs:

Arduino XMAS hitcounter: 6 soļi (ar attēliem)
Arduino XMAS hitcounter: 6 soļi (ar attēliem)

Video: Arduino XMAS hitcounter: 6 soļi (ar attēliem)

Video: Arduino XMAS hitcounter: 6 soļi (ar attēliem)
Video: Обыгрываю 5 Мошеннических Игровых Автоматов с Наукой 2024, Novembris
Anonim
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter
Arduino XMAS hitcounter

Ziemassvētki tuvojas, tāpēc šeit ir mans ieguldījums, lai jūs noskaņotu pareizi. Tas ir emuāru hitcounter, kas zvana. Burtiski. Tas rada smaidu jūsu sejā katru reizi, kad kāds nokļūst jūsu emuārā.

Tas sastāv no Arduino plates, zvana, servo un pāris koda rindām c, python un php. Lielākā daļa detaļu ir diezgan izplatītas, un tām jābūt viegli pieejamām.

1. darbība: instrumenti un materiāli

Instrumenti un materiāli
Instrumenti un materiāli

Tātad, kas ir vajadzīgs?

  • Arduino valde. Es saņēmu Arduino Diecimila no Adafruits. Pa to laiku tur ir patiešām lēti un parocīgi kloni, piem. patiesi kails dēlis no mūsdienu ierīcēm, it īpaši, ja vēlaties tos izmantot uz maizes dēļa.
  • Servo motors. Derēs jebkurš servo. Es paņēmu veco, kas tika izmantots manā bijušajā hobijā.
  • Zvans. Vēlams tādu, kas ir pietiekami mazs, lai to sakratītu ar servo.
  • Divas saspraudes. Liels, lai turētu zvanu, un mazs, lai izveidotu izpildmehānismu zvana zvanīšanai.
  • Vadi, lai savienotu servo ar Arduino.
  • Vietne. Patiesībā tai nav jābūt vietnei vai emuāram. Patiesībā viss, ko var saskaitīt, darbosies.
  • Dators vai Mac, lai savienotu Arduino dēli ar emuāru vai vietni.

Jums var būt nepieciešams lodāmurs, ja vadus nevar savienot tieši ar Arduino.

2. solis: Aparatūras montāža

Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža

Zvans tiek turēts ar spēcīgu saspraudi. Mazo saspraudi izmanto, lai izveidotu sava veida roku, kas piestiprināta pie servomotora.

Ņemiet vērā, ka vēlaties saspiest saspraudi, kas satur zvanu, tādā veidā, ka jau neliela kratīšana rada rīboņu.

3. darbība. Shēmas

Shēmas
Shēmas

Nav īstas shēmas. Vienkārši pievienojiet servomotoru Arduino. Servo ir trīs vadi:

  • dzeltens vai oranžs: signāls
  • sarkans: VCC
  • brūns: GND

Sarkanais un brūnais ir piestiprināts pie attiecīgajām Arduino tapām (5V un GND). Oranžais ir pieslēgts pie tapas 2. Tas signalizēs servo, kurā virzienā jāgriežas. Iespējams, vēlēsities pielodēt pie vadiem mazus savienotājus, ja vadi neiederas tieši Arduino vai servo.

4. solis: Arduino programmēšana

Arduino programmēšana
Arduino programmēšana

Arduino Ja esat jauns Arduino lietotājs, tā ir neliela tāfele, kas ir pilnībā samontēta ar AVR mikrokontrolleri. Tas ir labi piemērots uzlaušanai un mijiedarbībai ar jūsu vidi. Daudzas lietas, kas ir grūti ar mikrokontrolleriem, ir diezgan vienkāršas ar Arduino. Dažas no priekšrocībām:

  • nav nepieciešama atsevišķa programmēšanas ierīce (programmētājs)
  • nāk ar integrētu izstrādes vidi (IDE)
  • darbojas uz jebkuras platformas, Windows, Mac, Linux.
  • vienkāršs savienojums ar datoru, izmantojot USB
  • aparatūra ir atvērtā koda (bet nosaukums Arduino nav)
  • ir lieliska kopiena

Plašāku informāciju var atrast oficiālajā Arduino vietnē. Noteikti pārbaudiet John's Arduino instrukcijas, lai iegūtu sīkāku informāciju par to, kā sākt lietot Arduino. Ko dara programmatūra? Mazā programmatūras daļa, kas tiek augšupielādēta Arduino, kontrolē servo. Tas saņem atsevišķus baitus, izmantojot seriālo savienojumu, izmantojot USB kabeli. Ja tā saņem vērtību 5, tā piecas reizes kustina servo roku uz priekšu un atpakaļ. Tātad maksimālā nosūtītā vērtība ir 255. Programmējiet Ardiuno. Tāpēc es pieņemu, ka esat lejupielādējis un instalējis jaunāko Arduino IDE no Arduino.cc. Pagaidām tā ir versija 0010 Alpha. Lai ērtāk vadītu servo, jums ir jālejupielādē bibliotēka. To var atrast Arduino rotaļu laukumā. Izsaiņojiet to un ievietojiet mapi mapē…/arduino-0010/hardware/libraries/.

  • Pievienojiet Arduino datoram, izmantojot USB kabeli.
  • Atveriet IDE un sāciet jaunu skici. Skice ir Arduino runāt par programmu. Atlasiet Fails -> Jauns.
  • Izvēlieties atbilstošo seriālo ierīci (Rīki -> Sērijas ports). Tas ir atkarīgs no jūsu vides, man tas ir /dev/tty.usbserial-A4001JAh.
  • Lejupielādējiet pievienoto avota failu un ielīmējiet to jaunajā skicē. Nospiediet pogu Saglabāt.
  • Nospiediet apstiprināšanas pogu. Tas apkopo jūsu skici hex failā, kuru var pārsūtīt uz jūsu Arduino.
  • Nospiediet augšupielādes pogu, lai pārsūtītu skici uz Arduino.

Testēšana Tagad jūsu sitienu skaitītājs ir gatavs kādai darbībai. Redzēsim, vai tas darbojas.

  • Nospiediet seriālā monitora pogu.
  • Atlasiet tekstlodziņu blakus sūtīšanas pogai.
  • Nospiediet tabulēšanas taustiņu un nosūtiet to.
  • Līdz šim servo rokai vajadzētu virzīties uz priekšu un atpakaļ.

Fau. Tā bija grūtākā daļa. Pagaidām varat nosūtīt baitu uz Arduino, un servo viļņi uz jums. Tālāk ir jāatrod kaut kas, ko vēlaties aktivizēt. Mēs esam gandrīz pabeiguši.

5. solis: Padariet to par sitienu

Lai to padarītu par jūsu vietnes trāpītāju, mums ir nepieciešami divi mazi koda gabali. Viens divi izveido un rūpējas par skaitītāju, bet otrs - lai iegūtu skaitītāja vērtību un nosūtītu to Arduino.

Piezīme. Ja neesat pazīstams ar Python vai PHP, skriptus var viegli pārnest uz jūsu iecienīto programmēšanas valodu. Skaitītājs Šeit ir neliels PHP skripts, kas nolasa vērtību no faila (hitcounter.txt), palielina to un raksta to atpakaļ failā. Tas ir viss, tas ir vajadzīgs. Šo failu, piemēram, jūsu serverī var saglabāt kā counter.php. Pēc tam jūs varat aktivizēt skaitīšanu, izmantojot tīmekļa pārlūkprogrammu, norādot uz vietni https://www.youdomain.com/counter.php. Šo fragmentu iekļāvu savā WordPress emuārā. $ hits = fails ($ count_my_page); $ hit = apdare ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Līmes kods Šis nākamais koda fragments tiek izmantots skaitītāja izgūšanai. Es izmantoju Python, bet visam vajadzētu strādāt. Tas atver HTTP savienojumu un ielādē failu hitcounter.txt. Ja vērtība ir mainījusies kopš pēdējās ielādes, tiek aprēķināta starpība un tiek pārvietota uz Arduino. Tas tiek darīts ik pēc desmit sekundēm, līdz pārtraucat skriptu ar crtl-c. Pielāgojiet tālāk norādīto myUrl un sērijas savienojumu savām vajadzībām. # # ielādēt skaitītāju # importēšanas laiks importēt urllib importēt sērijas # usb seriālo savienojumu ar arduino ser = serial. Serial ('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt 'last_counter = urllib.urlopen (myUrl).read (), kamēr (True): _ counter = urllib.urlopen (myUrl).read () _ delta = int (counter) - int (last_counter) _ print "counter: %s, delta: % s " % (skaitītājs, delta) _ ser.write (chr (ord (chr (delta))))) _ last_counter = counter _ time.sleep (10) Es nevarēju augšupielādēt failus ar php paplašinājumu, tāpēc jūs ir jāpārdēvē counterphp.txt uz counter.php. Ja jūsu Arduino joprojām ir pievienots jūsu datoram, tad palaidiet Python skriptu, lai ielādētu savu sitienu skaitītāju…> python counter.py un jums vajadzētu redzēt skaitītāja izvadi. Ja norādāt pārlūkprogrammā uz sava counter.php URL un nospiežat pārlādēt, jums vajadzētu dzirdēt, kā zvana jūsu sitienu skaitītājs. Jā, tagad mēs esam pabeiguši. Laiks atkāpties un izbaudīt mūsu darbu.

6. darbība. Secinājums

Secinājums
Secinājums

Tā ir pirmā reize, kad es uzbūvēju kaut ko, kurā ir kustīgas detaļas. Tas ir pirmais solis, lai pārvarētu plaisu starp virtuālo un reālo pasauli. Un tas bija patiešām vienkārši, kods ir tiešs. Arī lielākā daļa detaļu bija manā miskastē, izņemot zvanu. Visu salikt kopā un gaidīt, kad kāds nokļūs manā emuārā, bija jautri.

Ceru, ka jums patika.

Ieteicams: