Indholdsfortegnelse:

Arduino XMAS Hitcounter: 6 trin (med billeder)
Arduino XMAS Hitcounter: 6 trin (med billeder)

Video: Arduino XMAS Hitcounter: 6 trin (med billeder)

Video: Arduino XMAS Hitcounter: 6 trin (med billeder)
Video: Arduino XMAS hitcounter 2024, November
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Julen nærmer sig, så her er mit bidrag til at bringe dig i det rigtige humør. Det er en blog -hitcounter, der ringer en klokke. Bogstaveligt talt. Det får et smil på læben, hver gang nogen rammer din blog.

Den består af et Arduino -bord, en klokke, en servo og et par linjer kode i c, python og php. De fleste dele er ret almindelige og burde være lette at få fat i.

Trin 1: Værktøjer og materialer

Værktøjer og materialer
Værktøjer og materialer

Så hvad er der brug for?

  • Arduino bord. Jeg fik en Arduino Diecimila fra Adafruits. I mellemtiden er der virkelig billige og praktiske kloner derude, f.eks. det virkelig bare benplade fra Modern Devices, især hvis du vil bruge dem på et brødbræt.
  • En servomotor. Enhver servo vil gøre. Jeg tog en gammel, der blev brugt i min tidligere hobby.
  • En klokke. Helst en der er lille nok til at ryste den med servoen.
  • To papirclips. En stor til at holde klokken og en lille til at bygge aktuatoren til at ringe på klokken.
  • Ledninger til at forbinde servoen med Arduino.
  • Et websted. Faktisk behøver det ikke at være et websted eller en blog. Faktisk vil alt, hvad der kan tælles, fungere.
  • En pc eller en Mac til at forbinde Arduino -kortet med bloggen eller webstedet.

Du har muligvis brug for et loddejern, hvis ledningerne ikke kan forbindes direkte til Arduino.

Trin 2: Hardware -samling

Hardware samling
Hardware samling
Hardware samling
Hardware samling
Hardware samling
Hardware samling
Hardware samling
Hardware samling

Klokken holdes af en kraftig papirclips. Den lille papirclips bruges til at danne en slags arm, der er fastgjort til servomotoren.

Bemærk, at du vil bøje den papirclips, der holder klokken på en måde, der allerede giver en lille rystelse.

Trin 3: Skemaer

Skemaer
Skemaer

Der er ingen reel skematisk. Slut bare servomotoren til Arduino. Servoen har tre ledninger:

  • gul eller orange: signal
  • rød: VCC
  • brun: GND

Den røde og den brune er fastgjort til de tilsvarende stifter på Arduino (5V og GND). Den orange er forbundet til pin 2. Det vil signalere servoen i hvilken retning den skal dreje. Du vil måske lodde små stik til ledningerne, hvis ledningerne ikke passer direkte ind i Arduino eller servoen.

Trin 4: Programmering af Arduino

Programmering af Arduino
Programmering af Arduino

Arduino Hvis du er ny på Arduino, er det et lille bræt, fuldt samlet med en AVR -mikrokontroller. Det er velegnet til hacking og interaktion med dit miljø. Mange ting, der er svære med mikrokontrollere, er ret lette med Arduino. Nogle af fordelene:

  • ikke behov for en separat programmeringsenhed (programmerer)
  • leveres med et integreret udviklingsmiljø (IDE)
  • kører på enhver platform, Windows, Mac, Linux.
  • let tilslutning til din pc med USB
  • hardware er open source (men navnet Arduino er ikke)
  • har et godt fællesskab

Flere oplysninger kan findes på det officielle Arduino -websted. Sørg for at tjekke John's Arduino instruerbar for yderligere detaljer om, hvordan du kommer i gang med Arduino. Hvad gør softwaren? Det lille stykke software, der bliver uploadet til Arduino, styrer servoen. Den modtager enkelt bytes via den serielle forbindelse via USB -kablet. Hvis den modtager en værdi på 5, bevæger den servoarmen fem gange frem og tilbage. Så den maksimale værdi at sende er 255. Programmér Ardiuno Så jeg går ud fra at du har downloadet og installeret den nyeste Arduino IDE fra Arduino.cc. For nu er det version 0010 Alpha. For at køre servoen mere komfortabelt skal du downloade et bibliotek. Du kan finde det på Arduino Playground. Pak den ud, og sæt mappen i…/arduino-0010/hardware/biblioteker/.

  • Slut Arduino til din pc med USB -kablet.
  • Åbn IDE og start en ny skitse. Skitse er Arduino speak for program. Vælg Fil -> Ny.
  • Vælg den relevante serielle enhed (Værktøjer -> Seriel port). Dette afhænger af dit miljø, for mig er det /dev/tty.usbserial-A4001JAh.
  • Download den vedhæftede kildefil og indsæt den i den nye skitse. Tryk på knappen Gem.
  • Tryk på bekræft -knappen. Dette samler din skitse til en hex -fil, der kan overføres til din Arduino.
  • Tryk på upload -knappen for at overføre din skitse til Arduino.

Test Nu er din hitcounter klar til noget handling. Lad os se, om det virker.

  • Tryk på den serielle skærmknap.
  • Vælg tekstfeltet ved siden af knappen Send.
  • Tryk på tabulatortasten, og send den.
  • Nu skal servo -armen bevæge sig frem og tilbage.

Puha. Det var den sværeste del. For nu kan du sende en byte til Arduino, og servobølgerne mod dig. Næste er at finde noget, du vil udløse klokken. Vi er næsten færdige.

Trin 5: Gør det til en Hitcounter

For at gøre det til en hitcounter for dit websted, har vi brug for to små kodestykker. En to opretter og tager sig af tælleren og en anden for at hente tællerens værdi og sende den til Arduino.

Bemærk: Hvis du ikke er kendt for Python eller PHP, kan scripts let portes til dit foretrukne programmeringssprog. Tælleren Her er et lille PHP -script, der læser en værdi fra en fil (hitcounter.txt), øger det og skriver det tilbage til filen. Det er alt, det er nødvendigt. Denne fil kan f.eks. Gemmes som counter.php på din server. Du kan derefter udløse en optælling med din webbrowser, der peger på https://www.youdomain.com/counter.php. Jeg inkluderede dette udsnit i min wordpress -blog. $ hits = fil ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); ekko $ hit; ?> Limekoden Denne næste kodestykke bruges til at hente tælleren. Jeg brugte Python, men alt skulle fungere. Det åbner en HTTP -forbindelse og henter hitcounter.txt. Hvis værdien er ændret siden den sidste hentning, beregnes diff og skubbes til Arduino. Dette gøres hvert tiende sekund, indtil du afbryder scriptet med crtl-c. Tilpas myUrl og den serielle forbindelse nedenfor til dine behov. # # hentetæller # importtid import urllib import seriel # usb seriel forbindelse til arduino ser = serial. Serial ('/dev/tty.usbserial-A4001JAh', 9600) myUrl = 'https://tinkerlog.com/hitcounter.txt 'last_counter = urllib.urlopen (myUrl).read () mens (True): _ counter = urllib.urlopen (myUrl).read () _ delta = int (counter) - int (last_counter) _ print' tæller: %s, delta: % s " % (counter, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Jeg kunne ikke uploade filer med php -udvidelse, så du skal omdøbe counterphp.txt til counter.php. Hvis din Arduino stadig er tilsluttet din pc, skal du starte Python -scriptet for at hente din hitcounter…> python counter.py, og du skal se tællerens output. Hvis du peger din browser på URL'en til din counter.php og trykker på genindlæs, skal du høre din hitcounter ringe. Ja, nu er vi færdige. Tid til at læne sig tilbage og nyde vores arbejde.

Trin 6: Konklusion

Konklusion
Konklusion

Det er første gang, at jeg byggede noget, der har bevægelige dele. Det er det første skridt til at bygge bro mellem den virtuelle og den virkelige verden. Og det var virkelig let, koden er lige frem. De fleste dele var også i min skraldespand, undtagen klokken. Det var sjovt at sætte alt sammen og vente på, at nogen skulle ramme min blog.

Håber du nød det.

Anbefalede: