Tartalomjegyzék:

Arduino XMAS Hitcounter: 6 lépés (képekkel)
Arduino XMAS Hitcounter: 6 lépés (képekkel)

Videó: Arduino XMAS Hitcounter: 6 lépés (képekkel)

Videó: Arduino XMAS Hitcounter: 6 lépés (képekkel)
Videó: Arduino XMAS Bell Ringing Hit Counter 2024, November
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Közeledik a karácsony, így itt az én hozzájárulásom a megfelelő hangulathoz. Ez egy blog találat, amely harangozik. Szó szerint. Mosolyt csal az arcodra, valahányszor valaki felkeresi a blogodat.

Ez egy Arduino táblából, egy harangból, egy szervóból és néhány sor kódból áll c, python és php fájlokban. A legtöbb alkatrész meglehetősen gyakori és könnyen beszerezhető.

1. lépés: Eszközök és anyagok

Eszközök és anyagok
Eszközök és anyagok

Tehát mire van szükség?

  • Arduino tábla. Kaptam egy Arduino Diecimilát az Adafruits -tól. Közben tényleg olcsó és praktikus klónok vannak, pl. az igazán csupasz csontlemez a Modern Devices -től, különösen, ha kenyérsütőn szeretné használni őket.
  • Szervómotor. Bármilyen szervó megteszi. Vettem egy régit, amelyet korábbi hobbimban használtam.
  • Egy csengő. Lehetőleg olyat, ami elég kicsi ahhoz, hogy rázza a szervóval.
  • Két gemkapocs. Egy nagy a csengő tartásához, egy kicsi pedig a hajtómű megépítéséhez.
  • Vezetékek a szervó és az Arduino csatlakoztatásához.
  • Egy weboldal. Valójában nem kell weboldalnak vagy blognak lennie. Valójában minden, ami számolható, működni fog.
  • PC vagy Mac az Arduino tábla és a blog vagy a webhely összekapcsolásához.

Szüksége lehet forrasztópákara, ha a vezetékeket nem lehet közvetlenül az Arduino -hoz csatlakoztatni.

2. lépés: A hardver összeszerelése

Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés

A harangot erős gemkapocs tartja. A kisméretű gemkapoccsal egyfajta kart képeznek, amely a szervomotorhoz van rögzítve.

Ne feledje, hogy úgy szeretné meghajlítani a csengőt tartó gemkapcsot, hogy az már egy kis rázkódást is okoz.

3. lépés: Sémák

Vázlatok
Vázlatok

Nincs igazi vázlat. Csak csatlakoztassa a szervo motort az Arduino -hoz. A szervónak három vezetéke van:

  • sárga vagy narancssárga: jelzés
  • piros: VCC
  • barna: GND

A piros és a barna az Arduino megfelelő csapjaihoz van rögzítve (5V és GND). A narancssárga színű a 2. tűhöz van kötve. Ez jelzi a szervónak, hogy melyik irányba kell fordulnia. Érdemes kis csatlakozókat forrasztani a vezetékekhez, ha a vezetékek nem illeszkednek közvetlenül az Arduino -ba vagy a szervóba.

4. lépés: Az Arduino programozása

Az Arduino programozása
Az Arduino programozása

Arduino Ha még nem ismeri az Arduino -t, ez egy kicsi tábla, teljesen összeszerelve AVR mikrokontrollerrel. Kiválóan alkalmas a hackelésre és a környezetével való interakcióra. Sok dolog, ami nehéz a mikrovezérlőkkel, meglehetősen egyszerű az Arduino segítségével. Néhány előny:

  • nincs szükség külön programozó eszközre (programozó)
  • integrált fejlesztői környezettel (IDE) rendelkezik
  • bármilyen platformon fut, Windows, Mac, Linux.
  • egyszerű csatlakoztatás a számítógéphez USB -n keresztül
  • a hardver nyílt forráskódú (de az Arduino név nem)
  • remek közössége van

További információ az Arduino hivatalos weboldalán található. Győződjön meg róla, hogy nézze meg a John's Arduino utasításokat, hogy további részleteket kapjon az Arduino használatának megkezdéséről. Mit csinál a szoftver? Az Arduino -ba feltöltött kis szoftver vezérli a szervót. Egyetlen bájtot fogad a soros kapcsolaton keresztül az USB -kábelen keresztül. Ha 5 -ös értéket kap, ötször mozgatja a szervokart előre -hátra. Tehát a küldendő maximális érték 255. Programozza be az Ardiuno programot Tehát feltételezem, hogy letöltötte és telepítette a legújabb Arduino IDE -t az Arduino.cc -ből. Egyelőre ez a 0010 Alpha verzió. A szervó kényelmesebb meghajtásához le kell töltenie egy könyvtárat. Megtalálható az Arduino játszótéren. Csomagolja ki, és helyezze a mappát a//arduino-0010/hardware/libraries/mappába.

  • Csatlakoztassa az Arduino -t a számítógéphez az USB -kábellel.
  • Nyissa meg az IDE -t, és indítson új vázlatot. A vázlat Arduino beszél a programért. Válassza a Fájl -> Új lehetőséget.
  • Válassza ki a megfelelő soros eszközt (Eszközök -> Soros port). Ez a környezetétől függ, számomra ez /dev/tty.usbserial-A4001JAh.
  • Töltse le a csatolt forrásfájlt, és illessze be az új vázlatba. Nyomja meg a mentés gombot.
  • Nyomja meg az ellenőrzés gombot. Ez összeállítja a vázlatot egy hexa fájlba, amely átvihető az Arduino -ra.
  • Nyomja meg a feltöltés gombot a vázlat átviteléhez az Arduino -hoz.

Tesztelés Most a találati számlálója készen áll a cselekvésre. Lássuk, működik -e.

  • Nyomja meg a soros monitor gombot.
  • Válassza ki a küldés gomb melletti szövegmezőt.
  • Nyomja meg a tabulátor billentyűt, és küldje el.
  • Mostanra a szervókarnak előre és hátra kell mozognia.

Fú. Ez volt a legnehezebb. Egyelőre egy bájtot küldhet az Arduino -nak, és a szervo hullámok feléd. Következő lépésként keressen valamit, amivel meg akarja indítani a csengőt. Már majdnem kész.

5. lépés: Legyen ez egy ütköző

Ahhoz, hogy sikeressé tegyük webhelyét, két kis kódrészre van szükségünk. Egy kettő létrehozza és gondozza a számlálót, a másik pedig, hogy lekérje a számláló értékét, és elküldi az Arduino -nak.

Megjegyzés: Ha nem ismeri a Python -ot vagy a PHP -t, a szkriptek könnyen átvihetők a kedvenc programozási nyelvére. A számláló Itt egy kis PHP -szkript, amely beolvassa az értéket egy fájlból (hitcounter.txt), növeli és írja vissza a fájlba. Ennyi az, amire szükség van. Ez a fájl például counter.php fájlként menthető el a szerveren. Ezután elindíthatja a számlálást a webböngészővel, amely a https://www.youdomain.com/counter.php címre mutat. Ezt a részletet felvettem a wordpress blogomba. $ hits = fájl ($ count_my_page); $ hit = trim ($ hits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> A ragasztókód Ez a következő kódrészlet a számláló lekérésére szolgál. Python -t használtam, de mindennek működnie kell. Megnyit egy HTTP kapcsolatot, és lekéri a hitcounter.txt fájlt. Ha az érték megváltozott az utolsó lekérés óta, a diff kiszámításra kerül, és az Arduino -ra kerül. Ez tíz másodpercenként történik, amíg meg nem szakítja a parancsfájlt a crtl-c billentyűvel. Igazítsa igényeihez a myUrl és az alábbi soros kapcsolatot. # # letöltési számláló # importálási idő importálása urllib import soros # usb soros kapcsolat az arduino-hoz 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 " % (számláló, delta) _ ser.write (chr (ord (chr (delta))))) _ last_counter = számláló _ time.sleep (10) Nem tudtam feltölteni fájlokat php kiterjesztéssel, ezért át kell nevezni a counterphp.txt fájlt a counter.php fájlra. Ha az Arduino továbbra is a számítógéphez van csatlakoztatva, akkor indítsa el a Python szkriptet a találati számláló letöltéséhez…> python counter.py és látni kell a számláló kimenetét. Ha a böngészőjére a counter.php URL -jére mutat, és nyomja meg az újratöltést, akkor hallania kell a találati számláló csengését. Igen, most végeztünk. Ideje hátradőlni és élvezni a munkánkat.

6. lépés: Következtetés

Következtetés
Következtetés

Ez az első alkalom, hogy építettem valamit, amiben mozgó alkatrészek vannak. Ez az első lépés a virtuális és a valós világ közötti szakadék áthidalására. És nagyon könnyű volt, a kód egyenesen előre halad. Szintén a legtöbb alkatrész a kukámban volt, a harang kivételével. Szórakoztató volt mindent összeszedni és várni, hogy valaki felkerüljön a blogomra.

Remélem élvezted.

Ajánlott: