Isi kandungan:

Petunjuk Basikal Minimalis, Diaktifkan Sentuhan !: 10 Langkah (dengan Gambar)
Petunjuk Basikal Minimalis, Diaktifkan Sentuhan !: 10 Langkah (dengan Gambar)

Video: Petunjuk Basikal Minimalis, Diaktifkan Sentuhan !: 10 Langkah (dengan Gambar)

Video: Petunjuk Basikal Minimalis, Diaktifkan Sentuhan !: 10 Langkah (dengan Gambar)
Video: 30 Ciptaan Kenderaan Hebat yang anda akan inginkan | Reka Bentuk Kenderaan 2024, November
Anonim
Image
Image

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

Komponen Ujian
Komponen Ujian
  • 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

Komponen Ujian
Komponen Ujian
Komponen Ujian
Komponen Ujian
Komponen Ujian
Komponen Ujian

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

Memateri Panel Petunjuk
Memateri Panel Petunjuk
Memateri Panel Petunjuk
Memateri Panel Petunjuk
Memateri Panel Petunjuk
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

Uji Panel Penunjuk
Uji Panel Penunjuk
Uji Panel Penunjuk
Uji Panel Penunjuk
Pasang Panel Penunjuk untuk Uji
Pasang Panel Penunjuk untuk Uji

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

Mengintegrasikan Panel Penunjuk Dengan Pad Sentuh
Mengintegrasikan Panel Penunjuk Dengan Pad Sentuh
Mengintegrasikan Panel Penunjuk Dengan Pad Sentuh
Mengintegrasikan Panel Penunjuk Dengan Pad Sentuh
Mengintegrasikan Panel Penunjuk Dengan Pad Sentuh
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

Jadikannya Pintar!
Jadikannya Pintar!
Jadikannya Pintar!
Jadikannya Pintar!
Jadikannya Pintar!
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

Lukisan dan Pemasangan
Lukisan dan Pemasangan
Lukisan dan Pemasangan
Lukisan dan Pemasangan
Lukisan dan Pemasangan
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

Ujian Jauh Dengan VNC dan Kod Akhir
Ujian Jauh Dengan VNC dan Kod Akhir
Ujian Jauh Dengan VNC dan Kod Akhir
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

Pengurusan Kabel dan Perhimpunan Akhir
Pengurusan Kabel dan Perhimpunan Akhir
Pengurusan Kabel dan Perhimpunan Akhir
Pengurusan Kabel dan Perhimpunan Akhir
Pengurusan Kabel dan Perhimpunan Akhir
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

Beberapa Gambar Petunjuk
Beberapa Gambar Petunjuk
Beberapa Gambar Petunjuk
Beberapa Gambar Petunjuk
Beberapa Gambar Petunjuk
Beberapa Gambar Petunjuk
Beberapa Gambar Petunjuk
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: