Isi kandungan:

Lampu Isyarat Tangan Bike: 10 Langkah (dengan Gambar)
Lampu Isyarat Tangan Bike: 10 Langkah (dengan Gambar)

Video: Lampu Isyarat Tangan Bike: 10 Langkah (dengan Gambar)

Video: Lampu Isyarat Tangan Bike: 10 Langkah (dengan Gambar)
Video: Asekkk😀😀😀 #shorts #pontianak #komedi 2024, Julai
Anonim
Lampu Isyarat Tangan Basikal
Lampu Isyarat Tangan Basikal

Matlamat projek ini adalah untuk membuat lampu yang sesuai dengan sarung tangan basikal dan menunjuk ke arah putaran yang dimaksudkan, untuk meningkatkan penglihatan pada waktu malam. Ini harus ringan, mudah digunakan, dan disatukan dengan gerakan yang ada untuk memberi isyarat (kaedah isyarat tweaking minimum (anda tidak perlu menekan butang, hanya berlaku ketika anda memberi isyarat)). Ini akan menjadikan hadiah percutian yang hebat.

Catatan: Ini memerlukan pengetahuan sebelumnya tentang cara menyolder dan idea tentang cara memprogram AVR adalah kelebihan besar. Oleh itu, bergembiralah, sabar dan hantarkan gambar produk anda di bawah! Inilah video: Dan inilah gambar saya:

Langkah 1: Bahagian

Bahagian
Bahagian

x1 ATmega 32L 8PU (www.digikey.com) x1 Soket DIP 40-pin (www.digikey.com) x1 Array LED 8x8 (www.sparkfun.com) x1 74138 De-multiplexer (www.digikey.com) x2 Sensor Flex (www.sparkfun.com) x (Banyak) Perintang 180 ohm dan 10k ohmx2 PC Board (www.sparkfun.com) x6 Standoffs (www.sparkfun.com) dan skru yang sesuai (Kedai Perkakasan Tempatan) x1 Accelerometer pada papan pemecah (www.sparkfun.com) x2 Header - Lelaki (www.sparkfun.com), Perempuan (www.sparkfun.com), dan Sudut Kanan (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 soket 8 pin (Saya mendapat tambang di Radio Shack) x1 9v baterix1 kaki melekat pada velcrox1 Sepeda sarung tangan penuh sarung tanganx1 spool polyester threadx1 Programmer (saya mempunyai ini) x1 Wire stripper dan clipx1 MultimeterBeberapa bahagian:

Langkah 2: Siapkan Papan

Siapkan Papan
Siapkan Papan
Siapkan Papan
Siapkan Papan
Siapkan Papan
Siapkan Papan
Siapkan Papan
Siapkan Papan

Pertama, tambahkan kebuntuan. Anda perlu mengikat dua bersama-sama untuk mendapatkan ketinggian yang betul. Pastikan penyangga turun dari sisi dengan pad SQUARE. Dengan cara ini anda dapat menjembatankan pad dengan solder di bahagian bawah dan jambatan dengan pad biasa di bahagian atas untuk menyambung ke tanah. Seterusnya tambahkan susunan LED dan pasangkannya. Seharusnya sejauh tepi papan dengan kedua stanoff seperti yang dapat dilakukan dengan YS menghadap ke seberang. Pin di kiri bawah adalah pin 1. (Ini juga ditandakan pada gambar.) Seterusnya tambahkan dua soket 8 pin satu di atas yang lain sehingga membentuk satu soket 16 pin. Pastikan mempunyai satu ruang di sebelah kiri dan kemudian pasangkan itu. Seterusnya pisahkan tajuk lelaki dan wanita menjadi bahagian 10 dan 11 pin. Anda memerlukan header wanita dua kali lebih banyak. Selesaikan seperti yang terdapat dalam foto. Bagi header lelaki, anda perlu menggeser pin supaya jumlahnya sama di setiap sisi plastik. Paling mudah untuk melihat gambar untuk melihat maksud saya jadi lihatlah # 6. Saya menggunakan beberapa tang dan ia berfungsi dengan baik. Sekarang jika anda mengambil header lelaki dan meletakkannya di antara 2 header wanita, anda akan melihat bahawa sekarang ukuran mereka sesuai untuk menghubungkan papan atas dan bawah bersama-sama.

Langkah 3: Tambahkan Perintang

Tambah Perintang
Tambah Perintang
Tambah Perintang
Tambah Perintang
Tambah Perintang
Tambah Perintang

Perintang ini berada di antara array LED dan 74138 (Ground) untuk melindungi array. Lipat salah satu penyokong dari perintang di bahagian atas sehingga kedua-dua plag itu selari. Pasangkan pada pin 7, 9, 10, 11, 12, 13, 14, dan 15 dan pateri. Saya dapati ia berfungsi paling baik jika anda menukar arah perintang seperti yang anda lihat pada gambar kedua dan ketiga.

Langkah 4: Kabel Bahagian Atas

Kawat Bahagian Atas
Kawat Bahagian Atas
Kawat Bahagian Atas
Kawat Bahagian Atas
Kawat Bahagian Atas
Kawat Bahagian Atas
Kawat Bahagian Atas
Kawat Bahagian Atas

Ini adalah langkah terpanjang projek ini, jadi saya harap anda suka menyolder! Ikuti sahaja skema di bawah ini dan pastikan untuk menguji kesinambungan dengan multimeter anda. Sekiranya anda ingin tahu bagaimana saya datang dengan skema pada lembar data untuk array dan 74138.

Langkah 5: Isi Bahagian Bawah

Isi Bahagian Bawah
Isi Bahagian Bawah
Isi Bahagian Bawah
Isi Bahagian Bawah
Isi Bahagian Bawah
Isi Bahagian Bawah
Isi Bahagian Bawah
Isi Bahagian Bawah

Kini tiba masanya untuk meletakkan komponen asas kita di papan bawah. Mula-mula kita akan melakukan soket DIP 40 pin yang berada di dekat kiri atas yang boleh sambil meninggalkan satu baris ruang di sebelah kiri. (Lihat gambar # 1.) Soldernya dan kemudian letakkan tajuk. Cara termudah untuk melakukan ini adalah dengan menghubungkan yang di atas dengan yang akan berada di bahagian bawah menggunakan tajuk lelaki yang anda ubah suai. Sekiranya anda melakukan semua perkara dengan betul, anda harus berakhir dengan tiga pin teratas di tajuk kiri di sebelah pin kanan bawah pada soket. Ini ok. Kami hanya menggunakan pin paling bawah di sebelah kanan dan seperti yang anda lihat, kita mempunyai tembakan yang jelas dari arah lain. Sekarang tambahkan pengatur voltan seperti yang ditunjukkan dalam gambar. Saya menahan tambang melalui lubang di pendingin logam dengan skru dan mur. Heat sink adalah cara lain untuk membumikan cip dan memasang ke papan memberikan hubungan yang kukuh dengan sambungan biasa. Ini disambungkan ke bahagian bawah dan juga bahagian atas kerana kedua-duanya dihubungkan dengan pemadaman logam. Walau bagaimanapun, jika anda tidak menggunakan sambungan biasa untuk tanah JANGAN pasangkan pendingin ke papan kerana pendingin berfungsi sebagai tanah dan anda mungkin akan membuat litar pintas sesuatu. Kawat seterusnya dalam klip bateri. Merah menuju ke pin di sebelah kiri (Dengan heat sink ke atas dan pin ke bawah) hitam ke tengah dan pin kanan menghasilkan + 5v. Sekarang anda boleh memasang kuasa ke bahagian atas (lihat gambar # 2). Sekarang untuk penyambung programmer. Saya mempunyai penyesuai yang saya buat untuk programmer saya tetapi anda mungkin mahu memasukkan header 6 pin (3x2) ke dalam reka bentuk anda. Tetapi jika anda mempunyai penyesuai seperti saya, inilah yang saya buat. Saya mengambil header sudut kanan dan header wanita dan menyatukannya bersama (Gambar # 3). Kemudian saya memasangkannya ke papan dengan pin pertama disambungkan ke pin 6. Sekarang anda perlu menyalakan dan membumikan cip serta pendawaian di perintang untuk menarik set semula. Saya menjalankan perintang 10k dari pin 9 hingga pin 10 dan kemudian menyambungkan pin 10 hingga + 5v. Pin seterusnya (11) menuju ke sambungan biasa (Ground). Akhirnya lihat gambar # 4 untuk menyelesaikan langkah ini (Cukup jelas).

Langkah 6: Kawat Bahagian Bawah

Kawat Bahagian Bawah
Kawat Bahagian Bawah
Kawat Bahagian Bawah
Kawat Bahagian Bawah
Kawat Bahagian Bawah
Kawat Bahagian Bawah

Ingat bahawa langkah yang sangat menyeronokkan di mana anda harus menjalankan lebih daripada 30 wayar agar array LED berfungsi? Sekarang anda dapat melakukannya lagi! Di bahagian bawah !. Yang ini sedikit lebih pantas tetapi tidak banyak. Sekali lagi, lihat skema dan periksa semua sambungan anda dengan multimeter anda. Jangan bimbang, ini adalah projek pematerian besar terakhir dan anda hampir selesai.

Langkah 7: Sensor Flex dan Accelerometer

Sensor Flex dan Accelerometer
Sensor Flex dan Accelerometer
Sensor Flex dan Accelerometer
Sensor Flex dan Accelerometer
Sensor Flex dan Accelerometer
Sensor Flex dan Accelerometer

Kami akan mengatasi sensor fleksibel terlebih dahulu tetapi anda berada di rumah sejauh perkakasan berjalan. Saya berpendapat bahawa gambar-gambar di bawah ini menerangkan apa yang harus dilakukan. Sambungkan satu pin ke + 5v yang lain ke pin ketiga atau keempat dari bahagian atas di sebelah kanan AVR (Pengawal mikro di tengah-tengah projek ini). Semasa pertama kali saya menyusunnya, saya fikir itu yang perlu saya lakukan tetapi ternyata untuk AVR membaca sensor fleksibel, anda perlu meletakkan perintang dari pin pada sensor yang menuju ke AVR ke tanah (Lihat gambar # 10 dan 11). Saya menggunakan 10k. Ini membahagikan voltan ke AVR yang secara praktikal menggandakan kepekaan sensor. Sekarang untuk pecutan. Kerana accelerometer hanya rambut lebih tinggi daripada jarak di antara dua papan dan kerana kita mungkin ingin menggantinya suatu hari nanti saya memutuskan untuk menggunakan header untuk mengeluarkannya dari papan dan menyambungkannya. Gunakan pengepala sudut kanan untuk menyambung ke 6 pin pada papan pelarian. Sekarang ambil header sudut kanan yang lain dan pasangkan header wanita ke pin pendek kemudian pasangkan ini ke kiri bawah papan anda. Pasangkan accelerometer untuk memastikannya sesuai, cabut dan kemudian sambungkan pin yang betul ke Vcc (+ 5v) dan Gnd. Kemudian sambungkan pin yang mengeluarkan X ke pin 40 dan Y ke pin 39. Sekarang anda harus menetapkan untuk menambahkan IC (litar Bersepadu) dan menyalakannya.

26 Dis 2009: Saya mendapati bahawa cara saya memasang sensor lentur jari telunjuk menyebabkan bahan yang menghubungkan sensor dengan pin merosot. Sejak itu saya membeli sensor pengganti dan menempelkan kepingan plastik nipis panas ke sensor untuk mengelakkan kawasan ini menjadi bahagian yang paling banyak membengkokkan. Saya telah menandakan lokasi di foto di bawah.

Langkah 8: Menambah IC dan Program Pertama

Menambah IC dan Program Pertama
Menambah IC dan Program Pertama
Menambah IC dan Program Pertama
Menambah IC dan Program Pertama
Menambah IC dan Program Pertama
Menambah IC dan Program Pertama
Menambah IC dan Program Pertama
Menambah IC dan Program Pertama

Ini kemungkinan merupakan langkah termudah dari keseluruhan proses. Sekali lagi gambar membantu. Pastikan bahawa anda mempunyai kerepek dengan cara yang betul seperti yang dijelaskan dalam gambar # 3. Mula-mula saya sambungkan kuasa tanpa ada yang tersambung dan menyentuh pendingin pada pengatur voltan. Sekiranya panas maka ada yang kekurangan dan anda perlu kembali dan memeriksa sambungan anda. Teruskan dengan cara ini, tambahkan satu cip pada satu masa, rasa panas dan setelah semuanya berada di tempatnya, ketatkan kacang di papan bawah sehingga kedua papan diikat bersama dengan selamat. Seterusnya anda akan memprogram AVR. Sekiranya anda tidak pernah melakukan ini sebelumnya, carian google cepat menghasilkan banyak hasil. Sekiranya saya anda, saya akan meletakkan AVR saya di papan roti dan program di sana sebelum anda mencuba kerja keras anda. Saya menulis program sederhana untuk mengeluarkan maklumat yang diterima dari sensor flex ke array LED. Ini akan memberi anda idea asas mengenai apa yang sedang dan tidak berfungsi di litar anda. Berikut adalah video kod yang sedang beraksi …… dan inilah kodnya: #define F_CPU 800000UL # include #include #include void ADCINIT () { ADMUX = 0b01100000; ADCSRA = 0b10000000;} int utama () {int a; a = 0; int b; b = 0; DDRD = 0xFF; DDRB = 0xFF; DDRA = 0b11100000; ADCINIT (); sementara (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; sementara (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _delay_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; sementara (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _delay_ms (1); PORTB = 0x00; }}

Langkah 9: Memasang Lingkaran Anda ke Sarung Tangan

Memasang Lingkaran Anda ke Sarung Tangan
Memasang Lingkaran Anda ke Sarung Tangan
Memasang Lingkaran Anda ke Sarung Tangan
Memasang Lingkaran Anda ke Sarung Tangan
Memasang Lingkaran Anda ke Sarung Tangan
Memasang Lingkaran Anda ke Sarung Tangan

Saya fikir ada banyak cara untuk melampirkan litar anda ke tangan anda dan untuk sementara waktu fikir saya akan menyerahkannya kepada pembaca tetapi kemudian memutuskan bahawa arahan tidak akan lengkap tanpa penutupan ini. Saya pergi ke kedai basikal tempatan saya dan mendapat sarung tangan jari paling murah yang saya dapat. Jari penuh diperlukan kerana jika tidak, anda tidak boleh memasang sensor flex dengan baik. Saya kemudian pergi ke sebuah kedai kain dan mendapatkan beberapa benang poliester dan velcro pelekat. Saya meletakkan sarung tangan dan meletakkan litar di tangan saya. Bahagian kedudukan adalah selesa tetapi bahagian lain adalah sensor fleksibel. Mereka mesti berada di tengah-tengah dua jari. Saya menjahit gelung di sekitar tiga baki untuk memegang papan utama (Lihat gambar # 2) dan kemudian membuat gelung longgar 3/4 sepanjang setiap jari sensor lentur (# 3 dan 4). Pastikan sarung tangan anda tidak ditutup. Seterusnya saya melekatkan sekeping velcro ke sisi ibu jari saya untuk memegang bateri. Saya telah mendapati setelah menguji bahawa ia sangat berkesan untuk menjahitnya juga kerana tongkat itu tidak bertahan terlalu lama. Seterusnya saya meletakkan gelung velcro di sekitar 9v (Gambar 5). Persediaan ini nampaknya berfungsi dengan baik. Seperti yang anda lihat dalam gambar pada slaid pertama dan terakhir, saya sekarang telah menambah lengan untuk sensor fleksibel tetapi jika anda tidak mempunyai masa, gelung harus baik. Apabila anda selesai dengan projek anda, hantarkan gambar produk siap anda di bawah. Saya ingin melihat apa yang anda buat untuk memasang litar!

Langkah 10: Kod Sebenar

Kod Sebenar
Kod Sebenar

Terima kasih kerana menanggung saya setakat ini. Perlu diingat bahawa kod saya tidak sempurna. Saya mendapati bahawa memerlukan sedikit pembelajaran untuk mendapatkan isyarat berfungsi dengan betul. Saya akan terus berusaha menyempurnakan sistem saya dan akan terus mengemas kini halaman ini dengan kod baru setelah saya menulisnya. 26 Dis 2009: KOD BARU! Ia disiarkan di mana kod lama. Terima kasih banyak kepada Jacob atas penyederhanaannya. Ia berfungsi dengan baik. Ini dia. Terima kasih kerana membaca dan jangan lupa memilih! #include #include #include // Set atau Clear 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) #tentukan matriksRY (y) (PORTB = y) kelewatan tidak sah (penundaan int tidak ditandatangani) {int tidak ditandatangani x = 0; sementara (x <kelewatan) {x ++; }} batal initMatrix () {DDRD = 0xFF; // Kawalan hijau DDRB = 0xFF; // DDRA kawalan merah = 0xE0; // Ground control} void matrixRowDraw (char greenmask, char redmask, char column) {matrixX (lajur); int i = 0; untuk (i = 0; i <8; i ++) {matrixGY (greenmask & (1 << i)); matrixRY (redmask & (1 << i)); _delay_us (150); } matrixGY (0x00); matrixRY (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; sementara (bit_is_clear (ADCSRA, ADIF)); kembali ADCH; } char adcAvg (char chan, char avgnum) // Hanya rata-rata sehingga 256 sampel {int i = 0; jumlah int yang tidak ditandatangani = 0; untuk (i = 0; i <avgnum; i ++) {total + = adcGet (chan); } mengembalikan jumlah / avgnum; } int utama () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // Nilai hex di sini harus diubah bergantung pada persediaan pengguna untuk menentukan kepekaan sensor flex. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } jika (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} pulangkan 0; } Terima kasih khas kepada Chamberlains, ibu bapa dan rakan saya yang membantu.

Finalis dalam Peraduan Cuti Buatan Sendiri

Disyorkan: