Isi kandungan:
- Langkah 1: Bahan untuk Bermula
- Langkah 2: Menguji Komponen
- Langkah 3: Memateri Panel Petunjuk
- Langkah 4: Uji Panel Penunjuk
- Langkah 5: Mengintegrasikan Panel Penunjuk Dengan Pad Sentuh
- Langkah 6: Jadikannya Pintar
- Langkah 7: Lukisan dan Pemasangan
- Langkah 8: Ujian Jauh Dengan VNC dan Kod Akhir
- Langkah 9: Pengurusan Kabel dan Perhimpunan Akhir
- Langkah 10: Beberapa Gambar Petunjuk
Video: Petunjuk Basikal Minimalis, Diaktifkan Sentuhan !: 10 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Hai! Ini adalah Instructable pertama saya. Saya selalu mahu membuat sesuatu dari awal hanya untuk melihat bagaimana ia berfungsi dan siapa yang tidak suka barang DIY (Lakukan sendiri) apabila anda dapat mengubah sesuatu mengikut keperluan anda bukan? Sama menariknya dengan bunyi DIY, memerlukan sedikit usaha untuk mewujudkannya. Melihat melalui laman web Instructables adalah cara yang baik untuk memulakan aspirasi DIY anda dan itulah bagaimana saya mula membina beberapa projek saya lebih awal, tetapi saya tidak pernah menyangka akan menghasilkannya.
Sama seperti peluang yang ada, saya telah membuat Penunjuk Basikal dengan reka bentuk minimalis dan sentuhan. Saya tahu terdapat banyak instruksional atau sumber dalam talian untuk penunjuk basikal tetapi kebanyakannya menggunakan lebih banyak ruang atau tidak cukup pintar untuk mengubahnya dengan cara tertentu. Sekiranya anda mencari petunjuk yang cukup pintar untuk memenuhi keperluan anda dan memberi anda peluang untuk mengubahnya mengikut keperluan anda, maka Instructable ini sesuai untuk anda!
Mengapa Penunjuk basikal?
Saya suka berbasikal di sekitar bandar! Saya mengambil kitaran saya dan pergi menunggang sama ada pada waktu pagi atau petang. Kadang-kadang, pada waktu malam, sukar untuk ditunggangi, kerana lalu lintas di belakang anda tidak dapat memperhatikan anda dan itu adalah petanda berbahaya. Itulah sebabnya saya mahu membina Indikator sendiri dengan semua bahan yang saya ada di rumah dan juga Ia kelihatan hebat di basikal semasa anda menunggang di bandar menghidupkan penunjuk!
Membuat projek tanpa perlu menghadapi masalah, tidak akan berlaku! Tetapi saya akan memberitahu anda semua kesalahan yang saya buat, semasa membina ini, sebagai "Petua Berguna" supaya anda tidak mencuba melakukannya. Video YouTube mengandungi Ilustrasi bagaimana projek itu dibina, animasi kecil untuk menyampaikan bagaimana keadaan berfungsi, dan bagaimana penunjuk kelihatan di jalan! Sebilangan besar maklumat terperinci diberikan dalam Instructable ini. Semasa anda meneruskan, saya akan menandai segmen video youtube saya sebagai "Garis Masa:" pada setiap langkah untuk anda melihat bagaimana semuanya berfungsi secara praktikal. Anda boleh mendapatkan lebih banyak maklumat dengan mengklik pautan yang disorot yang disediakan.
Ciri-ciri projek ini:
- Petunjuk Belok Kanan
- Petunjuk Belok Kiri
- Petunjuk Penglihatan Malam
- Sentuh Diaktifkan
Langkah 1: Bahan untuk Bermula
- Perintang (330 ohm dan 120 ohm): 330 ohm dan 120 ohm
- Raspberry Pi 3: RPi 3
- Papan roti: Papan roti
- Kawat Jumper (Lelaki-Lelaki, Lelaki-Perempuan, Perempuan-Perempuan): Kawat Jumper
- Wayar Multi-Strand: Wayar Multi-Strand
- Sensor Sentuh Kapasitif (TTP223) - (2): Pautan
- LED RGB (Jenis Katod Biasa) - (13): Katod Biasa LED RGB
- LED biasa - (2): LED
- Bahan Pematerian: Kit Pematerian
- Papan Perf: Papan Perf
- Powerbank: Powerbank
- 1 mikro Farad Elektrolitik Kapasitor: Kapasitor Elektrolitik
- LDR (Perintang Bergantung Cahaya): LDR
- Ikatan Kabel: Ikatan Kabel
- Cable Concealer: Cable Concealer
- Cat dan Berus Akrilik (Pilihan): Cat dan Berus
- Dua kotak simpanan untuk Pemasangan. (1 bersaiz besar dan 1)
Sentiasa simpan kuantiti tambahan seperti yang disebutkan di atas. Saya telah menghubungkan komponen di Amazon dan beberapa kit beli terbaik untuk bahan pematerian!
Garis Masa: Kumpulkan Bahan
Langkah 2: Menguji Komponen
Mari uji komponen anda! Ini sangat berguna untuk memisahkan komponen yang rosak atau bertindak pelik kerana beberapa sebab dan juga fasa ini membolehkan anda mendapatkan pengalaman langsung dengan komponen dan melakukan sedikit pembelajaran sebelum membina keseluruhan projek.
Uji untuk jenis LED RGB
Terdapat dua jenis LED RGB yang kami dapati di pasaran. Jenis katod biasa dan jenis anod biasa.
Ini adalah tip berguna (walaupun lebih besar) kerana saya menyambungkan LED seperti yang dilihat dari video ini di sini dan LED tidak menyala seperti yang diharapkan walaupun setelah memeriksa litar litar beberapa kali. Kemudian saya menyedari bahawa terdapat dua jenis LED ini dan melalui lembaran data akhirnya saya mendapat penyelesaian! Masalah dengan litar saya ialah pin katod biasa disambungkan ke 3.3V seperti yang disebutkan dan saya simpan oleh pin GPIO ke HIGH sehingga kedua pin katod biasa dan 3 pin lain berpotensi sama.
Penyelesaian: Saya menyambungkan pin katod biasa ke tanah dan LED menyala! Sebabnya saya tidak menukar kod saya untuk mengekalkan pin GPIO RENDAH kerana kami akan menggunakan lebih banyak LED kemudian dan RPi memberi kami hanya dua pin pada 3.3 V yang kami perlukan untuk tujuan lain juga!
Bagaimana untuk menguji jenisnya?
Pastikan multimeter berada dalam mod kesinambungan. Ketuk plumbum terpanjang dengan hujung merah multimeter dan dengan hujung hitam, ketuk salah satu plumbum lain. Sekiranya LED menyala dengan melakukan langkah di atas, ia adalah LED Anode RGB Biasa Sekiranya tidak, terbalikkan hujung multimeter sekarang. Ketik plumbum terpanjang dengan hujung hitam dan hujung merah dengan petunjuk lain. Sekarang ia akan menyala menunjukkan bahawa LED adalah LED Common Cathode RGB.
Petua Berguna: Saya telah menggunakan Jenis Katod Biasa dalam projek ini. Cuba dapatkan jenis ini sahaja tetapi walaupun jenis lain tersedia jangan risau. Sambungan litar tetap sama, satu-satunya perbezaan yang harus dibuat dalam kod yang akan saya berikan sebagai komen di sebelah garis kod sebenar di mana anda harus menukar. Mengambil nafas.
Garis Masa: Uji RGB
Rujukan: Cara menguji RGB
Lampu LED RGB menyala
Untuk melakukan ini, periksa rajah sambungan yang diberikan dalam gambar di atas dan sambungkan mengikut pin melalui papan roti (untuk memastikannya selamat bermula).
MERAH: Pin 11 (perintang 330 ohm)
HIJAU: Pin 13 (perintang 120 ohm)
BIRU: Pin 15 (perintang 120 ohm)
Nilai perintang berbeza kerana voltan ke hadapan yang berbeza-beza.
Setelah anda menghubungkannya dengan betul, kodkan RPi dalam IDE python terbina dalam.
import RPi. GPIO sebagai GPIO
# Nombor pin sesuai dengan nombor yang tepat pada RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Sambungkan pin katod biasa ke Pin 6 def turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) # GPIO.output (pin, GPIO. LOW) untuk jenis anod biasa def turnOff (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. LOW) # GPIO.output (pin, GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) cuba: sementara True: cmd = input ("Taipkan arahan anda:") jika cmd == "merah menyala Perintah input #type seperti yang disebutkan tepat di dalam "" redOn () elif cmd == "red off": redOff () elif cmd == "green on": greenOn () elif cmd == "green off": greenOff () elif cmd == "blue on": blueOn () elif cmd == "blue off": blueOff () other: print ("Not a valid command") kecuali KeyboardInterrupt: GPIO.cleanup ()
Saya merujuk kepada Instructable ini, lihat ini untuk keterangan terperinci dan kodnya!
Dengan menggunakan kod yang sama di atas, anda boleh memeriksa banyak LED bersama-sama dengan menyambungkannya secara selari di papan roti dan mengeluarkan satu titik dari mana-mana pin yang disambungkan bersama. Gunakan nilai perintang yang berbeza untuk setiap pin untuk memeriksa kecerahan LED anda
Petua Berguna: Pastikan anda menyambungkan selari jenis pin yang sama. Maksudnya, pin merah satu LED menyambung ke pin merah LED lain sahaja.
Garis Masa: Buat mereka bersinar!
Ujian TouchPad
Sambungan litar seperti yang ditunjukkan di sini (Garis Masa). Sambungkannya seperti yang ditunjukkan dan uji panel sentuh anda menggunakan kod berikut.
Kod:
import RPi. GPIO sebagai GPIO
dari masa import impor pernyataan di atas bersama-sama sebagai # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) cuba: sementara True: if (GPIO.input (touchpad1) == True): print ("Touchpad 1 touch") sleep (2) elif (GPIO.input (touchpad2) == True): print ("Touchpad 2 touch") sleep (2) else: print ("Not Touched") kecuali KeyboardInterrupt: GPIO.cleanup () # CTRL-C untuk keluar
Menguji LED
Rujuk petunjuk hebat ini untuk menguji LED anda!
Setelah anda menguji semua komponen di atas, anda sudah bersedia untuk membina versi yang lebih besar daripadanya.
Langkah 3: Memateri Panel Petunjuk
Sekiranya anda baru menggunakan solder, baca tutorial ini untuk mengetahui beberapa asasnya di sini (Cara pematerian). Sekiranya anda seorang profesional dalam pematerian, mari kita mulakan!
Panel Petunjuk
Anda boleh mendapatkan Ilustrasi tentang cara menyoldernya di papan pucuk pada gambar di atas.
Kami menggunakan 13 RGB LED untuk panel. Pisahkan mereka menjadi tiga bahagian: kiri, kanan, dan tengah untuk memateri dengan sewajarnya.
Penting: Jarak LED
Saya telah meninggalkan 3 baris antara LED. Seperti yang ditunjukkan dalam gambar kedua. Ini penting bagi panel LED untuk kelihatan dan berasa selesa. Kami tidak mahu LED terlalu jauh untuk menambah ruang atau terlalu dekat untuk tidak dapat membezakan cahaya dari jauh.
Petua Berguna: Mulakan dengan memateri semua Pin Katod Umum terlebih dahulu
Petua Berguna: Gunakan Kabel Multi-Helai untuk menyambungkan LED bersama kerana mereka kurang kukuh dan mudah dibengkokkan. Anda boleh menggunakan pin pemotong tambahan dari LED untuk menghubungkan jarak yang lebih pendek
Bahagian Kanan: (5 LED)
- Sambungkan semua Pin Merah bersama-sama
- Sambungkan semua Pin Hijau bersama-sama
- Sambungkan semua Pin Katod Biasa
Bahagian Kiri: (5 LED)
- Sambungkan semua Pin Merah bersama-sama
- Sambungkan semua Pin Hijau bersama-sama
- Sambungkan semua Pin Katod Biasa
Bahagian Pusat: (3 LED)
Petua Berguna: Bahagian ini memerlukan perhatian yang cukup. Jangan pasangkan semua pin sama seperti yang kami lakukan di dua bahagian di atas!
- Sambungkan semua Pin Merah bersama-sama
- Sambungkan hanya LED atas dan bawah, Pin Hijau.
- Sambungkan semua Pin Katod Umum bersama-sama
Wayar
Kami memerlukan wayar lebih lama untuk menyambungkan panel ke papan GPIO.
Petua Berguna:
- Gunakan wayar helai tunggal! Mereka cukup kuat untuk menahan tekanan mekanikal yang dikenakan padanya!
- Jaga wayar sedikit lebih lama daripada panjang sebenar yang diperlukan antara panel dan RPi (ini sangat berguna semasa menguruskan wayar kemudian! (Garis Masa: Pengukuran)
- Penebat selepas pematerian! Sangat penting
Gunakan wayar pelompat dan wayar untai tunggal untuk menyolder. Bahagian hujung wayar pelompat mestilah penyambung wanita. Pecahkannya seperti yang ditunjukkan di sini (Garis Masa)
Warnakan kod wayar sebagai Merah, Hijau, dan Hitam. yang sesuai dengan pin Merah, pin Hijau, dan pin katod Biasa.
Kami memerlukan 3 wayar hitam, 3 wayar merah, dan 3 wayar hijau.
Setelah wayar siap. Pateri wayar ke LED penunjuk.
Petua Berguna:
- Pastikan LED disolder mengikut sambungan yang diberikan.
- Pastikan anda telah meletakkan nilai perintang yang betul di tempatnya. Sekiranya nilai diubah, ia akan mempengaruhi kecerahan LED
- Salah satu cara untuk memastikan semua LED anda berfungsi adalah dengan menggunakan meter multimeter yang diberikan pada Langkah 2. Ini sangat berguna kerana anda akan tahu jika ada litar pintas LED tidak akan menyala.
- Jangan menanggalkan hujung wayar lebih lama daripada yang diperlukan. Ini akan sukar untuk mengekalkannya dan juga risiko litar pintas yang lebih tinggi.
- Gunakan wayar pelbagai helai untuk sambungan antara LED.
- Gunakan wayar sehelai untuk menghubungkan bahagian ke RPi.
Langkah 4: Uji Panel Penunjuk
Kudos! Sekiranya anda telah menyolder panel dengan betul. Mari meneruskan pengkodan Indikator sekarang!
Seperti yang telah disebutkan sebelumnya, kami akan menunjukkan belok kanan, belok kiri, dan menghidupkan / mematikan pemandangan malam.
Rujuk sambungan litar pada Langkah 3.
Sambungkan wayar panel seperti yang disebutkan di bawah:
- Merah Kanan - Pin 7
- Hijau Kanan - Pin 11
- Katod Biasa Kanan - Pin 6 (GND)
- Merah kiri - Pin 13
- Hijau kiri - Pin 15
- Katod Biasa Kiri - Pin 9 (GND)
- Pusat Merah - Pin 16
- Tengah Hijau (atas dan bawah) - Pin 18
- Katod Umum Pusat - Pin 14 (GND)
Kod Ujian:
import RPi. GPIO sebagai GPIO
dari masa tidur impor #Sambungkan mengikut nombor pin di bawah Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 GPIO.setmode (GPIO. BOARD) def right_turn (): print ("Turning Right") berkedip (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") berkedip (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) untuk julat x (10): GPIO.output ([pin1, pin2], GPIO. HIGH) tidur (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) tidur (0.5) yang lain: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) untuk x dalam jarak (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) tidur (0.5) GPIO.output ([pin1, pin2, pin3], GPIO. LOW) tidur (0.5) def night_sight (): print ("Night Sight ON") sekelip (Red_left, Red_right, Red_center) cuba: sementara True: cmd = input (" Uji LED untuk: ") jika cmd ==" belok kanan ": kanan_turn () elif cmd ==" belok kiri ": kiri_turn () elif cmd ==" penglihatan malam ": night_sight () lain: cetak (" Perintah Tidak Sah ") kecuali Ke yboardInterrupt: GPIO.cleanup ()
Sekiranya panel anda membersihkan semua fasa ujian seperti dalam kod, Baiklah! Bersedia untuk langkah seterusnya
Sekiranya panel tidak menyala, pastikan anda telah mengikuti semua langkah dengan betul dan lihat petua yang berguna sebelumnya. Sekiranya masalah masih berlaku, anda boleh memberi komen di bawah, saya akan sedia membantu.
Garis Masa: Uji SATU (Periksa video untuk prototaip yang berfungsi)
Langkah 5: Mengintegrasikan Panel Penunjuk Dengan Pad Sentuh
Menyambungkannya ke RPi
Lakukan sambungan seperti dalam gambar di atas.
Panel Kanan
Pad sentuh:
- Pin GND - Pin 34
- Pin VCC - Pin 1
- Pin SIG - Pin 29
LED:
Pin Anode (+) - Pin 33
Panel Kiri
Pad sentuh:
- Pin GND - Pin 30
- Pin VCC - Pin 17
- Pin SIG - Pin 31
LED:
Pin Anode (+) - Pin 35
Biasa GND: Pin 39 (Untuk kedua katod LED) - Pematerian Tanah Biasa (Garis Masa)
Kod Ujian:
import RPi. GPIO sebagai GPIO
dari masa tidur import Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 triggered = 0 GPIO.setmode (GPIO. BOARD) GPIO.setup ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (saluran): GPIO.output (right_led, GPIO. HIGH) global dicetuskan terpicu = 1 cetakan ("Putar Kanan") berkedip (Green_right, Green_top_bottom) def left_turn (saluran): GPIO.output (left_led, GPIO. HIGH) global dipicu terpicu = 1 cetakan ("Putar Kelip ") berkelip (Green_left, Green_top_bottom) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = left_turn), bounc pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) untuk julat x (10): GPIO.output ([pin1, pin2], GPIO. HIGH) tidur (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) tidur (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) global dicetuskan = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) global dicetuskan jika (dipicu == 0): cetak ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) tidur (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) sleep (0.27) other: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) cuba: night_sight () kecuali KeyboardInterrupt: GPIO.cleanup ()
Sentuh pad sentuh untuk melihat cahaya anda bersinar
Garis Masa (tanpa LED Petunjuk): Uji Dua
Garis Masa (dengan LED Petunjuk): Ujian 3
Penjelasan kod: Kami mahu penglihatan malam terus berjalan dan ketika kita menyentuh pad sentuh, ia mesti berhenti dan melaksanakan fungsi pad sentuh. Untuk melakukan ini secara serentak kita menggunakan sesuatu yang dikenali sebagai "Interrupts" di python. Ini membolehkan kita menjalankan kod biasa kita yang merupakan pemandangan malam di sini dan juga mencetuskan peristiwa ketika sentuhan dikesan. Kami menggunakan pemboleh ubah yang dipicu sebagai bendera untuk menghentikan pemandangan malam.
Untuk maklumat lebih lanjut mengenai Gangguan, periksa pautan ini.
Pateri Panel
Sekarang mari kita pasangkan panel pad sentuh yang akan menuju ke hendal basikal. Rujuk sambungan seperti yang diberikan dalam gambar di atas.
Sekarang setelah anda menguji LED dan pad sentuh, anda sudah bersedia. Sekiranya anda belum menguji, sila lihat Langkah ini dan Langkah sebelumnya.
Letakkan pad sentuh dekat dengan hendal seperti yang ditunjukkan dalam video. Iaitu, untuk pad sentuhan kanan pad sentuh berada di sebelah kanan dan kiri ke kiri. Begitu juga, untuk pad sentuh kiri, led berada di sebelah kanan dan pad sentuh di sebelah kiri yang memudahkan ibu jari mencapai.
PS: Saya belum memasangkan panel sentuh ke papan perf kerana saya menggunakannya semula. Oleh itu saya hanya meletakkannya di panel dengan pita dua sisi.
Sambungkan panel ke RPi menggunakan wayar yang lebih lama
Langkah 6: Jadikannya Pintar
Ya! Sekarang kita mempunyai semua keperluan penting Indikator dan berjalan. Mari kita melangkah lebih jauh untuk menjadikannya pintar.
Di sini pintar mentakrifkan penjimatan bateri juga. Seperti yang anda perhatikan, pemandangan malam selalu dihidupkan dan kadang-kadang ini mungkin tidak diperlukan pada hari yang cerah. Untuk mengatasi masalah ini mari kita mengintegrasikan LDR (Light Dependent Resistor) untuk memberi kita data intensiti cahaya yang dapat kita kumpulkan dan memproses penunjuk kita dengan sewajarnya.
Menguji LDR
Saya merujuk laman web ini untuk menguji LDR untuk memeriksa intensiti cahaya dan nilai apa yang dikembalikan.
Rujuk laman web yang ditandakan di atas untuk litar dan contoh kod untuk kerja LDR.
Mengintegrasikan LDR ke kod kami
Pateri LDR ke panel kanan pad sentuh seperti yang ditunjukkan dalam rajah sambungan di atas.
Setelah memateri pin di tempat yang betul masanya untuk pengekodan terakhir. Kod terakhir!
- Sambungkan titik umum katod (-) kapasitor dan LDR ke Pin 36 pada RPi
- Anoda kapasitor disambungkan ke titik Common Ground yang disebut dalam Langkah 5
Kod Akhir:
import RPi. GPIO sebagai GPIO
dari waktu tidur import Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 ldr = 36 triggered = 0 GPIO.setmode (GPIO. BOARD) GPIO. persediaan ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (saluran): GPIO.output (right_led, GPIO. HIGH) global dicetuskan terpicu = 1 cetakan ("Memusing Kanan") berkedip (Green_right, Green_top_bottom) def left_turn (saluran): GPIO.output (left_led, GPIO. HIGH) global dipicu terpicu = 1 cetakan ("Belok Kiri") berkedip (Green_left, Green_top_bottom) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, callback = left_turn (ldr): hitung = 0 #Keluaran pada pin untuk GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) tidur (0.1) #Chang e pin kembali ke input GPIO.setup (ldr, GPIO. IN) #Kira sehingga pin naik tinggi semasa (GPIO.input (ldr) == GPIO. LOW): hitung + = 1 kiraan pulangan def berkedip (pin1, pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) untuk x dalam jarak (10): GPIO.output ([pin1, pin2], GPIO. HIGH) tidur (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) tidur (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) global dicetuskan = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) global dipicu jika (light_sensing (ldr)> 7800): if (triggered == 0): print ("Night Sight ON") GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) tidur (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) sleep (0.27) other: print ("Night Sight OFF") GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) cuba: night_sight () kecuali KeyboardInterrupt: GPIO.cleanup ()
Voila! Dan penunjuk siap digulung.
Petua Berguna: Sebelum memasang RPi dan komponen lain ke kitaran, pastikan anda menguji program ini dengan betul! Jalankan beberapa kali untuk men-debug sebarang kesalahan.
Langkah 7: Lukisan dan Pemasangan
Bahan yang Diperlukan:
- Alat Pemotong / Pelucutan Kawat
- Satu kotak simpanan besar untuk dimuatkan dalam Raspberry Pi
- Satu kotak simpanan kecil yang sesuai dengan panel penunjuk
- Cat
- Berus cat
Mulakan dengan mengecat panel Indikator dan panel pad sentuh dengan warna hitam. Saya menggunakan Cat Akrilik di sini anda boleh menggunakannya mengikut pilihan anda yang sesuai dengan papan perf. Gunakan latar belakang hitam untuk menjadikan panel LED bertenaga dan lebih menonjol. Buat lubang menggunakan pemutar skru yang dipanaskan atau gunakan objek logam apa pun untuk mencairkan plastik.
Catatan: Harap berhati-hati semasa membuat lubang.
Garis Masa: Cat
Petua Berguna: Saya menggunakan kotak plastik dan catnya mudah keluar. Pastikan anda menggunakan cat berkualiti baik
Setelah Petunjuk dan panel dicat keringkan mereka di bawah sinar matahari dan bersiap untuk dipasang.
Saya telah memotong tepi papan tambahan di Panel Petunjuk dan panel depan untuk menjimatkan ruang.
Lihat video untuk pemasangan!
Garis Masa: Avengers! Berkumpul. (Memasang panel penunjuk dan RPi dengan kotak)
Seperti yang dilihat dalam video, pasangkan wayar dengan membuat tiga lubang di kotak yang lebih besar. Satu untuk wayar bank kuasa RPi, satu untuk panel pad sentuh, dan satu lagi untuk panel Petunjuk. Hanya satu lubang yang diperlukan untuk kotak yang lebih kecil.
Petua Berguna: Periksa penebat wayar dan periksa apakah wayar disolder dengan betul sebelum menyambungkannya ke dalam kotak.
Langkah 8: Ujian Jauh Dengan VNC dan Kod Akhir
Satu ujian terakhir sebelum indikator siap sepenuhnya. Sambungkan RPi anda ke VNC Viewer dan jalankan program.
Saya selalu menggunakan pelayan VNC untuk menjalankan program dan menyahpepijat sebarang kesalahan dalam program ini. Dengan cara ini saya dapat meletakkan RPi terus ke tempat di mana saya ingin menguji tanpa menyambungkan monitor secara luaran.
Periksa halaman ini untuk menyambungkan RPi anda ke Pelayan VNC. (Pelayan VNC)
Setelah anda menyambungkan RPi ke Pelayan VNC. Anda boleh menjalankan kod di desktop maya dan men-debug kesalahan.
Garis Masa: Jalankan pada Permulaan
Petua Berguna: Setelah anda menyambungkan Raspberry Pi anda ke desktop maya, anda akan log masuk dengan Alamat IP RPi. Tetapi jika anda mendapat ralat yang menyatakan bahawa RPi menolak sambungannya, ini adalah kerana perubahan Alamat IP di RPI. Ini boleh berlaku semasa anda memulakan semula penghala atau hotspot WiFi dan kemudian cuba log masuk dengan alamat lama. Penghala memberikan IP baru setiap kali anda memulakannya semula. Tetapi jika anda mengingati Alamat IP lama RPi, tambahkan digit terakhir dengan 1 dan log masuk. Contoh: Sekiranya alamat IP lama adalah 190.148.1.100 maka log masuk menggunakan 190.148.1.101
Setelah anda memeriksa sama ada semuanya berfungsi dengan betul sudah tiba masanya untuk perhimpunan terakhir.
Selalu kita tidak boleh mempunyai desktop maya untuk memantau atau menjalankan skrip python. Oleh itu, marilah kita melakukannya pada permulaan.
Kami mahu program kami berjalan sebaik sahaja RPi dijalankan. Lihat laman web ini untuk maklumat lebih lanjut mengenai perkara ini!
Sekiranya RPi anda dalam persediaan Log masuk automatik, teruskan;
Jalankan arahan berikut di terminal RPi
sudo nano / etc / profile
Tatal ke bawah dan tambahkan baris berikut:
sudo python file_path &
File_path di sini merujuk kepada jalan fail python di mana kod akhir anda disimpan.
Catatan: Ampersand (&) di akhir fail harus ditambahkan supaya program anda berjalan selari dengan sistem boot. Oleh kerana program kami mengandungi gelung yang tidak berkesudahan, langkah ini adalah wajib sehingga walaupun program tidak berjalan seperti yang diharapkan, kami masih dapat menggunakan desktop RPi untuk mengubah pengaturannya.
Selepas ini tekan CTRL-X dan kemudian YPress Enter dua kali dan anda akan kembali ke terminal arahan.
Reboot Pi
Sekarang kod harus dijalankan pada permulaan
Langkah 9: Pengurusan Kabel dan Perhimpunan Akhir
Tahniah! semasa menyelesaikan projek ini. Saya memberikannya kata Minimal kerana anda telah melihat kami menggunakan lebih sedikit LED untuk menunjukkan semua petunjuk yang diperlukan dan juga dengan warna yang disesuaikan. Jangan ragu untuk menggunakan warna yang berbeza untuk LED anda seperti kuning untuk penunjuk putaran atau yang lain.
Sekiranya anda telah menyelesaikan projek ini, klik "Saya membuatnya" dan kongsi pengalaman anda. Sampaikan pendapat anda dan juga cadangan atau komen mengenai projek ini. Saya suka mendengarnya!
Pengurusan Kabel
Ya! Seperti yang anda perhatikan terdapat banyak wayar yang masuk dan mengelilingi kitaran dan menguruskannya sibuk. Saya menggunakan label kabel, pita penebat, dan selubung kabel untuk menyembunyikan wayar dan juga melukisnya hitam kerana anda telah melihat gambarnya.
Petua Berguna: Kerana anda membiarkan kabel tambahan dari kabel anda diperlukan, sekarang berguna untuk menguruskannya dengan betul tanpa menekannya! Sekiranya salah satu LED anda menyala dan yang lain tidak menyala walaupun anda telah melakukan semuanya dengan betul, masalahnya adalah Wayar Jumper yang disambungkan ke RPi, akan ada hubungan yang longgar. Sekiranya ini berterusan, gunakan wayar pelompat lelaki ke wanita untuk memanjangkan wayar dan menyambungkannya. Gunakan ikatan kabel untuk mengekalkan wayar agar tidak bergerak.
Kini Petunjuk sudah siap untuk Menunggang! Nikmatinya
PS: Sebagai petunjuk selanjutnya, saya sangat suka mengurangkan bilangan wayar di litar dan membuat rancangan yang lebih baik. Sekiranya saya melakukannya, saya akan berkongsi Instructable mengenai perkara itu!
Langkah 10: Beberapa Gambar Petunjuk
Terima kasih kerana membaca Arahan ini. Saya harap anda menikmatinya sama seperti saya membuatnya
Garis Masa: Ujian AkhirDalam segmen di atas, anda dapat melihat bahawa sebaik sahaja ruangan semakin gelap, "Night Sight" akan AKTIF dan apabila ia semakin terang, ia akan segera dimatikan!
Garis Masa: Sedia untuk RollSome beberapa video yang telah saya ambil untuk menunjukkan indikator di pusat perhatian. Semua penghargaan untuk berbasikal saudari saya untuk video itu!
Disyorkan:
Lancarkan Tayangan Tayangan Gambar Percutian Anda Dengan Sentuhan Sihir!: 9 Langkah (dengan Gambar)
Lancarkan Tayangan Tayangan Gambar Percutian Anda Dengan Sentuhan Sihir!: Selama bertahun-tahun, saya telah membiasakan diri untuk mengambil patung kecil dengan saya semasa dalam perjalanan: Saya sering membeli artoy kosong (seperti gambar dalam gambar) dan cat ia sesuai dengan bendera dan tema negara yang saya lawati (dalam kes ini, Sisilia). T
Petunjuk Arah Mikro: bit untuk Helmet Basikal: 5 Langkah
Petunjuk Arah Mikro: bit untuk Helmet Basikal: Versi Dikemas kini 2018-Mei-12Berikut anda arahan bagaimana membina penunjuk arah mikro sederhana: bit untuk helmet basikal (atau yang serupa). Ia menggunakan percepatan yang dibina dalam mikro: bit sebagai kawalan. Skrip python mikro yang disediakan adalah
Jalur LED Diaktifkan Dengan Sensor Gerak Dengan Pemasa: 6 Langkah (dengan Gambar)
Jalur LED Diaktifkan Motion Sensor Dengan Pemasa: Hai semua! Saya sangat gembira dapat menulis arahan lain sekarang. Projek ini berlaku ketika saya dihubungi oleh rakan-rakan instruksional-er (?!) (David @dducic) beberapa bulan yang lalu untuk meminta bantuan reka bentuk. Jadi, inilah spesifikasi asal: & q
Kepala Tempat Tidur Lampu Latar LED - Sentuhan Diaktifkan: 3 Langkah
Head Bed Backlit LED - Sentuhan Diaktifkan: Lampu Jalur LED dengan penutup pasang sensitif sentuhan. Untuk mengaktifkan LED, saya menyentuh penutup tembaga di tiang katil. Terdapat tiga intensiti tahap cahaya, rendah, sederhana dan terang yang diaktifkan mengikut urutan sebelum sentuhan keempat bertukar
Sistem Penjejakan Basikal Dengan Makluman Orang Mati Dengan Sigfox: 7 Langkah (dengan Gambar)
Sistem Penjejakan Basikal Dengan Makluman Orang Mati Dengan Sigfox: Sistem keselamatan untuk penunggang basikal dengan ciri penjejakan dan penghantaran amaran. Sekiranya berlaku kemalangan, penggera dihantar dengan kedudukan GPS. Keselamatan untuk penunggang basikal adalah suatu keharusan, dengan basikal jalan raya atau basikal gunung kemalangan berlaku dan secepat mungkin kecemasan per