Mundarija:

Arduino XMAS Hitcounter: 6 qadam (rasmlar bilan)
Arduino XMAS Hitcounter: 6 qadam (rasmlar bilan)

Video: Arduino XMAS Hitcounter: 6 qadam (rasmlar bilan)

Video: Arduino XMAS Hitcounter: 6 qadam (rasmlar bilan)
Video: Arduino XMAS hitcounter 2024, Noyabr
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Rojdestvo yaqinlashmoqda, shuning uchun sizni to'g'ri kayfiyatga qo'shish uchun mening hissam shu. Bu qo'ng'iroq chalinadigan blog xit -sayti. Ma'nosi. Har safar kimdir sizning blogingizga kirganida, tabassum yuzingizga keladi.

U Arduino taxtasi, qo'ng'iroq, servo va c, python va php dagi bir nechta kod qatorlaridan iborat. Aksariyat qismlar juda keng tarqalgan va ularni olish oson bo'lishi kerak.

1 -qadam: asboblar va materiallar

Asboblar va materiallar
Asboblar va materiallar

Xo'sh, nima kerak?

  • Arduino taxtasi. Men Adafruitsdan Arduino Diecimilani oldim. Bu orada haqiqatan ham arzon va qulay klonlar bor, masalan. chindan ham yalang'och suyak taxtasi Zamonaviy qurilmalar, ayniqsa, agar siz ularni taxtada ishlatmoqchi bo'lsangiz.
  • Servo dvigatel. Har qanday servo bajaradi. Men avvalgi sevimli mashg'ulotimda ishlatilgan eskisini oldim.
  • Qo'ng'iroq. Yaxshisi, uni servo bilan silkitadigan darajada kichik.
  • Ikkita qog'oz qisqichi. Qo'ng'iroqni ushlab turadigan katta va qo'ng'iroqqa qo'ng'iroq qilish uchun aktuatorni qurish uchun kichik.
  • Arduino bilan servoni ulash uchun simlar.
  • Veb -sayt. Aslida bu veb -sayt yoki blog bo'lmasligi kerak. Aslida sanab bo'ladigan hamma narsa ishlaydi.
  • Arduino kartasini blog yoki veb -saytga ulash uchun kompyuter yoki Mac.

Agar simlar Arduino -ga to'g'ridan -to'g'ri ulanmasa, sizga lehimlantiruvchi temir kerak bo'lishi mumkin.

2 -qadam: Uskuna yig'ish

Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish
Uskuna yig'ish

Qo'ng'iroq kuchli qisqich bilan ushlangan. Kichkina qog'oz qisqichi servo dvigatelga biriktirilgan qo'l turini hosil qilish uchun ishlatiladi.

E'tibor bering, siz qo'ng'iroqni ushlab turadigan qog'oz qisqichini egib olmoqchisiz, shunda biroz chayqalish chayqalishga olib keladi.

3 -qadam: sxemalar

Sxemalar
Sxemalar

Haqiqiy sxemasi yo'q. Faqat servo dvigatelni Arduino -ga ulang. Servo uchta simdan iborat:

  • sariq yoki to'q sariq: signal
  • qizil: VCC
  • jigarrang: GND

Qizil va jigarrang Arduino pinlariga (5V va GND) biriktirilgan. To'q sariq rang 2 -pin bilan bog'langan. Bu servo qaysi tomonga burilishini bildiradi. Agar simlar to'g'ridan -to'g'ri Arduino yoki servoga to'g'ri kelmasa, siz kichik ulagichlarni simlarga lehimlashingiz mumkin.

4 -qadam: Arduino dasturlash

Arduino dasturlash
Arduino dasturlash

Arduino Agar siz Arduino -da yangi bo'lsangiz, u AVR mikrokontroller bilan to'liq yig'ilgan kichik taxta. Bu xakerlik va atrofingiz bilan muloqot qilish uchun juda mos keladi. Arduino -da mikrokontroller bilan qiyin bo'lgan ko'p narsalar osonroq. Ba'zi afzalliklari:

  • alohida dasturlash qurilmasiga ehtiyoj yo'q (dasturchi)
  • birlashtirilgan rivojlanish muhiti (IDE) bilan birga keladi.
  • har qanday platformada ishlaydi, Windows, Mac, Linux.
  • USB orqali kompyuterga oson ulanish
  • apparat ochiq manba (lekin Arduino nomi emas)
  • katta jamoaga ega

Qo'shimcha ma'lumotni Arduino rasmiy veb -saytida topishingiz mumkin. Ishonch hosil qiling, Arduino -ni ishga tushirish haqida qo'shimcha ma'lumot olish uchun John's Arduino -ni o'qing. Dastur nima qiladi? Arduino -ga yuklanadigan dasturiy ta'minotning kichik qismi servoni boshqaradi. U USB kabel orqali ketma -ket ulanish orqali bitta bayt oladi. Agar u 5 qiymatini olsa, u servo qo'lni oldinga va orqaga besh marta siljitadi. Shunday qilib, yuborish mumkin bo'lgan maksimal qiymat - 255. Ardiuno -ni dasturlash. Menimcha, siz Arduino.cc -dan so'nggi Arduino IDE -ni yuklab oldingiz va o'rnatdingiz. Hozircha bu 0010 Alpha versiyasi. Servo yanada qulayroq bo'lishi uchun siz kutubxonani yuklab olishingiz kerak. Siz uni Arduino o'yin maydonchasida topishingiz mumkin. Uni oching va papkani…/arduino-0010/apparat/kutubxonalarga/qo'ying.

  • Arduino -ni kompyuteringizga USB kabeli bilan ulang.
  • IDE -ni oching va yangi eskizni boshlang. Sketch - bu Arduino dastur uchun gapiradi. Fayl -> Yangi -ni tanlang.
  • Tegishli ketma -ket qurilmani tanlang (Asboblar -> Seriya porti). Bu sizning muhitingizga bog'liq, men uchun bu /dev/tty.usbserial-A4001JAh.
  • Ilova qilingan faylni yuklab oling va uni yangi eskizga joylashtiring. Saqlash tugmachasini bosing.
  • Tasdiqlash tugmachasini bosing. Bu sizning eskizingizni Arduino -ga o'tkaziladigan olti burchakli faylga yig'adi.
  • Eskizni Arduino -ga o'tkazish uchun yuklash tugmasini bosing.

Sinov Endi sizning hisoblagichingiz biron bir harakatga tayyor. Keling, u ishlaydimi, ko'raylik.

  • Seriyali monitor tugmachasini bosing.
  • Yuborish tugmasi yonidagi matn maydonini tanlang.
  • Yorliq tugmachasini bosing va yuboring.
  • Hozirgi vaqtda servo qo'l oldinga va orqaga harakatlanishi kerak.

Puf. Bu eng qiyin qismi edi. Hozircha siz Arduino -ga bayt va sizga servo to'lqinlarni yuborishingiz mumkin. Keyingi - qo'ng'iroqni yoqmoqchi bo'lgan narsani topish. Biz deyarli tugatdik.

5 -qadam: uni uchrashuvga aylantiring

Veb -saytingiz uchun hisoblagich bo'lishi uchun bizga ikkita kichik kod bo'lagi kerak. Biri hisoblagichni yaratadi va unga g'amxo'rlik qiladi, ikkinchisi - hisoblagich qiymatini olish va uni Arduino -ga yuborish.

Eslatma: Agar siz Python yoki PHP bilan mashhur bo'lmasangiz, skriptlar sizning sevimli dasturlash tilingizga osongina ko'chirilishi mumkin. Hisoblagich PHP -ning kichik skriptidir, u fayldan qiymatni o'qadi (hitcounter.txt), uni kattalashtiradi va yozadi. faylga qaytadi. Hammasi shu, bu kerak. Bu faylni serveringizda counter.php sifatida saqlash mumkin. Siz https://www.youdomain.com/counter.php ga ishora qiluvchi veb -brauzer yordamida siz hisoblashni boshlashingiz mumkin. Men bu parchani WordPress blogimga qo'shdim. $ xit = fayl ($ count_my_page); $ hit = trim ($ xits [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Yelim kodi Keyingi kod parchasi hisoblagichni olish uchun ishlatiladi. Men Python -dan foydalanardim, lekin hamma narsa ishlashi kerak. U HTTP ulanishini ochadi va hitcounter.txt -ni oladi. Agar qiymat oxirgi qabul qilinganidan beri o'zgargan bo'lsa, farq hisoblab chiqariladi va Arduino -ga o'tkaziladi. Bu skriptni crtl-c bilan to'xtatmaguningizcha har o'n soniyada amalga oshiriladi. MyUrl va ketma -ket ulanishni o'z ehtiyojlaringizga moslashtiring. # # hisoblagichni olib kelish # import vaqtini import qilish urllib import seriali 'last_counter = urllib.urlopen (myUrl).read () while (True): _ counter = urllib.urlopen (myUrl).read () _ delta = int (counter) - int (last_counter) _ print "counter: %s, delta: % s " % (taymer, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = taymer _ vaqt.sleep (10) php kengaytmasi bo'lgan fayllarni yuklay olmadim, shuning uchun siz counterphp.txt nomini counter.php deb o'zgartirishi kerak. Agar sizning Arduino hali ham shaxsiy kompyuteringizga ulangan bo'lsa, hisoblagichni olish uchun Python skriptini ishga tushiring…> python counter.py va siz hisoblagichning chiqishini ko'rishingiz kerak. Agar siz brauzeringizni counter.php manziliga yo'naltirsangiz va qayta yuklash tugmachasini eshitgan bo'lsangiz. Ha, endi ishimiz tugadi. Ishdan zavqlanish va orqaga tortish vaqti keldi.

6 -qadam: Xulosa

Xulosa
Xulosa

Men birinchi marta, men harakatlanuvchi qismlarga ega bo'lgan narsani qurdim. Bu virtual va haqiqiy dunyo o'rtasidagi farqni bartaraf etishning birinchi qadami. Va bu juda oson edi, kod to'g'ridan -to'g'ri. Qo'ng'iroqdan tashqari, aksariyat qismlar mening axlat qutimda edi. Hammasini bir joyga to'plab, kimdir mening blogimga kirishini kutish qiziqarli bo'ldi.

Umid qilamanki, sizga yoqdi.

Tavsiya: