Innholdsfortegnelse:

Arduino XMAS Hitcounter: 6 trinn (med bilder)
Arduino XMAS Hitcounter: 6 trinn (med bilder)

Video: Arduino XMAS Hitcounter: 6 trinn (med bilder)

Video: Arduino XMAS Hitcounter: 6 trinn (med bilder)
Video: Arduino XMAS hitcounter 2024, November
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Julen nærmer seg, så her er mitt bidrag for å få deg i riktig humør. Det er en blogg hitcounter, som ringer en bjelle. Bokstavelig. Det gir et smil om munnen din, hver gang noen treffer bloggen din.

Den består av et Arduino -brett, en bjelle, en servo og et par linjer med kode i c, python og php. De fleste delene er ganske vanlige og burde være enkle å få tak i.

Trinn 1: Verktøy og materialer

Verktøy og materialer
Verktøy og materialer

Så hva er nødvendig?

  • Arduino Board. Jeg fikk en Arduino Diecimila fra Adafruits. I mellomtiden er det virkelig billige og hendige kloner der ute, f.eks. det virkelig bare beinbrettet fra Modern Devices, spesielt hvis du vil bruke dem på et brødbrett.
  • En servomotor. Enhver servo vil gjøre det. Jeg tok en gammel som ble brukt i min tidligere hobby.
  • En bjelle. Gjerne en som er liten nok til å riste den med servoen.
  • To binders. En stor for å holde klokken og en liten for å bygge aktuatoren for å ringe på klokken.
  • Ledninger for å koble servoen til Arduino.
  • En nettside. Det må faktisk ikke være et nettsted eller en blogg. Egentlig vil alt som kan telles fungere.
  • En PC eller en Mac for å koble Arduino -kortet til bloggen eller nettstedet.

Du kan trenge et loddejern hvis ledningene ikke kan kobles direkte til Arduino.

Trinn 2: Maskinvaremontasje

Maskinvare montering
Maskinvare montering
Maskinvare montering
Maskinvare montering
Maskinvare montering
Maskinvare montering
Maskinvare montering
Maskinvare montering

Klokken holdes av et sterkt binders. Det lille binderset brukes til å danne en slags arm som er festet til servomotoren.

Vær oppmerksom på at du vil bøye binderset som holder klokken på en måte, som allerede gir litt risting.

Trinn 3: Skjemaer

Skjemaer
Skjemaer

Det er ingen egentlig skjematisk. Bare fest servomotoren til Arduino. Servoen har tre ledninger:

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

Den røde og den brune er festet til de tilhørende pinnene på Arduino (5V og GND). Den oransje er koblet til pin 2. Den vil signalere servoen i hvilken retning den skal svinge. Det kan være lurt å lodde små kontakter til ledningene hvis ledningene ikke passer direkte inn i Arduino eller servoen.

Trinn 4: Programmering av Arduino

Programmering av Arduino
Programmering av Arduino

Arduino Hvis du er ny på Arduino, er det et lite brett, ferdig montert med en AVR -mikrokontroller. Det er godt egnet for hacking og interaksjon med miljøet ditt. Mange ting som er vanskelige med mikrokontrollere er ganske enkle med Arduino. Noen av fordelene:

  • ikke behov for en separat programmeringsenhet (programmerer)
  • leveres med et integrert utviklingsmiljø (IDE)
  • kjører på hvilken som helst plattform, Windows, Mac, Linux.
  • enkel tilkobling til PC -en med USB
  • maskinvare er åpen kildekode (men navnet Arduino er ikke)
  • har et flott fellesskap

Mer informasjon finner du på det offisielle Arduino -nettstedet. Sørg for å sjekke John's Arduino instruerbar for ytterligere detaljer om hvordan du kommer i gang med Arduino. Hva gjør programvaren? Den lille programvaren som blir lastet opp til Arduino, styrer servoen. Den mottar enkelt byte via den serielle tilkoblingen via USB -kabelen. Hvis den mottar verdien 5, beveger den servoarmen fem ganger frem og tilbake. Så den maksimale verdien å sende er 255. Programmer Ardiuno Så jeg antar at du har lastet ned og installert den nyeste Arduino IDE fra Arduino.cc. For nå er det versjon 0010 Alpha. For å kjøre servoen mer komfortabelt må du laste ned et bibliotek. Du finner den på Arduino Playground. Pakk ut den og legg mappen i…/arduino-0010/hardware/libraries/.

  • Fest Arduino til PC -en med USB -kabelen.
  • Åpne IDE og start en ny skisse. Sketch er Arduino speak for program. Velg Fil -> Ny.
  • Velg riktig seriell enhet (Verktøy -> Seriell port). Dette avhenger av miljøet ditt, for meg er det /dev/tty.usbserial-A4001JAh.
  • Last ned den vedlagte kildefilen og lim den inn i den nye skissen. Trykk på lagre -knappen.
  • Trykk på bekreftelsesknappen. Dette kompilerer skissen din til en hex -fil som kan overføres til din Arduino.
  • Trykk på opplastingsknappen for å overføre skissen din til Arduino.

Testing Nå er din hitcounter klar for handling. La oss se om det fungerer.

  • Trykk på den serielle skjermknappen.
  • Velg tekstboksen ved siden av send -knappen.
  • Trykk på tabulatortasten og send den.
  • Nå skal servoarmen bevege seg frem og tilbake.

Puh. Det var den vanskeligste delen. For nå kan du sende en byte til Arduino og servobølgene på deg. Neste er å finne noe du vil utløse klokken. Vi er nesten ferdige.

Trinn 5: Gjør det til en Hitcounter

For å gjøre det til en hitcounter for nettstedet ditt, trenger vi to små kodebiter. En to lager og tar vare på disken og en andre for å hente verdien av disken og sende den til Arduino.

Merk: Hvis du ikke er kjent med Python eller PHP, kan skriptene enkelt portes til ditt favoritt programmeringsspråk. Telleren Her er et lite PHP -skript, som leser en verdi fra en fil (hitcounter.txt), øker den og skriver den tilbake til filen. Det er alt, det er nødvendig. Denne filen kan for eksempel lagres som counter.php på serveren din. Du kan deretter utløse en telling med nettleseren din som peker til https://www.youdomain.com/counter.php. Jeg inkluderte denne biten i min wordpress -blogg. $ treff = fil ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); ekko $ hit; ?> Limekoden Denne neste kodebiten brukes til å hente telleren. Jeg brukte Python, men alt burde fungere. Den åpner en HTTP -tilkobling og henter hitcounter.txt. Hvis verdien har endret seg siden den siste hentingen, beregnes differansen og skyves til Arduino. Dette gjøres hvert tiende sekund til du avbryter skriptet med crtl-c. Tilpass myUrl og den serielle tilkoblingen nedenfor til dine behov. # # henteteller # importtid import urllib import seriell # usb seriell tilkobling til 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) Jeg kunne ikke laste opp filer med php -utvidelse, så du må gi nytt navn til counterphp.txt til counter.php. Hvis Arduino fortsatt er koblet til PC -en din, kan du starte Python -skriptet for å hente hitcounteren din…> python counter.py, og du bør se utgangen til telleren. Hvis du peker nettleseren din til URL -en til counter.php og trykker på nytt, bør du høre din hitcounter ringe. Ja, nå er vi ferdige. På tide å lene seg tilbake og nyte arbeidet vårt.

Trinn 6: Konklusjon

Konklusjon
Konklusjon

Det er første gang at jeg bygde noe som har bevegelige deler. Det er det første trinnet for å bygge bro mellom den virtuelle og den virkelige verden. Og det var veldig enkelt, koden er rett frem. De fleste delene var også i søppelbøtta min, bortsett fra klokken. Å sette alt sammen og vente på at noen skulle treffe bloggen min var morsomt.

Håper du likte det.

Anbefalt: