Mündəricat:

Arduino XMAS Hitcounter: 6 addım (şəkillərlə)
Arduino XMAS Hitcounter: 6 addım (şəkillərlə)

Video: Arduino XMAS Hitcounter: 6 addım (şəkillərlə)

Video: Arduino XMAS Hitcounter: 6 addım (şəkillərlə)
Video: Arduino XMAS hitcounter 2024, Noyabr
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Milad yaxınlaşır, buna görə də sizi doğru əhval -ruhiyyəyə salmaq üçün mənim töhfəm budur. Zəng vuran bir blog hit saytıdır. Eynən. Hər dəfə blogunuza kimsə girəndə üzünüzdə gülüş yaranır.

Arduino lövhəsi, zəng, servo və c, python və php -də bir neçə kod satırından ibarətdir. Əksər hissələr olduqca yaygındır və əldə etmək asan olmalıdır.

Addım 1: Alətlər və materiallar

Alətlər və Materiallar
Alətlər və Materiallar

Bəs nə lazımdır?

  • Arduino lövhəsi. Adafruitsdən bir Arduino Diecimila aldım. Bu arada həqiqətən ucuz və lazımlı klonlar var, məsələn. Xüsusilə bir çörək taxtasında istifadə etmək istəyirsinizsə, Müasir Cihazların həqiqətən çılpaq sümük taxtası.
  • Servo motor. Hər hansı bir servo edəcək. Keçmiş hobbimdə istifadə olunan köhnə birini götürdüm.
  • Bir zəng. Tercihen servo ilə silkələmək üçün kifayət qədər kiçik olanı.
  • İki kağız klipi. Zəngi tutmaq üçün böyük, zəngi çalmaq üçün aktuator qurmaq üçün kiçik.
  • Arduino ilə servoya qoşulmaq üçün tellər.
  • Bir veb sayt. Əslində bir sayt və ya blog olmamalıdır. Əslində saya biləcəyiniz hər şey işləyəcək.
  • Arduino lövhəsini bloqa və ya veb saytına bağlamaq üçün bir kompüter və ya Mac.

Teller birbaşa Arduino ilə bağlana bilmirsə, bir lehimləmə dəmirinə ehtiyacınız ola bilər.

Addım 2: Avadanlıq Montajı

Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı
Avadanlıq Montajı

Zəng güclü bir kliplə tutulur. Kiçik ataç, servo motora bağlanan bir növ qol yaratmaq üçün istifadə olunur.

Diqqət yetirin ki, zəngi tutan, bir az da titrəyən bir bükülmə etmək istəyirsən.

Addım 3: sxemlər

Sxemalar
Sxemalar

Həqiqi bir sxem yoxdur. Sadəcə servo motoru Arduinoya bağlayın. Servo üç teldən ibarətdir:

  • sarı və ya narıncı: siqnal
  • qırmızı: VCC
  • qəhvəyi: GND

Qırmızı və qəhvəyi rəng Arduino (5V və GND) üzərindəki pinlərə yapışdırılır. Narıncı rəng 2 -ə bərkidilir. Bu servonun hansı istiqamətə dönəcəyini bildirir. Teller birbaşa Arduino və ya servoya uyğun gəlmirsə, kiçik bağlayıcıları tellərə lehimləmək istəyə bilərsiniz.

Addım 4: Arduino proqramlaşdırılması

Arduino proqramlaşdırma
Arduino proqramlaşdırma

Arduino Arduino ilə yeni tanışsınızsa, AVR mikro nəzarətçi ilə tam yığılmış kiçik bir taxtadır. Hack etmək və ətrafınızla ünsiyyət qurmaq üçün çox uyğundur. Mikro nəzarətçilərlə çətin olan bir çox şey Arduino ilə olduqca asandır. Bəzi üstünlüklər:

  • ayrı bir proqramlaşdırma cihazına ehtiyac yoxdur (proqramçı)
  • inteqrasiya olunmuş inkişaf mühiti (IDE) ilə gəlir
  • hər hansı bir platformada işləyir, Windows, Mac, Linux.
  • USB ilə kompüterinizə asan əlaqə
  • hardware açıq mənbəyidir (lakin Arduino adı deyil)
  • böyük bir cəmiyyətə malikdir

Daha çox məlumatı rəsmi Arduino saytında tapa bilərsiniz. Arduino ilə necə başlayacağınıza dair daha ətraflı məlumat üçün John's Arduino -nu öyrənmək üçün əmin olun. Proqram nə edir? Arduinoya yüklənən kiçik bir proqram parçası servo idarə edir. USB kabel üzərindən serial bağlantısı ilə tək bayt alır. 5 dəyərini alırsa, servo qolunu beş dəfə irəli və geri hərəkət etdirir. Göndərmək üçün maksimum dəyər 255. Ardiuno proqramlaşdırın. Arduino.cc -dən ən son Arduino IDE -ni yüklədiyinizi və quraşdırdığınızı düşünürəm. Hələlik 0010 Alpha versiyasıdır. Servo daha rahat idarə etmək üçün kitabxana yükləməlisiniz. Arduino oyun meydançasında tapa bilərsiniz. Açın və qovluğu…/arduino-0010/hardware/library/qovluğuna qoyun.

  • USB kabel ilə Arduinonu kompüterinizə bağlayın.
  • IDE -ni açın və yeni bir eskizə başlayın. Sketch, proqram üçün Arduinodur. Fayl -> Yeni seçin.
  • Müvafiq serial cihazı seçin (Alətlər -> Serial Port). Bu mühitdən asılıdır, mənim üçün /dev/tty.usbserial-A4001JAh.
  • Əlavə edilmiş mənbə faylını yükləyin və yeni eskizə yapışdırın. Saxla düyməsini vurun.
  • Doğrulama düyməsini vurun. Bu, eskizinizi Arduino -ya köçürə biləcəyiniz bir hex faylına yığır.
  • Eskizinizi Arduinoya köçürmək üçün yükləmə düyməsini vurun.

Test İndi hitcounter bir hərəkət üçün hazırdır. İşə yarayacağını görək.

  • Serial monitor düyməsini vurun.
  • Göndər düyməsinin yanındakı mətn qutusunu seçin.
  • Nişan düyməsini vurun və göndərin.
  • İndiyə qədər servo qolu irəli və geri hərəkət etməlidir.

Puf. Ən çətin hissəsi bu idi. Hələlik Arduinoya bayt göndərə bilərsiniz və servo dalğalar sizin üzərinizdədir. Sonrakı zəng vurmaq istədiyiniz bir şeyi tapmaqdır. Demək olar ki, bitmişik.

Addım 5: Hitcounter olun

Veb saytınız üçün bir hit saytı etmək üçün iki kiçik kod parçasına ehtiyacımız var. Biri sayğac hazırlayır və ona qulluq edir, ikincisi də tezgahın dəyərini almaq və Arduinoya göndərmək üçün.

Qeyd: Python və ya PHP ilə ünlü deyilsinizsə, skriptlər ən sevdiyiniz proqramlaşdırma dilinə asanlıqla köçürülə bilər Sayıcı Burada bir fayldakı dəyəri (hitcounter.txt) oxuyan, artıran və yazan kiçik bir PHP skriptidir. fayla qayıdır. Hamısı budur, buna ehtiyac var. Bu fayl, məsələn serverinizdə counter.php olaraq saxlanıla bilər. Daha sonra https://www.youdomain.com/counter.php -ə işarə edən veb brauzerinizlə bir saya səbəb ola bilərsiniz. Bu parçanı wordpress bloguma daxil etdim. $ xit = fayl ($ count_my_page); $ hit = trim ($ hit [0]); $ hit ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); echo $ hit; ?> Yapışqan kodu Bu növbəti kod parçası sayğacı almaq üçün istifadə olunur. Python istifadə etdim, amma hər şey işləməlidir. Bir HTTP bağlantısı açır və hitcounter.txt alır. Dəyər son gətirildikdən sonra dəyişərsə, fərq hesablanır və Arduinoya göndərilir. Skripti crtl-c ilə kəsənə qədər bu hər on saniyədə edilir. MyUrl və aşağıda göstərilən serial bağlantısını ehtiyaclarınıza uyğunlaşdırın. # # sayğacı # idxal vaxtı idxal urllib idxal serialı # usdu serial bağlantısı 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) php uzantılı faylları yükləyə bilmədim counterphp.txt faylını counter.php olaraq yenidən adlandırmalısınız. Arduino kompüteriniz hələ də kompüterinizə bağlıdırsa, hit sayğacınızı əldə etmək üçün Python skriptini işə salın…> python counter.py və sayğacın çıxışını görməlisiniz. Brauzerinizi counter.php ünvanınıza yönləndirirsinizsə və yenidən yükləməni vurursanız, hit sayğacınızın zəngini eşitməlisiniz. Bəli, indi işimiz bitdi. Arxaya əyilmək və işimizdən zövq almaq vaxtıdır.

Addım 6: Nəticə

Nəticə
Nəticə

İlk dəfədir ki, hərəkət edən hissələri olan bir şey tikdim. Bu, virtual və real dünya arasındakı boşluğu aradan qaldırmaq üçün ilk addımdır. Və həqiqətən çox asan idi, kod düz irəlidir. Zəngdən başqa hissələrin çoxu zibil qutumda idi. Hər şeyi bir yerə yığmaq və bloquma kiminsə girəcəyini gözləmək əyləncəli idi.

Ümid edirəm zövq aldınız.

Tövsiyə: