Arduino XMAS Hitcounter: 6 Langkah (dengan Gambar)
Arduino XMAS Hitcounter: 6 Langkah (dengan Gambar)
Anonim
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter
Arduino XMAS Hitcounter

Krismas semakin hampir, jadi inilah sumbangan saya untuk membuat anda berada dalam suasana yang tepat. Ini adalah hitcounter blog, yang membunyikan loceng. Secara harfiah. Ini memberikan senyuman di wajah anda, setiap kali seseorang memukul blog anda.

Ia terdiri daripada papan Arduino, loceng, servo dan beberapa baris kod dalam c, python dan php. Sebilangan besar bahagiannya agak biasa dan senang didapati.

Langkah 1: Alat dan Bahan

Alat dan Bahan
Alat dan Bahan

Jadi apa yang diperlukan?

  • Lembaga Arduino. Saya mendapat Arduino Diecimila dari Adafruits. Sementara itu, terdapat klon yang sangat murah dan berguna di luar sana, mis. papan tulang yang benar-benar kosong dari Peranti Moden, terutamanya jika anda ingin menggunakannya di papan roti.
  • Motor servo. Apa-apa servo akan dilakukan. Saya mengambil yang lama yang digunakan dalam hobi saya dahulu.
  • Loceng. Sebaiknya yang cukup kecil untuk menggoncangkannya dengan servo.
  • Dua klip kertas. Yang besar untuk memegang loceng dan yang kecil untuk membina penggerak untuk membunyikan loceng.
  • Kabel untuk menghubungkan servo dengan Arduino.
  • Laman sesawang. Sebenarnya ia tidak boleh menjadi laman web atau blog. Sebenarnya semua yang boleh dikira, akan berjaya.
  • PC atau Mac untuk menghubungkan papan Arduino dengan blog atau laman web.

Anda mungkin memerlukan besi pematerian, jika wayar tidak dapat dihubungkan terus ke Arduino.

Langkah 2: Pemasangan Perkakasan

Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan
Pemasangan Perkakasan

Loceng dipegang oleh penjepit kertas yang kuat. Klip kertas kecil digunakan untuk membentuk sejenis lengan yang dilekatkan pada motor servo.

Perhatikan, bahawa anda ingin membengkokkan klip kertas yang menahan loceng dengan cara, yang sedikit gemetar menghasilkan ding.

Langkah 3: Skematik

Skematik
Skematik

Tidak ada skema sebenar. Cukup pasangkan motor servo ke Arduino. Servo mempunyai tiga wayar:

  • kuning atau oren: isyarat
  • merah: VCC
  • coklat: GND

Yang merah dan coklat dilekatkan pada pin yang sesuai pada Arduino (5V dan GND). Yang berwarna jingga disambungkan ke pin 2. Ia akan memberi isyarat servo ke arah mana hendak berpusing. Anda mungkin mahu menyolder penyambung kecil ke wayar jika wayar tidak masuk langsung ke Arduino atau servo.

Langkah 4: Memprogram Arduino

Memprogram Arduino
Memprogram Arduino

Arduino Sekiranya anda baru menggunakan Arduino, ini adalah papan kecil, lengkap dengan mikrokontroler AVR. Ia sangat sesuai untuk menggodam dan berinteraksi dengan persekitaran anda. Banyak perkara yang sukar dengan pengawal mikro agak mudah dengan Arduino. Beberapa kelebihan:

  • tidak memerlukan peranti pengaturcaraan yang berasingan (programmer)
  • dilengkapi dengan persekitaran pembangunan bersepadu (IDE)
  • berjalan di mana-mana platform, Windows, Mac, Linux.
  • sambungan mudah ke PC anda dengan USB
  • perkakasan adalah sumber terbuka (tetapi nama Arduino tidak)
  • mempunyai komuniti yang hebat

Lebih banyak maklumat boleh didapati di laman web Arduino rasmi. Pastikan, untuk memeriksa Arduino John untuk mendapatkan maklumat lebih lanjut mengenai cara memulakan Arduino. Apa yang dilakukan perisian? Perisian kecil yang dimuat naik ke Arduino, mengawal servo. Ia menerima bait tunggal melalui sambungan bersiri melalui kabel USB. Sekiranya menerima nilai 5, ia akan menggerakkan servo lima kali ke belakang dan ke belakang. Jadi nilai maksimum untuk dihantar adalah 255. Program Ardiuno Oleh itu, saya anggap anda telah memuat turun dan memasang Arduino IDE terbaru dari Arduino.cc. Buat masa ini ia adalah versi 0010 Alpha. Untuk menggerakkan servo dengan lebih selesa, anda harus memuat turun perpustakaan. Anda boleh menemuinya di Arduino Playground. Buka zip dan masukkan folder ke… / arduino-0010 / perkakasan / perpustakaan /.

  • Pasang Arduino ke PC anda dengan kabel USB.
  • Buka IDE dan mulakan lakaran baru. Sketsa adalah Arduino bercakap untuk program. Pilih Fail -> Baru.
  • Pilih peranti bersiri yang sesuai (Alat -> Port Bersiri). Ini bergantung pada persekitaran anda, bagi saya ia adalah /dev/tty.usbserial-A4001JAh.
  • Muat turun fail sumber yang dilampirkan dan tampalkannya ke lakaran baru. Tekan butang simpan.
  • Tekan butang sahkan. Ini menyusun lakaran anda ke dalam fail hex yang dapat dipindahkan ke Arduino anda.
  • Tekan butang muat naik untuk memindahkan lakaran anda ke Arduino.

Menguji Sekarang hitcounter anda siap untuk beberapa tindakan. Mari lihat sama ada ia berfungsi.

  • Tekan butang monitor bersiri.
  • Pilih kotak teks di sebelah butang hantar.
  • Tekan kekunci tab dan hantarkan.
  • Pada masa ini lengan servo harus bergerak ke depan dan ke belakang.

Phew. Itu adalah bahagian yang paling sukar. Buat masa ini anda boleh menghantar bait ke Arduino dan gelombang servo kepada anda. Seterusnya adalah mencari sesuatu yang anda mahu mencetuskan loceng. Kami hampir selesai.

Langkah 5: Jadikannya Hitcounter

Untuk menjadikannya hit counter untuk laman web anda, kami memerlukan dua kepingan kod kecil. Satu dua membuat dan mengurus kaunter dan yang kedua untuk mengambil nilai kaunter dan menghantarnya ke Arduino.

Catatan: Sekiranya anda tidak mengenal Python atau PHP, skrip dapat dengan mudah dibawa ke bahasa pengaturcaraan kegemaran anda. Kaunter Berikut adalah skrip PHP kecil, yang membaca nilai dari fail (hitcounter.txt), menambahnya dan menulis ia kembali ke fail. Itu sahaja, yang diperlukan. Fail ini boleh disimpan sebagai counter.php pada pelayan anda misalnya. Anda kemudian boleh mencetuskan penghitungan dengan penyemak imbas web anda yang menunjuk ke https://www.youdomain.com/counter.php. Saya memasukkan coretan ini di blog wordpress saya. $ hits = fail ($ count_my_page); $ hit = trim ($ hits [0]); $ mencecah ++; $ fp = fopen ($ count_my_page, "w"); fputs ($ fp, "$ hit"); fclose ($ fp); gema $ hit; ?> Kod gam Coretan kod seterusnya ini digunakan untuk mengambil pembilang. Saya menggunakan Python tetapi apa-apa perkara mesti berfungsi. Ini membuka sambungan HTTP dan mengambil hitcounter.txt. Sekiranya nilainya telah berubah sejak pengambilan terakhir, perbezaan dikira dan ditolak ke Arduino. Ini dilakukan setiap sepuluh saat sehingga anda mengganggu skrip dengan crtl-c. Sesuaikan myUrl dan sambungan bersiri di bawah mengikut keperluan anda. # # ambil kaunter # import masa import urllib import bersiri # sambungan siri usb ke 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 "% (kaunter, delta) _ ser.write (chr (ord (chr (delta)))) _ last_counter = counter _ time.sleep (10) Saya tidak dapat memuat naik fail dengan sambungan php, jadi anda harus menamakan semula counterphp.txt menjadi counter.php. Sekiranya Arduino anda masih terpasang pada PC anda, mulakan skrip Python untuk mengambil hitcounter anda…> python counter.py dan anda akan melihat output kaunter. Sekiranya anda mengarahkan penyemak imbas anda ke URL counter.php anda dan memuatkan semula muat, anda akan mendengar bunyi hit counter anda. Ya, sekarang kita sudah selesai. Masa untuk bersandar dan menikmati kerja kita.

Langkah 6: Kesimpulannya

Kesimpulannya
Kesimpulannya

Ini adalah kali pertama, saya membina sesuatu, yang mempunyai bahagian yang bergerak. Itu adalah langkah pertama untuk merapatkan jurang antara dunia maya dan dunia nyata. Dan sangat mudah, kodnya lurus ke hadapan. Sebahagian besar bahagian juga terdapat di tong sampah saya, kecuali loceng. Menggabungkan semuanya dan menunggu seseorang memukul blog saya sangat menyeronokkan.

Semoga anda menikmatinya.

Disyorkan: