Lampu Sinyal Tangan Sepeda: 10 Langkah (dengan Gambar)
Lampu Sinyal Tangan Sepeda: 10 Langkah (dengan Gambar)

Video: Lampu Sinyal Tangan Sepeda: 10 Langkah (dengan Gambar)

Video: Lampu Sinyal Tangan Sepeda: 10 Langkah (dengan Gambar)
Video: Sepeda Tanpa Batang penyambung roda depan belakang 😀😀 2025, Januari
Anonim

Tujuan dari proyek ini adalah untuk membuat lampu yang pas pada sarung tangan sepeda dan mengarah ke arah belokan yang diinginkan, untuk meningkatkan visibilitas di malam hari. Ini harus ringan, mudah digunakan, dan terintegrasi dengan gerakan yang ada untuk sinyal (tweaking minimal metode sinyal (Anda tidak perlu menekan tombol, itu hanya berjalan ketika Anda memberi sinyal)). Ini akan menjadi hadiah liburan yang luar biasa.

Catatan: Ini membutuhkan pengetahuan sebelumnya tentang cara menyolder dan gagasan tentang cara memprogram AVR adalah nilai tambah yang besar. Dengan mengingat hal itu, bersenang-senanglah, bersabarlah dan posting gambar produk Anda di bawah ini! Ini videonya: Dan ini foto saya:

Langkah 1: Bagian

x1 ATmega 32L 8PU (www.digikey.com)x1 soket DIP 40-pin (www.digikey.com)x1 8x8 LED Array (www.sparkfun.com)x1 74138 De-multiplexer (www.digikey.com)x2 Sensor Fleksibel (www.sparkfun.com)x(Banyak) Resistor 180 ohm dan 10k ohmx2 PC Board (www.sparkfun.com)x6 Standoffs (www.sparkfun.com) dan sekrup yang sesuai (Toko Perangkat Keras Lokal)x1 Akselerometer pada papan breakout (www.sparkfun.com)x2 Header - Pria (www.sparkfun.com), Wanita (www.sparkfun.com), dan Sudut Kanan (www.sparkfun.com)x1 LM7805 (www.digikey.com)x2 soket 8 pin (Saya mendapatkan milik saya di Radio Shack)x1 9v batteryx1 foot stick-on velcrox1 Sarung tangan sepeda full-finger1 spool polyester threadx1 Programmer (saya punya yang ini)x1 Wire stripper dan clipx1 MultimeterBeberapa bagiannya:

Langkah 2: Siapkan Papan

Pertama, tambahkan kebuntuan. Anda harus mengencangkan keduanya untuk mendapatkan ketinggian yang tepat. Pastikan kebuntuan turun dari samping dengan bantalan KOTAK. Dengan cara ini Anda dapat menjembatani bantalan dengan solder di bagian bawah dan menjembatani dengan bantalan umum di bagian atas untuk terhubung ke ground. Selanjutnya tambahkan array LED dan solder masuk. Ini harus sejauh tepi papan dengan dua tiang karena dapat dengan YS menghadap ke sisi yang berlawanan. Pin di kiri bawah adalah pin 1. (Ini juga ditandai pada gambar.) Selanjutnya tambahkan dua soket 8 pin satu di atas yang lain sehingga membentuk satu soket 16 pin. Pastikan untuk memiliki satu ruang di sebelah kiri dan kemudian solder itu. Selanjutnya bagi header pria dan wanita menjadi bagian 10 dan 11 pin. Anda akan membutuhkan header wanita dua kali lebih banyak. Solder yang di seperti yang terlihat di foto. Sedangkan untuk header laki-laki Anda perlu menggeser pin sehingga jumlah yang sama di setiap sisi plastik. Paling mudah untuk melihat gambar untuk melihat apa yang saya maksud, jadi lihat #6. Saya menggunakan beberapa tang dan itu bekerja dengan baik. Sekarang jika Anda mengambil header pria dan menempatkannya di antara 2 header wanita, Anda akan melihat bahwa mereka sekarang berukuran tepat untuk menghubungkan papan atas dan bawah bersama-sama.

Langkah 3: Tambahkan Resistor

Resistor ini berada di antara larik LED dan 74138 (Ground) untuk melindungi larik. Lipat salah satu ujung dari resistor di atas sehingga kedua ujungnya sejajar. Pasangkan pada pin 7, 9, 10, 11, 12, 13, 14, dan 15 dan solder. Saya menemukan bahwa itu bekerja paling baik jika Anda mengubah arah resistor seperti yang Anda lihat pada gambar kedua dan ketiga.

Langkah 4: Kawat Bagian Atas

Sejauh ini, ini adalah langkah proyek terpanjang, jadi saya harap Anda suka menyolder! Cukup ikuti skema di bawah ini dan pastikan untuk menguji kontinuitas dengan multimeter Anda. Jika Anda ingin tahu bagaimana saya memberikan tampilan skematis pada lembar data untuk array dan 74138.

Langkah 5: Isi Bagian Bawah

Sekarang saatnya untuk menempatkan komponen dasar kita di papan bawah. Pertama kita akan membuat soket DIP 40 pin yang sedekat mungkin dengan kiri atas sambil menyisakan satu baris ruang di sisi kiri. (Lihat gambar #1.) Solder itu dan kemudian tempatkan header. Cara termudah untuk melakukannya adalah dengan menghubungkan yang di atas ke yang akan di bawah menggunakan header laki-laki Anda yang dimodifikasi. Jika Anda melakukan semuanya dengan benar, Anda akan mendapatkan tiga pin teratas di header kiri di sebelah pin kanan bawah pada soket. Ini bagus. Kami hanya menggunakan pin paling bawah di sebelah kanan dan seperti yang Anda lihat, kami memiliki bidikan yang jelas dari arah lain. Sekarang tambahkan regulator tegangan seperti yang ditunjukkan pada gambar. Saya mengamankan milik saya melalui lubang di heat sink logam dengan sekrup dan mur. Heat sink adalah cara lain untuk membumikan chip dan memasangnya ke papan memberikan kontak yang solid dengan koneksi umum. Ini terhubung ke bagian bawah serta atas karena keduanya terhubung dengan standoffs logam. Namun, jika Anda tidak menggunakan koneksi umum untuk ground JANGAN baut unit pendingin ke papan karena unit pendingin berfungsi sebagai ground dan Anda mungkin akan mengalami hubungan arus pendek. Kabel berikutnya di klip baterai. Merah menuju pin di sebelah kiri (Dengan heat sink ke atas dan pin ke bawah) hitam ke tengah dan pin kanan menghasilkan +5v. Sekarang Anda dapat menyambungkan daya ke atas (lihat gambar #2). Sekarang untuk penghubung programmer. Saya memiliki adaptor yang saya buat untuk programmer saya, tetapi Anda mungkin ingin memasukkan header 6 pin (3x2) ke dalam desain Anda. Namun jika Anda memiliki adaptor seperti saya, inilah yang saya lakukan. Saya mengambil header sudut kanan dan header wanita dan menyoldernya bersama-sama (Gambar #3). Kemudian saya memasangnya ke papan dengan pin pertama terhubung ke pin 6. Sekarang Anda perlu memberi daya dan membumikan chip serta memasang kabel di resistor untuk menarik reset tinggi. Saya menjalankan resistor 10k dari pin 9 ke pin 10 dan kemudian menghubungkan pin 10 ke +5v. Pin berikutnya (11) menuju ke koneksi umum (Ground). Akhirnya lihat gambar #4 untuk menyelesaikan langkah ini (Sudah cukup jelas).

Langkah 6: Kawat Bagian Bawah

Ingat langkah yang sangat menyenangkan di mana Anda harus menjalankan lebih dari 30 kabel agar susunan LED berfungsi? Sekarang Anda bisa melakukannya lagi! Di bawah!. Yang ini sedikit lebih cepat tapi tidak banyak untuk saya. Sekali lagi, lihat skema dan periksa semua koneksi Anda dengan multimeter Anda. Jangan khawatir, ini adalah bagian penyolderan besar terakhir dari proyek dan Anda hampir selesai.

Langkah 7: Sensor Fleksibel dan Akselerometer

Kami akan menangani sensor flex terlebih dahulu tetapi Anda berada di rumah sejauh perangkat keras berjalan. Saya pikir gambar-gambar di bawah ini cukup menjelaskan apa yang harus dilakukan. Hubungkan satu pin ke +5v yang lain ke pin ketiga atau keempat dari atas di sisi kanan AVR (Mikrokontroler di jantung proyek ini). Ketika saya pertama kali menyatukan ini saya pikir hanya itu yang perlu saya lakukan tetapi ternyata agar AVR dapat membaca sensor flex Anda perlu meletakkan resistor dari pin pada sensor menuju ke AVR ke ground (Lihat gambar # 10 dan 11). Saya menggunakan 10k. Ini membagi tegangan ke AVR yang praktis menggandakan sensitivitas sensor. Sekarang untuk akselerometer. Karena akselerometer hanya sehelai rambut lebih tinggi daripada jarak antara dua papan dan karena kami mungkin ingin menggantinya suatu hari nanti, saya memutuskan untuk menggunakan tajuk untuk mengeluarkannya dari papan dan menghubungkannya. Gunakan header sudut kanan untuk menghubungkan ke 6 pin pada papan breakout. Sekarang ambil header sudut kanan lain dan solder header perempuan ke pin pendek lalu solder ini ke kiri bawah papan Anda. Pasang akselerometer untuk memastikan cocok, cabut lalu sambungkan pin yang tepat ke Vcc (+5v) dan Gnd. Kemudian sambungkan pin keluaran X ke pin 40 dan Y ke pin 39. Sekarang Anda harus mengatur untuk menambahkan IC (Integrated circuits) dan menyalakannya.

26 Des 2009: Saya telah menemukan bahwa cara saya memasang sensor flex jari telunjuk menyebabkan bahan yang menghubungkan sensor dengan pin terdegradasi. Sejak itu saya telah membeli sensor pengganti dan menempelkan sepotong plastik tipis ke sensor untuk mencegah area ini menjadi bagian yang melakukan sebagian besar pembengkokan. Saya telah menandai lokasi di foto di bawah ini.

Langkah 8: Menambahkan IC dan Program Pertama

Ini adalah kemungkinan langkah termudah dari keseluruhan proses. Sekali lagi bantuan gambar. Pastikan Anda memiliki chip dengan cara yang benar seperti yang dijelaskan pada gambar #3. Saya pertama-tama akan menghubungkan daya tanpa terhubung dan menyentuh unit pendingin pada pengatur tegangan. Jika panas maka ada sesuatu yang korslet dan Anda harus kembali dan memeriksa koneksi Anda. Lanjutkan dengan cara ini, tambahkan satu chip pada satu waktu, rasakan panasnya dan setelah semuanya berada di tempatnya, kencangkan mur di papan bawah sehingga kedua papan diikat dengan aman. Selanjutnya Anda akan memprogram AVR. Jika Anda belum pernah melakukan ini sebelumnya, pencarian cepat di Google akan menghasilkan banyak hasil. Jika saya jadi Anda, saya akan meletakkan AVR saya di papan tempat memotong roti dan program di sana sebelum Anda mencobanya dengan kerja keras Anda. Saya menulis program sederhana untuk menampilkan informasi yang diterima dari sensor fleksibel ke larik LED. Ini akan memberi Anda ide dasar tentang apa yang berfungsi dan tidak berfungsi di sirkuit Anda. Berikut adalah video kode yang sedang beraksi……dan inilah kodenya: #define F_CPU 800000UL#include #include #include void ADCINIT(){ ADMUX = 0b01100000; ADCSRA = 0b10000000;}int main(){ int a; a = 0; int b; b = 0; DDRD = 0xFF; DDRB = 0xFF; DDRA = 0b11100000; ADSINIT(); while(1) { ADMUX = 0b01100011; ADCSRA |= 0b01000000; while(bit_is_clear(ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _delay_ms(1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA |= 0b01000000; while(bit_is_clear(ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _delay_ms(1); PORTB = 0x00; }}

Langkah 9: Memasang Lingkaran Anda ke Sarung Tangan

Saya pikir ada banyak cara untuk memasang sirkuit Anda ke tangan Anda dan untuk sementara saya berpikir saya akan menyerahkannya kepada pembaca tetapi kemudian memutuskan bahwa instruksi tidak akan lengkap tanpa penutupan ini. Saya pergi ke toko sepeda lokal saya dan mendapatkan sarung tangan full-finger termurah yang bisa saya temukan. Jari penuh diperlukan karena jika tidak, Anda tidak dapat memasang sensor fleksibel dengan baik. Saya kemudian pergi ke toko kain dan membeli benang poliester dan velcro tempel. Saya memakai sarung tangan dan meletakkan sirkuit di tangan saya. Bagian dari pemosisian adalah kenyamanan tetapi bagian lain adalah sensor fleksibel. Mereka harus turun di tengah dua jari. Saya menjahit loop di sekitar tiga kebuntuan untuk menahan papan utama (Lihat gambar #2) dan kemudian melakukan loop longgar 3/4 ke bawah setiap jari sensor fleksibel (#3 dan 4). Pastikan Anda tidak menjahit sarung tangan Anda tertutup. Selanjutnya saya menempelkan sepotong velcro ke sisi ibu jari saya untuk menahan baterai. Saya telah menemukan setelah pengujian bahwa itu benar-benar terbayar untuk menjahit ini juga karena tongkat tidak bertahan terlalu lama. Selanjutnya saya memasang lingkaran velcro di sekitar 9v (Gambar 5). Pengaturan ini tampaknya bekerja dengan cukup baik. Seperti yang Anda lihat pada gambar di slide pertama dan terakhir, saya sekarang telah menambahkan selongsong untuk sensor flex tetapi jika Anda tidak punya waktu, loop akan baik-baik saja. Ketika Anda selesai dengan proyek Anda, silakan posting foto produk jadi Anda di bawah. Saya ingin melihat apa yang Anda temukan untuk memasang sirkuit!

Langkah 10: Kode Nyata

Terima kasih telah menemaniku selama ini. Harap diingat bahwa kode saya tidak sempurna. Saya telah menemukan bahwa dibutuhkan sedikit pembelajaran untuk membuat sinyal bekerja dengan benar. Saya akan terus berusaha menyempurnakan sistem saya dan akan terus memperbarui halaman ini dengan kode baru setelah saya menulisnya. 26 Desember 2009: KODE BARU! Itu diposting di mana kode lama itu. Banyak terima kasih kepada Yakub untuk penyederhanaan. Ini benar-benar bekerja dengan baik. Ini dia. Terima kasih telah membaca dan jangan lupa untuk memilih! #include #include #include // Mengatur atau Menghapus bit dalam register #define setBit(sfr, bit) (sfr |= (1 << bit)) #define clearBit(sfr, bit) (sfr &= ~(1 << bit)) #define flipBit(sfr, bit) (sfr ^= (1 << bit)) #define FALSE 0 #define TRUE 1 #define matrixX(x) (PORTA = (x - 1) << 5) #define matrixGY(y) (PORTD = y) #define matrixRY(y) (PORTB = y) void delay(unsigned int delay) { unsigned int x = 0; while(x < penundaan) { x++; } } void initMatrix() { DDRD = 0xFF; // Kontrol hijau DDRB = 0xFF; // Kontrol merah DDRA = 0xE0; // Kontrol tanah } void matrixRowDraw(char greenmask, char redmask, char column) { matrixX(column); int saya = 0; for(i = 0; i < 8; i++) { matrixGY(greenmask & (1 << i)); matrixRY(topeng merah & (1 << i)); _delay_us(150); } matriksGY(0x00); matriksRY(0x00); } void matrixLeft() { matrixRowDraw(0x10, 0, 1); matrixRowDraw(0x20, 0, 2); matrixRowDraw(0x40, 0, 3); matrixRowDraw(0xFF, 0, 4); matrixRowDraw(0xFF, 0, 5); matrixRowDraw(0x40, 0, 6); matrixRowDraw(0x20, 0, 7); matrixRowDraw(0x10, 0, 8); } void matrixRight() { matrixRowDraw(0x18, 0, 1); matrixRowDraw(0x18, 0, 2); matrixRowDraw(0x18, 0, 3); matrixRowDraw(0x18, 0, 4); matrixRowDraw(0x99, 0, 5); matrixRowDraw(0x5A, 0, 6); matrixRowDraw(0x3C, 0, 7); matrixRowDraw(0x18, 0, 8); } batal adcInit() { ADMUX = 0x60; ADCSRA = 0x80; } char adcGet(char chan) { ADMUX = 0x60 | chan; ADCSRA |= 0x40; while(bit_is_clear(ADCSRA, ADIF)); kembali ADCH; } char adcAvg(char chan, char avgnum) // Hanya rata-rata hingga 256 sampel { int i = 0; unsigned int total = 0; for(i = 0; i < avgnum; i++) { total += adcGet(chan); } mengembalikan total/avgnum; } int main() { initMatrix(); adcInit(); while(1) { while(adcAvg(3, 50) > 0x45 & adcAvg(2, 50) > 0x70) // Nilai hex di sini harus diubah bergantung pada penyiapan pengguna untuk menentukan sensitivitas sensor fleksibel. { if(adcAvg(1, 50) > 0x4F) { matrixRight(); } if(adcAvg(1, 100) < 0x4F) { matrixLeft(50); } } } kembalikan 0; } Terima kasih khusus kepada Chamberlains, orang tua saya dan teman-teman yang membantu.

Finalis dalam Kontes Liburan Buatan Sendiri