Logo ini merupakan turunan dari Logo Komunitas Arduino yang dilisensikan di bawah lisensi Creative Commons CC-SA-BY-NC 3.0
Pembaruan: Pemenang Diumumkan
Pemenang kontes telah diumumkan. Silakan lihat posting Meta untuk detailnya .
Untuk merayakan 10 tahun Arduino , kami dengan bangga mengumumkan acara pertama di Arduino Stack Exchange.
Keluarkan papan dan peralatan solder Anda, gali IC dan resistor. Kontes Arduino Stack Exchange pertama hanya di tikungan. Kami akan mencari proyek menarik yang dibangun menggunakan Arduinos. Kontes ini bertujuan untuk berbagi, membahas, dan memberikan umpan balik tentang proyek yang sedang Anda dan anggota lain kerjakan. Lihat posting pengumuman
Detail:
- Hadiahnya adalah kaos resmi Stack Exchange
- Batasi dua entri per orang. Jika lebih dari dua disediakan, hanya dua yang pertama yang akan dipertimbangkan.
- Klon yang diperbolehkan.
- Proyek untuk dipertimbangkan akan diterima hingga 29 Maret 2014 pukul 4:00 UTC. Pertanyaan itu akan tetap terbuka seandainya seseorang ingin memamerkan proyek yang mereka buat pada Hari Arduino 2014.
Kunjungi pos Meta untuk diskusi tentang acara ini dan informasi lebih lanjut.
Format Jawaban
Anda dapat memposting hingga dua proyek (sebagai dua jawaban terpisah) sebagai entri untuk kontes. Semua entri tambahan akan dihapus. Pertimbangkan mengikuti templat berikut untuk entri:
Judul Proyek
Deskripsi Sangat Singkat
Deskripsi
Apa proyekmu? Apa fungsinya? Masalah apa yang dipecahkannya?
Desain
Hal-hal untuk dimasukkan dalam bagian ini:
- Skema dan dokumentasi desain lainnya. Fritzing adalah alat yang baik untuk menggambar skema papan tempat memotong roti seperti yang ditunjukkan pada logo proyek di atas.
- Komponen yang digunakan untuk membangun proyek
- Gambar atau video
Kesimpulan
Pikiran terakhir. Apa yang Anda pelajari dari melakukan proyek ini? Apa yang akan Anda lakukan secara berbeda jika Anda harus memulai dari awal?
Anda dapat menyalin / menempelkan teks berikut jika Anda ingin menggunakan templat ini.
# Project Title
**Very Brief Description**
# Description
What is your project? What does it do? What problem does it solve?
# Design
Things to include in this section:
- Schematics and other design documentation. [Fritzing][8] is a good tool for drawing breadboard schematics like the one shown in the project logo above.
- Components used to build the project
- Pictures or video
# Conclusion
Final thoughts. What did you learn from doing this project? What would you do differently if you had to start over?
Hadiah
Ada dua hadiah! Pemenangnya adalah pengiriman mendapatkan jumlah upvote maksimum (downvotes tidak masuk hitungan) dan akan mendapatkan T-shirt Stack Exchange *! Akan ada sesuatu untuk runner-up juga. Runner-up akan diputuskan atas kebijakan penyelenggara acara.
* Pembatasan tertentu mungkin berlaku. Pengiriman internasional dapat memakan waktu beberapa minggu.
Di mana saya menyerahkan proyek saya?
Posting proyek Anda sebagai jawaban untuk posting ini.
Jawaban:
Kotak pencarian stateful
Sebuah GPS kotak bertenaga yang membuat Anda mengunjungi beberapa tempat sebelum pembukaan
Deskripsi
Ini mirip dengan kotak pencarian , tetapi menyimpan sedikit informasi di EEPROM , jadi Anda harus mengunjungi dua atau tiga tempat berbeda sebelum dibuka.
Desain
Perangkat keras yang dibutuhkan:
Total biaya perangkat keras: $ 137 + ongkos kirim
Materi tambahan:
Anda dapat menemukan instruksi pemasangan di halaman jam matahari (Anda dapat membeli sebagian besar materi dari mereka)
Saya akan mengunggah kode negara dan memposting tautan di sini, sayangnya saya tidak akan mendapatkan semua perangkat keras yang dibutuhkan tepat waktu, jadi ini hanya ide :)
Kode yang ditulis sejauh ini :
Inspirasi:
Kesimpulan
Mempelajari cara mengintegrasikan banyak komponen dan pustaka semua ke negara lain, saya harus melakukan perjalanan sedikit untuk mengujinya :)
Anggaran dapat dipotong sedikit mengubah konsep sedikit:
sumber
Penghemat energi untuk pengguna PC yang linglung
Perangkat ini mengaktifkan / menonaktifkan lampu meja saya ketika gelap (ish) dan sinkron dengan screensaver PC saya.
Deskripsi
Proyek ini sedikit lebih dari kombinasi sensor peka cahaya, relay dan beberapa kode pintar yang memonitor screensaver di PC saya. Ketika senja dan ketika screen saver tidak aktif, itu menyalakan lampu di atas meja saya. Ketika saya kemudian meninggalkan meja saya, screensaver akan aktif, yang pada gilirannya akan memicu lampu meja dimatikan. Ketika ada cukup cahaya di siang hari, lampu tidak dinyalakan sama sekali. Masalah yang dipecahkan adalah mengurangi pemborosan energi karena pencahayaan di kantor saya dinyalakan ketika saya meninggalkan ruangan.
Desain
Karena kekuatan mikrokontroler / Arduino hanya diperlukan sedikit perangkat keras tambahan untuk membuat proyek yang bermanfaat. Hal yang sama berlaku untuk proyek ini di mana perangkat kerasnya sedikit lebih dari:
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Kesimpulan
Saya belajar cara antarmuka PC melalui tautan serial USB dengan Arduino dan cara membaca keadaan screensaver saat ini di PC saya. Jika saya akan memulai dari awal, saya akan menggunakan pengontrol yang jauh lebih kecil karena saya benar-benar hanya membutuhkan satu output digital dan satu input analog. Mungkin mendasarkan proyek pada V-USB . Namun Arduino sangat baik untuk proof of concept (PoC) yang cepat dan mudah. (PoC sudah ada di meja saya setidaknya selama dua tahun).
sumber
Saya pikir jenis ini hampir tidak sesuai dengan aturan, tetapi cukup menarik bahwa saya pikir saya akan mempostingnya.
Generator cap waktu Presisi Tinggi, Disinkronkan GPS untuk keperluan akuisisi data.
Ini adalah proyek yang agak menarik yang dimaksudkan untuk digunakan untuk menyediakan cara mudah menyinkronkan beberapa sistem akuisisi data independen.
Pada dasarnya, saya bekerja di laboratorium penelitian, dan kami sering memiliki instrumen yang memiliki beberapa sistem akuisisi data independen, yang dapat dipisahkan secara fisik hingga 50 kaki. Kita harus dapat mengkorelasikan waktu pengambilan sampel dari masing-masing sistem, yang bisa sulit jika Anda ingin menyelesaikan waktu pengambilan sampel dengan tingkat presisi yang tinggi. Menggunakan sesuatu seperti sistem akuisisi data USB, hanya latensi USB yang dapat memperkenalkan beberapa ratus milidetik dari latensi yang tidak diketahui, yang dapat bervariasi dari akuisisi hingga akuisisi.
Solusi sebelumnya adalah penghitung paralel 24-bit yang hanya digunakan di mana-mana, membutuhkan kabel yang sangat besar, dan agak menyebalkan.
Sistem ini menggunakan modul waktu GPS khusus yang dapat mensintesis jam frekuensi sewenang-wenang, yaitu fase dan frekuensi yang dikunci ke jam atom di satelit GPS.
MCU bertanggung jawab untuk mengikat bersama pesan data GPS (saya harus memperluas dan mengoptimalkan parser protokol yang ada untuk data GPS). GPS dikonfigurasi untuk menggunakan protokol biner berpemilik, dan semuanya diurai oleh parser yang saya tulis.
Proyek ini telah melalui sejumlah revisi (gambar di bawah).
Desain
Revisi!
Rev 1: Tidak pernah berfungsi, karena pada awalnya saya berharap untuk menggunakan perangkat lunak dPLL dari GPS yang jauh lebih murah, untuk mensintesis jam frekuensi yang lebih tinggi hanya dari output 1 PPS. Mungkin memungkinkan untuk membuatnya bekerja, tetapi investasi waktu membuatnya tidak bermanfaat. (Dan aku seorang pembuat kode yang terlalu jelek)
Digunakan baling-baling paralaks MCU. Kurangnya bahasa yang dikompilasi yang layak adalah masalah besar juga.
Rev 2: Bergeser ke ATmega2560. Bekerja, memiliki banyak aspek desain yang funky diwarisi dari rev pertama. Terutama, penggunaan terus register geser untuk output 32-bit, meskipun jumlah IO yang lebih dari cukup pada ATmega2560.
Papan pertama yang menjalankan Optiboot, dan sebenarnya diprogram sepenuhnya menggunakan toolchain Arduino standar, sebelum saya merasa jengkel dengannya dan mulai memodifikasi toolchain agar lebih sesuai dengan tujuan saya.
Wahyu 3: Juga bekerja. Wiring bodged adalah karena papan ini menggabungkan hub USB bawaan untuk mengurangi jumlah port USB yang diperlukan (antarmuka FTDI membutuhkan 1 USB, dan GPS juga memiliki antarmuka USB). Sayangnya, GPS tidak mau disebutkan dengan benar, meskipun perangkat FTDI berfungsi dengan baik, dan saya telah menggunakan hub ini di tempat lain tanpa masalah. Aneh.
Saya tidak memiliki debugger USB yang tepat, jadi saya hanya menjatuhkan hub USB sepenuhnya, daripada mencoba untuk memperbaiki masalah. GPS usb tidak terlalu banyak digunakan di luar pengaturan.
Rev 4: Versi ATmega2560 semi final. Menambahkan LCD untuk status GPS, mengutak-atik LED dan sebagainya. Juga, jejak kaki yang lebih baik untuk kapasitor super yang mungkin untuk mempertahankan status GPS saat tidak diaktifkan.
Ini adalah versi Optiboot terakhir.
MStime
adalahMSTOW
, atau Millisecond-Time-Of-Week, yang merupakan nama nilai data GPS yang dikeluarkan pada timestamp out. Ini adalah variabel 32-bit yang bertambah satu kali per miliseond, dan bergulir setiap minggu. Ini adalah bagian yang lebih tidak jelas dari standar GPS.ITOW
adalah nilai terkait GPS lainnya, yang merupakan nilai yang sesuai dengan sinyal 1PPS. Korelasi antara keduanya tidak tercermin dengan baik pada LCD, karena saya tidak punya waktu CPU untuk memperbarui LCD pada tingkat yang saya inginkan. Ini sebenarnya adalah salah satu hal utama yang ditingkatkan dalam peningkatan ke perangkat Xmega.Rev 5: Switch arsitektur lengkap. Sekarang menggunakan prosesor ATxmega128A1U. Tidak benar-benar "Arduino" sama sekali lagi, tetapi kemampuan untuk memiliki beberapa level interupsi pada seri prosesor xmega memungkinkan saya untuk secara signifikan meningkatkan struktur kode.
Dua kabel bodge berasal dari saya melakukan beberapa eksperimen, papan bekerja dengan baik tanpa mereka.
Sedang mencari:
Wahyu 6!
Tambahkan kemampuan untuk menggunakan ukuran LCD yang berbeda, lebih banyak perlindungan ESD pada koneksi antena GPS (yang merupakan masalah), kemampuan untuk menggunakan baterai CR2032 untuk mempertahankan jam GPS daripada kapasitor super.
Juga, pelabelan yang lebih baik untuk debug dan LED status.
Dan bonus Nyan-Cat!
(Papan ini sedang keluar untuk pembuatan sekarang. Ketika saya mendapatkannya, saya akan menambahkan gambar dari papan asli.)
Saya melakukan beberapa pengujian jangka panjang antara dua papan ATmega2560, dan lebih dari 72 jam, kesalahan waktu RMS antara kedua unit adalah ~ 20 uS. Ini juga dengan dua antena yang sepenuhnya independen. Tujuan desain saya adalah <1 ms, jadi saya sangat senang dengan itu.
Secara keseluruhan, saya pikir ini melakukan pekerjaan dengan baik yang menggambarkan bagaimana Arduino dapat menjadi alat yang berguna untuk membuat prototipe awal untuk produk / sistem "nyata". Saya menggunakannya untuk menjalankan versi uji awal dengan upaya minimal, dan ketika saya yakin idenya akan berhasil, saya benar-benar memasukkan pekerjaan untuk bermigrasi ke implementasi yang sepenuhnya khusus dan khusus untuk penerapan.
File desain:
https://fake-server.no-ip.org/svn/FPGAStuff/DAQ%20systems/
(Dalam seri direktori "GPS Timestamp").
(Catatan: File berasal dari Altium Designer. Ini bukan file elang).
Kode sumber:
https://fake-server.no-ip.org/svn/Programming/Code/AVR/
Sekali lagi, dalam rangkaian direktori "gpsTimeStamp".
Maaf untuk gambar ponsel jelek.
sumber
Sonic Ray Gun
Dua proyek oleh anak-anak
Saya bekerja dengan beberapa anak berpendidikan di rumah dan kami bersenang-senang dengan Arduino. Proyek pertama mereka adalah bom palsu, seperti yang Anda lihat di film, dengan penghitung waktu mundur LCD dan klasik "apakah Anda memotong kabel merah atau biru?" jenis masalah.
Proyek dua dimulai dengan menunjukkan kepada mereka contoh toneMelody dan speaker kecil. Yang cepat mengetahui bahwa jika Anda mengubah frekuensi hingga 15kHz itu agak mengganggu remaja. Satu jam kemudian mereka telah memperbaiki desain dengan cangkir, tisu toilet, dan sakelar yang terbuat dari penjepit kertas yang membuat senjata sinar sonik terarah.
Sayangnya tidak ada gambar.
Kesimpulan
Jangan biarkan anak-anak tanpa pengawasan dengan arduino.
sumber
(palsu) Linux di Arduino
Saya baru-baru ini memperoleh layar LCD komposit kecil, yang dengan cepat saya mulai bermain dengan menggunakan perpustakaan Arduino TVout. Apa yang terjadi selanjutnya? Linux!
Deskripsi
Saat bermain-main dengan layar TV saya dan perpustakaan TVout, saya menemukan ada pengendali terminal premade untuk TV. Saya segera mulai bereksperimen dengan menggunakannya sebagai terminal TV yang dihubungkan ke keyboard PS / 2. Ada beberapa masalah dengan perpustakaan PS / 2 yang saya gunakan, jadi saya mentransisikannya untuk menggunakan perpustakaan USB pada Mega ADK saya bersama dengan keyboard USB. Itu bekerja jauh lebih baik. Sekarang untuk penyimpanan.
Perisai kartu SD saya tidak kompatibel dengan Mega saya, jadi saya menyambungkannya dengan agak serampangan ke SPI di ujung papan. Saya menulis perintah penanganan untuk membentuk beberapa tugas seperti mendaftarkan file dan menemukan ukuran disk, ruang kosong, dll. Seluruh perakitan belum selesai, tetapi saya senang dengan kemajuan yang saya buat.
Kode akhirnya akan dipindahkan ke Github, perhatikan komentar.
Desain
Tantangan
Saya memiliki banyak kesulitan untuk menggabungkan karakter yang dimasukkan ke string yang menyimpan perintah saat ini karena saya tidak melakukan casting dengan benar. Setelah saya mengetahui hal itu, saya juga perlu memperbaiki masalah di mana beberapa tombol mencetak sampah acak ke layar. Ini disebabkan oleh pembacaan memori sebelum definisi huruf, sehingga beberapa
if
dari mereka membersihkannya.Kesimpulan
Saya sangat puas dengan kode tersebut. Setelah saya menambahkan beberapa utilitas ke dalamnya, saya akan meletakkannya di Github, jadi perhatikan komentarnya. Secara keseluruhan, itu adalah proyek yang sangat menyenangkan. Saya belajar cara menggunakan Stino dalam prosesnya.
sumber
ShiftLCD
Berbasis AVR, kompatibel dengan Arduino, papan yang dipasang di belakang Layar LCD 8x1 hingga 20x4 Karakter.
Deskripsi
Saya hanya merancang papan ini dan perpustakaan khusus untuk membuatnya lebih mudah digunakan dan LCD. Padahal mereka cukup mudah digunakan saat ini. Ini mengurangi jumlah pin output yang digunakan dari 6 menjadi 3. Ini juga memiliki opsi untuk memperluas I / O dengan menambahkan lebih banyak register geser ke salah satu yang mendorong tampilan. Prosesor yang digunakan adalah ATTiny45 atau ATTiny85 yang, setelah menggunakan shift register, pin digital 1 (PWM) dan 4 tersedia dan pin analog 2 (pin sama dengan pin digital 4) tersedia.
Desain
Tantangan
Satu tantangan tak terduga yang saya hadapi adalah ketika saya mulai menggunakan pin digital 0-2 untuk menjalankan register geser, ini juga merupakan pin pemrograman (MISO, MOSI, SCK). Jadi setiap kali saya memprogram ulang perangkat, LCD akan dikirim banyak pesan omong kosong di mana daya harus dimatikan untuk mengatur ulang layar. Saya memecahkan masalah ini dengan memindahkan register geser latch pin ke digital pin 3 yang bukan pin pemrograman. Memecahkan ini juga memecahkan masalah lain bagi saya karena ketika saya memindahkan pin kait itu membuka pin digital 1 yang memiliki penggunaan PWM, memungkinkan lebih banyak hal yang harus dilakukan dengan papan tulis.
Kesimpulan
Memang ini mungkin bukan produk atau ide paling keren, ia masih memiliki kegunaannya. Jawab pertanyaan secara langsung, "Apa yang Anda pelajari dari melakukan proyek ini" Saya belajar bagaimana mendesain dari awal hingga menyelesaikan papan PCB. Jika saya bisa melakukan sesuatu yang berbeda itu akan menggunakan permukaan mount bukan melalui lubang, sekali lagi itu hanya prototipe, papan satu kali.
sumber
Robot yang menekan tombol.
Robot penembak laser kontrol jarak jauh seberat empat pon yang menekan tombol.
Deskripsi
Saya membuat proyek ini selama tahun ajaran terakhir. Saya berada di kelas robotika, dan kami memutuskan untuk berkompetisi. Setiap tim akan membuat robot yang memiliki tombol besar dan cara menekan tombol lainnya. Pada akhir tahun, kami akan mengadakan kontes terakhir, di mana ketiga robot akan mencoba menekan tombol masing-masing.
Pada akhir tahun, robot saya hanya berfungsi sebagian. Setiap bagian dari robot pada titik tertentu telah berfungsi, tetapi antara Arduino goreng, pengendara motor goreng, organisasi kode yang mengerikan, dan saya menjadi satu-satunya orang di tim saya yang bekerja pada robot untuk total lebih dari lima jam, saya tidak bisa membuatnya bekerja sepenuhnya.
Saya belum menyentuh robot saya selama hampir satu tahun, jadi saya tahu bahwa jika saya ingin membuatnya bekerja lagi saya harus memperbaiki bot dan menulis ulang kode. Saya mungkin memutuskan untuk melakukan itu suatu hari nanti, tetapi untuk sekarang saya akan bekerja pada proyek yang kurang ambisius.
Desain
Desain keseluruhan
Informasi / aliran listrik
Komponen
Kode
Saya tidak mengatur kode saya dengan baik, jadi saya berharap ini adalah kode yang tepat.
Lebih banyak gambar
Video mengerikan dari robot versi lambat, tanpa senjata, tanpa tombol, tanpa laser, dan tanpa bluetooth.
https://www.youtube.com/watch?v=Q7MvE7-Xb0E
Kesimpulan
Saya sangat pandai menggoreng elektronik.
Ini adalah pengalaman pertama saya di toko mesin yang sebenarnya. Saya harus menggunakan mesin penggilingan CNC, mesin penggilingan manual, bubut, dan bandsaw. Jika saya memulai proyek seperti ini lagi, saya akan membuat dokumentasi yang lebih baik, sehingga saya bisa mengetahui apa yang saya lakukan setahun kemudian.
sumber
Tampilan LED 4-Digit untuk Arduino
Papan kecil dengan 4 digit 7-segmen LED, dikelola melalui 3 pin.
Deskripsi
Ketika saya mulai bekerja dengan Arduino, saya ingin cara menampilkan nilai yang dikumpulkan oleh berbagai sensor yang saya coba, tetapi saya tidak ingin menampilkan nilai-nilai ini
Serial
ke PC.Saya ingin papan kecil yang saya dapat dengan mudah digunakan kembali dari satu proyek ke proyek lain dan saya ingin menyimpan papan tempat memotong roti.
Papan ini, bersama dengan perpustakaan kecilnya, saat ini memungkinkan tampilan angka 4-digit dan tidak sumber arus Arduino selama tampilan (saat ini hanya bersumber ketika berkomunikasi ke papan nilai baru untuk ditampilkan mulai sekarang).
Desain
Desainnya agak sederhana karena saya memutuskan untuk menggunakan kembali MAX-7219 chip untuk menggerakkan layar LED saya (saya punya beberapa di antaranya).
Berkat chip ini, skematisnya sangat sederhana, tetapi penting untuk memahami dengan benar cara menggunakannya; untungnya, itu datasheet- nya cukup jelas.
Desain aslinya dilakukan pada papan tempat memotong roti dan digunakan 4 digit 7-segmen LED tunggal ; tetapi membutuhkan kabel terlalu banyak untuk seleraku (perlu menghubungkan segmen dengan kelompok 4). Juga, selama percobaan pertama saya dengan 7-digit digit LED, saya telah menggoreng satu: ia memiliki 2 pin Ground, tapi saya hanya menghubungkan satu ke GND alih-alih keduanya :-(
Lalu saya memutuskan untuk menggunakan tampilan segmen 4x7, katoda umum , dengan segmen anoda sudah terhubung untuk 4 digit: itu hanya 4 + 8 pin!
Selama pengujian, saya telah menemukan perpustakaan Arduino yang berguna untuk bekerja dengan MAX-7219 yang saya putuskan untuk digunakan kembali. Saya telah membangun perpustakaan saya sendiri di atasnya, dengan API yang sangat sederhana.
Setelah papan tempat memotong roti, tiba saatnya untuk membuat desain lebih permanen; karena saya memiliki banyak stripboards di tangan, saya memutuskan untuk melakukannya.
Saya mencari dan menemukan perancang Stripboard mudah untuk PC yang telah saya gunakan untuk mendesain papan saya.
Desain stripboard pertama tidak dioptimalkan dalam hal ruang dan saya memutuskan untuk tidak mengimplementasikannya:
Kemudian saya telah meninjau desain untuk mengoptimalkan biaya dan ukuran (hanya satu stripboard 50x75mm kecil); itu mudah dengan desainer stripboard yang saya temukan sebelumnya:
Setelah papan siap, saya memutuskan untuk memeriksanya dengan Arduino UNO dan Sensor Ultrasonik:
Tampaknya berfungsi kecuali saya sering memiliki nilai-nilai yang aneh dan tidak konsisten ditampilkan; setelah diselidiki, saya menemukan itu disebabkan oleh noise yang dipicu oleh papan display , noise yang mengganggu sensor. Saya hanya perlu menambahkan topi decoupling sedekat mungkin dengan pin pasokan sensor dan bekerja dengan baik (perhatikan bahwa papan display sudah memiliki topi decoupling untuk chip MAX-7219).
Daftar bagian:
Kesimpulan
30 tahun setelah percobaan elektronik terakhir saya, saya bisa mendapatkan virus lagi dengan Arduino dan dengan proyek pertama ini yang, walaupun agak sederhana, mengajarkan saya beberapa hal:
Jika saya memulai proyek ini lagi hari ini, saya akan:
sumber
Jam Dinding Digital dengan Remote Control Frekuensi Radio (RF)
Jam dinding display 7-segmen besar (40x30cm / 16x12 ") dengan remote control R / F.
Deskripsi
Proyek ini menampilkan jam dinding digital tampilan 7-segmen (40x30cm / 16x12 ") besar dengan remote control R / F. Ini memiliki fitur berikut:
Desain
Aspek utama dari proyek ini adalah sebagai berikut:
Di bawah ini adalah skema untuk pengontrol dan salah satu papan 7-segmen:
Berikut adalah beberapa gambar papan yang saya rancang, tempel, dan kumpulkan, dan remote control:
Dan akhirnya, inilah gambar dari versi jam yang lain. Di sini, saya membuat 7-segment display dengan menggunakan LED persegi panjang dan komponen diskrit.
Kesimpulan
Proyek ini menghabiskan banyak waktu, tenaga, dan pembelajaran untuk mencapai tahap ini (tidak pernah selesai, seperti yang telah saya pelajari), tetapi itu sangat menyenangkan. Beberapa hal yang saya pelajari:
Pelajari semua lib yang akan Anda gunakan dalam proyek Anda sebelum Anda menetapkan pin GPIO di controller Anda sehingga Anda menghindari potensi konflik. Saya kurang beruntung menggunakan pin PWM yang sama untuk kontrol kecerahan yang terkait dengan timer VirtualWire, jadi saya harus menambal papan untuk mendapatkan kecerahan dan RF bekerja pada saat yang sama.
Crimping KK molex dan konektor modu membutuhkan BANYAK WAKTU !!
Potongan laser akrilik adalah masa depan. Mereka menambahkan banyak kualitas ke perangkat bahkan jika Anda canggung.
sumber
Rotator Antena TV
Rotasi antena remote control IR
Tidak dapat turun dari sofa untuk menyesuaikan arah antena TV? Dan bahkan jika Anda melakukannya, terkadang kedekatan Anda dengan antena mengubah penerimaan. Alangkah baiknya untuk dapat menyesuaikan antena dari sofa. Menggunakan remote TV.
Komponen
Arduino Uno, penerima IR, motor Stepper dengan papan driver, 1 "ID bearing, Swiffer mop handle, kotak plastik,
Deskripsi
Gunakan pegangan Swiffer tua sebagai pos antena. Mendapat 1 "bantalan ID dari toko online favorit saya, yang hanya dipegang dan ditekan oleh gag pel. Saya mengebor sebuah lubang ke dalam kotak plastik yang cukup besar untuk pegangan pel agar bisa masuk, tetapi tidak untuk bantalan. Saya mengebor persegi panjang. lubang ke ujung gagang pel agar sesuai dengan poros motor stepper 28BYJ-48, dan menjebak alat ke dalam kotak seperti yang ditunjukkan.Tangan pel benar-benar bertumpu pada bantalan, dan bantalan super terpaku pada bagian atas kotak plastik .
Menggunakan perpustakaan stepper.h untuk memutar motor dari Uno.
Saya membongkar pemutar DVD yang tidak digunakan dan menyelamatkan penerima IR darinya. Anda dapat membongkar alat konsumen yang memiliki remote dan menggunakan penerima IR darinya, itu akan berfungsi. Penerima IR menggunakan perpustakaan IRremote.h. Menggunakan monitor serial, saya mencetak kode hex yang sesuai dengan dua tombol pada remote TV yang ingin saya gunakan untuk mengoperasikan motor antena. Satu untuk memutar kiri, satu untuk kanan.
Untuk menghemat energi, gunakan fungsi small_stepper.motorOff () untuk mematikan kumparan setelah setiap gerakan.
Kesimpulan
Ini adalah proyek yang menyenangkan yang juga berguna bagi istri saya. Saya tidak menerapkan akselerasi / deselerasi dalam gerakan, yang mungkin bagus, terutama jika antena memiliki inersia rotasi lebih.
Sunting: maaf tentang gambar yang menyamping! Itu tepat di atas komputer saya, saya tidak tahu mengapa itu online.
sumber
Lampu Knock-knock
Lampu yang menyala / mati saat meja dihidupkan. Saat ini dalam fase alpha, masih membuat prototipe, tapi saya pikir itu proyek Arduino yang paling berguna yang ada. Termasuk generator lelucon norak ... dari lelucon ketukan yang direkam sebelumnya. Catatan: Saya tahu saya tidak bisa menang dalam aturan, tetapi tidak ada aturan tentang masuk ... Saya juga bisa memamerkan proyek saya.
Deskripsi
Sejauh ini saya sudah cukup banyak menjelaskannya. Anda mengetuk, dan lampu menyala dan mati. Saya saat ini di papan tempat memotong roti. Saya menggunakan elemen piezo untuk mendeteksi ketukan dengan getaran. Secara paralel, saya memiliki resistor 1 megaohm untuk melindungi Arduino Uno SMD saya.
Saya memikirkan desain ini setelah hampir mengetuk (haha punny) lampu saya dari meja saya sambil mencari sakelar sakelar kecil. Aku tidak benar-benar ... cekatan . Menyenangkan mengetuk meja dan menyalakan lampu. Saya juga menggunakan Power Switch Tail SSR (solid state relay: no noise) untuk mengendalikannya dengan dua pin Arduino saya.
Desain
Gambar diambil dengan kamera web menggantung di monitor ... eek!
Komponen yang digunakan untuk membangun proyek:
Biaya untuk saya: $ 3,30 USD + $ 0,02 USD (pajak) == Hanya $ 3,32!
Kesimpulan
Secara keseluruhan, ini adalah proyek sederhana tetapi sebenarnya bermanfaat. Itu adalah perjuangan dengan proyek Arduino saya: dapatkah saya membangun sesuatu yang benar-benar akan saya gunakan ? Berkedip LED tidak akan membantu Anda dalam hidup. Ini menyenangkan, tapi hanya itu saja.
Masalah terbesar yang saya hadapi (dan sepertinya masih) adalah tidak mendapatkan sinyal yang cukup kuat. Saya belajar banyak tentang sinyal-sinyal listrik: Saya menemukan cara untuk menemukan "puncak" pulsa dan tidak hanya membaca pin pada interval acak dan kehilangan tegangan yang lebih tinggi. Saya akan mencoba mendapatkan elemen piezo yang lebih sensitif. Yang lebih besar akan membantu. Saya mencoba untuk memodifikasi sirkuit saya untuk tidak membatasi tegangan, tetapi melindungi Arduino. Semacam sekering akan membantu dalam situasi ini. Saya juga bermain-main dengan nilai-nilai resistor. Akan sangat membantu untuk memiliki ruang lingkup untuk ini, tapi saya rasa tidak ...: P
Setelah saya menyempurnakan sirkuit, saya akan bekerja untuk mendapatkannya di PCB dengan ATtiny ... dan bahkan mungkin mengembangkan beberapa kit. Saya akan mencoba untuk mempublikasikan temuan saya tentang bagaimana membuat elemen lebih sensitif tanpa membahayakan papan saya dalam proses.
Pembaruan status: Saya sangat sibuk baru-baru ini. Saya akan memesan dioda zener (4.3V) di sini dalam satu atau dua minggu untuk menghapus megaohm resistor untuk mencegah pengenceran sinyal sambil melindungi chip. Saya dapat membangun amp tegangan sederhana di sini jika diperlukan (bersama zener) untuk mencoba membuat sensor lebih sensitif.
sumber
- Pelajari cara membuat sensor nirkabel berbiaya rendah Anda sendiri dan sambungkan ke dunia.
http://www.mysensors.org
Kami menyebutnya "Internet of Your Things"
Deskripsi
Kami telah menggabungkan platform Arduino dengan transceiver radio kecil menjadi dunia yang menyenangkan, fleksibel dengan sensor nirkabel berbiaya rendah.
Semua detail seluk beluk tentang komunikasi sensor telah dikemas ke dalam perpustakaan perangkat lunak yang nyaman sehingga Anda tidak perlu khawatir tentang hal itu.
Semudah 1, 2, 3.
Baca lebih lanjut tentang bagaimana jaringan sensor terbentuk secara otomatis menggunakan Perpustakaan Arduino kami di situs. Ini pada dasarnya membentuk jaringan bintang dan dapat mencapai ratusan meter.
Di tengah Anda menempatkan gateway Arduion atau Raspberry yang mengumpulkan informasi dari sensor Anda.
Desain dan skema
Ini adalah salah satu sensor gerak prototipe yang saya buat untuk mengontrol lampu taman di luar rumah saya. Status gerakan dikirim ke pengontrol HA saya yang menyalakan cahaya (melalui gelombang-z) ketika gerakan telah terdeteksi. Sebuah sensor cahaya (bukan pada gambar) memastikan hanya untuk menyalakan lampu di malam hari.
Anda akan menemukan semua instruksi pembuatan di sini: http://www.mysensors.org/build/
Situs lain juga ada petunjuk membangun yang mudah diikuti untuk sekelompok sensor nirkabel dan aktuator lainnya. Berikut ini beberapa contohnya:
Sensor Jarak, Sensor gerak, Relay aktuator, Kelembaban, Cahaya, Tekanan, Hujan, Suhu, ...
Kesimpulan
Proyek ini masih dalam blok awal dan kami berharap dapat menyediakan plugin untuk daftar pengendali Otomasi Rumah yang terus bertambah. Hal pertama yang ada di daftar kami sekarang adalah untuk menyediakan pengontrol DIY yang menyediakan penyimpanan cloud gratis untuk data sensor Anda.
Sampai jumpa @ mysensors.org
/ Henrik Ekblad (pencipta Open Source Arduino Library digunakan untuk komunikasi antar sensor)
sumber
Kotak Serial
Monitor serial portabel dalam sebuah kotak
Deskripsi
Terkadang berguna untuk perangkat (Arduino atau lainnya) untuk menampilkan beberapa informasi debug melalui serial. Itu bagus jika Anda memiliki komputer dengan input serial yang sesuai. Namun, itu tidak selalu terjadi karena berbagai alasan.
Proyek ini adalah upaya saya untuk mengatasi masalah itu dengan membuat monitor serial bertenaga Arduino portabel, yang dapat saya sambungkan ke perangkat lain di lapangan.
Secara default, itu hanya akan menampilkan teks dalam format scrollback; yaitu teks muncul di baris terbawah, dan semuanya bergulir untuk memberi ruang ketika lebih banyak datang. Ini berarti itu harus bekerja dengan sangat rapi dengan semua jenis perangkat generik. Namun, juga dimungkinkan untuk menggunakan urutan pelarian untuk mengontrol tampilan secara lebih tepat, sehingga perangkat juga dapat diprogram secara khusus untuk memanfaatkan kemampuannya.
Desain
Desain terdiri dari satu set 4 tampilan LCD alfanumerik (masing-masing 16x2 karakter), disejajarkan dalam kotak seperti ini:
Layarnya adalah milik Epson EAX16027AR, yang sayangnya tidak kompatibel dengan driver standar Hitachi HD44780. Karena itu, saya harus menulis perpustakaan sendiri untuk mereka.
Saya memilih untuk menggunakan pajangan ini (daripada misalnya satu pajangan besar) terutama karena saya baru saja meletakkannya di sekitar, dan ingin melakukan sesuatu yang menarik dengannya. Saya juga berpikir akan sangat berguna untuk dapat mengontrol setiap tampilan secara independen untuk beberapa aplikasi (mis. Menampilkan informasi yang berbeda pada masing-masing).
Dalam hal desain sirkuit, display terhubung secara paralel, dengan pin pilih chip yang digunakan untuk mengarahkan data / perintah ke masing-masing sesuai kebutuhan.
ATMega328 akan menjadi otak unit akhir, dengan data serial yang berasal dari garis level TTL (untuk menghubungkan langsung ke TX dari MCU serupa), atau secara opsional dari soket sub-D RS232 9-pin (untuk menghubungkan ke berbagai sistem lainnya). Unit ini juga akan memiliki tombol kontras, tombol untuk membersihkan tampilan, dan tombol untuk memulai mode swa-uji. Di masa depan, saya ingin menambahkan tombol yang memungkinkan pengguna bergerak melalui riwayat scrollback juga.
Di bawah ini adalah tata letak sirkuit yang sangat awal (saya punya banyak kesulitan membuat Fritzing bermain dengan baik untuk beberapa alasan!) Ini termasuk register geser SIPO 8-bit untuk mengarahkan jalur data LCD, yang ditunjukkan dengan warna hijau. Anda juga dapat melihat garis pilih chip dalam warna oranye.
Saat ini, proyek masih dalam tahap prototipe kerja, didorong dari papan Uno (klon). Di bawah, Anda dapat melihat foto itu beraksi, menampilkan teks yang dikirimkan melalui serial dari komputer saya.
Kode sumber
Saya membuat perpustakaan LCD saya tersedia di GitHub di tautan di bawah ini. Harap dicatat bahwa ini pada tahap awal dalam pengembangan. Dalam waktu dekat, saya bermaksud membuatnya lebih mirip dengan perpustakaan LiquidCrystal inti sehingga lebih mudah untuk transisi antara keduanya.
Anda dapat menemukan beberapa kode dasar untuk prototipe Kotak Seri saya di folder "contoh".
Kesimpulan
Saya pikir proyek ini berjalan dengan sangat baik, dan saya sangat senang mendapatkan prototipe berfungsi. Tantangan utama saya adalah memasang semuanya dalam sebuah kotak. Saya sudah mulai memotong lubang yang cocok untuk pajangan, tetapi saya tidak terlalu berpengalaman dalam hal semacam itu, dan saya merasa cukup sulit untuk mengatur semuanya.
Saya akan sampai di sana pada akhirnya. Itu mungkin tidak terlihat sangat cantik pada saat saya selesai! :)
sumber
Pengontrol Pemanasan
Anda tahu bagaimana keadaannya - Anda mengatur agar pemanas menyala pada waktu tertentu dan berapa hari Anda bekerja lembur dan sudah membosankan selama berjam-jam, atau Anda pergi selama beberapa hari dan lupa mematikannya? Atau kesempatan langka bahwa Anda pulang lebih awal dan rumah itu dingin? Saya memutuskan bahwa cara sederhana untuk menyiasatinya adalah dengan membangun perangkat yang memungkinkan saya untuk menghidupkan atau mematikan pemanasan saya melalui pesan teks / sms. Ini akan menjadi tambahan untuk sistem kontrol yang ada agar tidak kehilangan fleksibilitas yang dapat diberikan.
Proyek ini terdiri dari beberapa bagian utama: klon Arduino Uno, perisai Seeedstudio GSM, sensor suhu DHT22 dan SSR 25 amp.
Bagaimana itu bekerja:
Kontrol pemanas yang ada disetel ke 'Mati' dan pengendali baru dihubungkan dengan kabel untuk menimpanya. Uno diprogram untuk merespons tiga pesan berbeda - Hidup, Mati, dan Kueri. Dalam kasus yang terakhir unit akan membaca DHT22 dan membalas pengirim dengan suhu saat ini dan status unit (on atau off). Jika perintahnya Hidup atau Mati maka itu akan merespons dengan konfirmasi tindakan yang dilakukan. Setelah pesan ditindaklanjuti, pesan itu dihapus; pesan apa pun yang tidak sesuai dengan struktur pesan tertentu dibiarkan dalam memori kartu SIM dan dapat diperiksa kemudian jika diinginkan.
Daya ke unit disuplai oleh catu daya mode switch tiga amp lima volt. Karena pin daya pada Arduino hanya mengekspos bus 5v internal dewan, saya memutuskan untuk memberi daya pada ansambel melalui ini dan mengkonfigurasi perisai untuk menarik daya dari Arduino.
Unit ini memiliki tiga LED status. Satu hijau untuk menunjukkan bahwa ada kekuatan, yang biru untuk menunjukkan bahwa papan GSM 'hidup' dan yang merah untuk menunjukkan status pemanasan. Ini selain status LED yang disediakan pada Arduino dan perisai. Ada juga saklar tombol yang memungkinkan kontrol pemanas secara manual, dengan kapasitor 100nF untuk menangani debounce.
Berikutnya:
Sebagian besar kode bergantung pada penundaan lama yang baik () untuk memberi perisai cukup waktu untuk melakukan aksinya. Saya berencana untuk meningkatkan kode sehingga menunggu konfirmasi dari perisai daripada berasumsi bahwa ia telah melakukan apa yang diperintahkan dalam waktu yang dialokasikan! Saya juga akan menambahkan fitur 'masih hidup' - pada interval tetap mematikan LED biru, mengirim perintah AT ke perisai dan pada pemberitahuan nyalakan lagi LED. Perisai berada di bawah kendali perangkat lunak sehingga jika gagal merespons maka matikan dan hidupkan kembali.
Keseluruhan ansambel harus dipasang di selungkup yang sesuai dan dipasang berdekatan dengan pengontrol yang ada. Saya memiliki sakelar tombol tekan yang menyala secara internal yang akan saya gunakan alih-alih sakelar terpisah dan LED merah untuk menangani penggantian.
Jangka panjang saya berencana untuk menambahkan RTC, LCD 20 x 4 dan tombol push tambahan untuk memungkinkan unit diprogram dan bertindak sebagai saklar waktu juga.
Prototyping sudah dimulai!
Kesimpulan.
Ada sesuatu yang agak dekaden tentang bangun di hari istirahat musim dingin, mengirim pesan teks / sms untuk menghidupkan pemanas, dan berguling dan kembali tidur selama satu jam! Dan ketika Anda menyadari bahwa Anda belum mematikannya di malam hari Anda dapat melakukannya dari kenyamanan tempat tidur Anda!
sumber