Daftar Isi:

Indikator Sepeda Minimalis, Touch-Enabled!: 10 Langkah (dengan Gambar)
Indikator Sepeda Minimalis, Touch-Enabled!: 10 Langkah (dengan Gambar)

Video: Indikator Sepeda Minimalis, Touch-Enabled!: 10 Langkah (dengan Gambar)

Video: Indikator Sepeda Minimalis, Touch-Enabled!: 10 Langkah (dengan Gambar)
Video: Berjuang Untuk Rakyat? Ahhh Yang Bener? 2024, November
Anonim
Image
Image

Hai, yang di sana! Ini adalah Instruksi pertama saya. Saya selalu ingin membuat sesuatu dari awal hanya untuk melihat cara kerjanya dan siapa yang tidak suka hal-hal DIY (Lakukan sendiri) ketika Anda dapat memodifikasi sesuatu sesuai dengan kebutuhan Anda bukan? Meskipun DIY terdengar menarik, dibutuhkan sedikit usaha untuk mewujudkannya. Melihat melalui situs web Instructables adalah cara yang bagus untuk memulai aspirasi DIY Anda dan begitulah cara saya mulai membangun beberapa proyek saya sebelumnya, tetapi saya tidak pernah berpikir saya akan membuatnya.

Saat kesempatan datang, saya telah membuat Indikator Sepeda dengan desain minimalis dan dapat disentuh. Saya tahu ada banyak Instructables atau sumber online untuk indikator sepeda tetapi kebanyakan dari mereka membutuhkan lebih banyak ruang atau tidak cukup pintar untuk memodifikasinya dengan cara tertentu. Jika Anda mencari indikator yang cukup pintar untuk memenuhi kebutuhan Anda dan memberi Anda kesempatan untuk memodifikasinya sesuai kebutuhan Anda, maka Instruksi ini cocok untuk Anda!

Mengapa Indikator sepeda?

Saya suka bersepeda keliling kota! Saya mengambil sepeda saya dan hanya pergi untuk naik baik di pagi hari atau malam hari. Terkadang, di malam hari, sulit untuk berkendara, karena lalu lintas di belakang Anda tidak akan dapat melihat Anda dan itu adalah tanda yang berbahaya. Itulah mengapa saya ingin membuat sendiri Indikator dengan semua bahan yang saya miliki di rumah dan juga Terlihat bagus di sepeda saat Anda berkendara di kota dengan menyalakan indikator!

Membuat proyek tanpa harus menghadapi masalah, tidak akan terjadi! Tapi saya akan memberitahu Anda semua kesalahan yang saya buat, saat membangun ini, sebagai "Kiat Praktis" sehingga Anda tidak mencoba membuatnya. Video YouTube berisi Ilustrasi tentang bagaimana proyek dibangun, animasi kecil untuk menyampaikan bagaimana segala sesuatunya bekerja, dan bagaimana indikator terlihat di jalan! Informasi yang paling rumit diberikan dalam Instruksi ini. Saat Anda melanjutkan, saya akan menandai segmen video youtube saya sebagai "Garis Waktu: " di setiap langkah agar Anda dapat melihat cara kerja berbagai hal secara praktis. Anda dapat memperoleh informasi lebih lanjut dengan mengklik tautan yang disorot yang disediakan.

Fitur proyek ini:

  • Indikasi Belok Kanan
  • Indikasi Belok Kiri
  • Indikasi Pemandangan Malam
  • Sentuh-Diaktifkan

Langkah 1: Bahan untuk Memulai

Komponen Pengujian
Komponen Pengujian
  • Resistor (330 ohm dan 120 ohm): 330 ohm dan 120 ohm
  • Raspberry Pi 3: RPi 3
  • Papan tempat memotong roti: Papan tempat memotong roti
  • Kabel Jumper (Pria-Pria, Pria-Wanita, Wanita-Wanita): Kabel Jumper
  • Kabel Multi-Untai: Kawat Multi-untai
  • Sensor Sentuh Kapasitif (TTP223) - (2): Tautan
  • LED RGB (Jenis Katoda Umum) - (13): Katoda Umum LED RGB
  • LED Normal - (2): LED
  • Bahan Solder: Solder Kit
  • Papan Kinerja: Papan Kinerja
  • Powerbank: Powerbank
  • 1 mikro Farad Kapasitor Elektrolit: Kapasitor Elektrolit
  • LDR (Resistor Tergantung Cahaya): LDR
  • Ikatan Kabel: Ikatan Kabel
  • Concealer Kabel: Concealer Kabel
  • Cat dan Kuas Akrilik (Opsional): Cat dan Kuas
  • Dua kotak penyimpanan untuk Perakitan. (1 Besar dan 1 sedang)

Selalu menjaga kuantitas ekstra untuk apa yang disebutkan di atas. Saya telah menautkan komponen di Amazon dan beberapa kit pembelian terbaik untuk bahan penyolderan!

Garis Waktu: Kumpulkan Bahan

Langkah 2: Menguji Komponen

Komponen Pengujian
Komponen Pengujian
Komponen Pengujian
Komponen Pengujian
Komponen Pengujian
Komponen Pengujian

Mari kita menguji komponen Anda! Ini sangat membantu untuk memisahkan komponen yang rusak atau bertingkah aneh untuk beberapa alasan dan juga fase ini memungkinkan Anda mendapatkan pengalaman awal dengan komponen dan melakukan sedikit pembelajaran sebelum membangun keseluruhan proyek.

Tes untuk jenis LED RGB

Ada dua jenis LED RGB yang kami temukan di pasaran. Jenis katoda umum dan jenis anoda umum.

Ini adalah tip praktis (meskipun lebih besar) karena saya menghubungkan LED seperti yang terlihat dari video ini di sini dan LED tidak menyala seperti yang diharapkan bahkan setelah memeriksa silang sirkuit beberapa kali. Kemudian saya menyadari bahwa ada dua jenis LED ini dan melalui datasheet saya akhirnya mendapatkan solusinya! Masalah dengan sirkuit saya adalah pin katoda umum terhubung ke 3.3V seperti yang disebutkan dan saya telah menyimpan pin GPIO ke TINGGI sehingga baik pin katoda umum dan 3 pin lainnya memiliki potensi yang sama.

Solusi: Saya menghubungkan pin katoda umum ke ground dan LED menyala! Alasan saya tidak mengubah kode saya untuk menjaga pin GPIO RENDAH karena kami akan menggunakan lebih banyak LED nanti dan RPi memberi kami hanya dua pin pada 3,3 V yang kami butuhkan untuk tujuan lain juga!

Bagaimana cara menguji tipenya?

Pertahankan multimeter dalam mode kontinuitas. Ketuk kabel terpanjang dengan ujung merah multimeter dan dengan ujung hitam, ketuk salah satu kabel lainnya. Jika LED menyala dengan melakukan langkah di atas, itu adalah LED RGB Anoda Umum. Jika tidak, balikkan ujung multimeter sekarang. Ketuk lead terpanjang dengan ujung hitam dan ujung merah dengan lead lainnya. Sekarang akan menyala menunjukkan bahwa LED adalah LED RGB Common Cathode.

Tip Praktis: Saya telah menggunakan Jenis Katoda Umum dalam proyek ini. Cobalah untuk mendapatkan tipe ini saja tetapi bahkan jika tipe lain tersedia jangan khawatir. Koneksi sirkuit tetap sama, satu-satunya perbedaan harus dibuat dalam kode yang akan saya berikan sebagai komentar di sebelah baris kode aktual di mana Anda harus mengubahnya. Mengambil napas.

Garis waktu: Uji RGB

Referensi: Cara menguji RGB

LED RGB menyala

Untuk melakukan ini, lihat diagram koneksi yang diberikan pada gambar di atas dan sambungkan sesuai pin melalui papan tempat memotong roti (agar tetap aman untuk memulai).

MERAH: Pin 11 (resistor 330-ohm)

HIJAU: Pin 13 (resistor 120-ohm)

BIRU: Pin 15 (resistor 120 ohm)

Nilai resistor bervariasi karena berbagai tegangan maju dari lead.

Setelah Anda menghubungkannya dengan benar, kodekan RPi di IDE python bawaannya.

impor RPi. GPIO sebagai GPIO

#Nomor pin sesuai dengan angka pasti pada RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Hubungkan Common cathode pin 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 anoda umum def turnOff(pin): GPIO.setmode(GPIO. BOARD) GPIO.setup(pin, GPIO. KELUAR) 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) try: while True: cmd = input("Ketik perintah Anda: ") if cmd == "red on ": #ketik perintah input seperti yang disebutkan persis 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() else: print("Bukan perintah yang valid") kecuali KeyboardInterrupt: GPIO.cleanup()

Saya merujuk ke Instructable ini, periksa ini untuk deskripsi terperinci dan kodenya!

Dengan menggunakan kode yang sama di atas, Anda dapat memeriksa beberapa LED secara bersamaan dengan menghubungkannya secara paralel pada papan tempat memotong roti dan mengambil satu titik dari salah satu pin yang terhubung bersama. Gunakan nilai resistor yang berbeda untuk setiap pin untuk memeriksa kecerahan LED Anda

Tip Praktis: Pastikan Anda menghubungkan paralel tipe pin yang sama. Artinya, pin merah dari satu LED hanya terhubung ke pin merah dari LED lainnya.

Garis Waktu: Buat mereka bersinar!

Pengujian Panel Sentuh

Koneksi sirkuit seperti yang ditunjukkan di sini (Garis Waktu). Hubungkan mereka seperti yang ditunjukkan dan uji touchpad Anda menggunakan kode berikut.

Kode:

impor RPi. GPIO sebagai GPIO

dari waktu import sleep GPIO.setmode(IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup(touchpad1, GPIO. IN) GPIO.setup(touchpad2, GPIO. IN) # Kami dapat menggabungkan keduanya pernyataan di atas bersama-sama sebagai # GPIO.setup([touchpad1, touchpad2], GPIO. IN) try: while True: if(GPIO.input(touchpad1) == True): print ("Touchpad 1 touch") sleep(2) elif (GPIO.input(touchpad2) == Benar): print ("Touchpad 2 disentuh") sleep(2) else: print("Not Touched") kecuali KeyboardInterrupt: GPIO.cleanup() #CTRL-C untuk keluar

Menguji LED

Lihat instruksi yang luar biasa ini untuk menguji LED Anda!

Setelah Anda menguji semua komponen di atas, Anda siap untuk membangun versi yang lebih besar.

Langkah 3: Menyolder Panel Indikator

Menyolder Panel Indikator
Menyolder Panel Indikator
Menyolder Panel Indikator
Menyolder Panel Indikator
Menyolder Panel Indikator
Menyolder Panel Indikator

Jika Anda baru dalam menyolder, lihat tutorial ini untuk mempelajari beberapa dasar-dasarnya di sini (Cara menyolder). Jika Anda ahli dalam menyolder, mari kita mulai!

Panel Indikator

Anda dapat menemukan Ilustrasi cara menyoldernya di papan perf pada gambar di atas.

Kami menggunakan 13 LED RGB untuk panel. Pisahkan menjadi tiga bagian: kiri, kanan, dan tengah untuk menyolder sesuai.

Penting: Jarak LED

Saya telah meninggalkan 3 baris di antara LED. Seperti yang ditunjukkan pada gambar kedua. Ini penting agar panel LED terlihat dan terasa nyaman. Kami tidak ingin LED terlalu jauh untuk menambah ruang atau terlalu dekat untuk tidak dapat membedakan cahaya dari jauh.

Tip Praktis: Mulailah dengan menyolder semua Pin Katoda Umum terlebih dahulu

Tip Praktis: Gunakan Kabel Multi-Untai untuk menghubungkan LED bersama-sama karena kurang kokoh dan mudah ditekuk. Anda dapat menggunakan pin cut-off ekstra dari LED untuk menghubungkan jarak yang lebih pendek

Bagian Kanan: (5 LED)

  • Hubungkan semua Pin Merah bersama-sama
  • Hubungkan semua Pin Hijau bersama-sama
  • Hubungkan semua Pin Katoda Umum bersama-sama

Bagian Kiri: (5 LED)

  • Hubungkan semua Pin Merah bersama-sama
  • Hubungkan semua Pin Hijau bersama-sama
  • Hubungkan semua Pin Katoda Umum bersama-sama

Bagian Tengah: (3 LED)

Tip Praktis: Bagian ini membutuhkan kehati-hatian yang cukup. Jangan menyolder semua pin bersama-sama seperti yang kita lakukan di dua bagian di atas!

  • Hubungkan semua Pin Merah bersama-sama
  • Hubungkan hanya LED atas dan bawah, Pin Hijau.
  • Hubungkan semua Pin Katoda Umum bersama-sama

kabel

Kami membutuhkan kabel yang lebih panjang untuk menghubungkan panel ke papan GPIO.

Kiat Praktis:

  • Gunakan kabel untai tunggal! Mereka cukup kokoh untuk menahan tekanan mekanis yang diterapkan padanya!
  • Pertahankan kabel sedikit lebih panjang dari panjang sebenarnya yang dibutuhkan antara panel dan RPi (ini sangat berguna saat mengelola kabel nanti! (Garis Waktu: Pengukuran)
  • Isolasi setelah menyolder! Sangat penting

Gunakan kawat jumper dan kawat untai tunggal untuk menyolder. Salah satu ujung kabel jumper harus berupa konektor perempuan. Solder seperti yang ditunjukkan di sini (Garis Waktu)

Kode warna kabel sebagai Merah, Hijau, dan Hitam. yang sesuai dengan pin Merah, pin Hijau, dan pin katoda umum masing-masing.

Kami membutuhkan 3 Kabel Hitam, 3 Kabel Merah, dan 3 Kabel Hijau.

Setelah kabel siap. Solder kabel ke LED indikator.

Kiat Praktis:

  • Pastikan LED disolder sesuai koneksi yang diberikan.
  • Pastikan Anda telah menyolder nilai resistor yang benar di tempatnya. Jika nilainya diubah, itu akan mempengaruhi kecerahan LED
  • Salah satu cara untuk memastikan semua LED Anda berfungsi adalah dengan menggunakan meteran multimeter yang diberikan pada Langkah 2. Ini sangat berguna karena Anda akan tahu jika ada korsleting, LED tidak akan menyala.
  • Jangan lepaskan ujung kabel lebih lama dari yang dibutuhkan. Ini akan sulit untuk mempertahankannya dan juga risiko korsleting yang lebih tinggi.
  • Gunakan kabel multi-untai untuk koneksi antara LED.
  • Gunakan kabel untai tunggal untuk menghubungkan bagian ke RPi.

Langkah 4: Uji Panel Indikator

Uji Panel Indikator
Uji Panel Indikator
Uji Panel Indikator
Uji Panel Indikator
Uji Panel Indikator
Uji Panel Indikator

Pujian! Jika Anda telah menyolder panel dengan benar. Mari kita lanjutkan dengan mengkodekan Indikator sekarang!

Seperti disebutkan sebelumnya, kami akan menunjukkan belokan kanan, belok kiri, dan menghidupkan/mematikan pemandangan malam.

Lihat koneksi sirkuit pada Langkah 3.

Hubungkan kabel panel seperti yang disebutkan di bawah ini:

  • Merah Kanan -- Pin 7
  • Hijau Kanan -- Pin 11
  • Kanan Katoda Umum -- Pin 6 (GND)
  • Kiri merah -- Pin 13
  • Kiri hijau -- Pin 15
  • Kiri Katoda Umum -- Pin 9 (GND)
  • Pusat Merah -- Pin 16
  • Tengah Hijau (atas dan bawah) -- Pin 18
  • Pusat Katoda Umum -- Pin 14 (GND)

Kode Tes:

impor RPi. GPIO sebagai GPIO

dari waktu import sleep #Hubungkan sesuai dengan nomor pin di bawah ini 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 ("Belok Kanan") berkedip (Green_right, Green_top_bottom, 0) def left_turn(): print ("Belok Kiri") blink(Green_left, Green_top_bottom, 0) def blink(pin1, pin2, pin3): if(pin3 == 0): GPIO.setup([pin1, pin2], GPIO. OUT) untuk x dalam rentang (10): GPIO.output([pin1, pin2], GPIO. HIGH) sleep(0.5) GPIO.output([pin1, pin2], GPIO. LOW) sleep (0.5) else: GPIO.setup([pin1, pin2, pin3], GPIO. OUT) untuk x dalam rentang(10): GPIO.output([pin1, pin2, pin3], GPIO. HIGH) sleep(0.5) GPIO.output([pin1, pin2, pin3], GPIO. LOW) sleep(0.5) def night_sight(): print("Night Sight ON") blink(Red_left, Red_right, Red_center) try: while True: cmd = input(" Uji LED untuk: ") if cmd == "belok kanan": right_turn() elif cmd == "belok kiri": left_turn() elif cmd == "pemandangan malam": night_sight() else: print("Perintah Tidak Valid") kecuali Ke yboardInterrupt: GPIO.cleanup()

Jika panel Anda menyelesaikan semua fase pengujian seperti dalam kode, Selesai! Bersiaplah untuk langkah selanjutnya

Jika panel tidak menyala, pastikan Anda telah mengikuti semua langkah dengan benar dan membaca tips praktis sebelumnya. Jika masalah masih berlanjut, Anda dapat berkomentar di bawah, saya siap membantu.

Timeline: Uji SATU (Periksa video untuk prototipe kerja)

Langkah 5: Mengintegrasikan Panel Indikator Dengan Touchpad

Mengintegrasikan Panel Indikator Dengan Touchpad
Mengintegrasikan Panel Indikator Dengan Touchpad
Mengintegrasikan Panel Indikator Dengan Touchpad
Mengintegrasikan Panel Indikator Dengan Touchpad
Mengintegrasikan Panel Indikator Dengan Touchpad
Mengintegrasikan Panel Indikator Dengan Touchpad

Menghubungkannya ke RPi

Buat koneksi seperti yang ditunjukkan pada gambar di atas.

Panel Kanan

Panel sentuh:

  • Pin GND -- Pin 34
  • Pin VCC -- Pin 1
  • Pin SIG -- Pin 29

LED:

Pin anoda (+) - Pin 33

Panel Kiri

Panel sentuh:

  • Pin GND -- Pin 30
  • Pin VCC -- Pin 17
  • Pin SIG -- Pin 31

LED:

Pin anoda(+) -- Pin 35

GND Umum: Pin 39 (Untuk kedua katoda LED) - Solder Common Ground (Garis Waktu)

Kode Tes:

impor RPi. GPIO sebagai GPIO

dari waktu import sleep 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 trigger = 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(channel): GPIO.output (right_led, GPIO. HIGH) global dipicu = 1 print ("Turning Right") blink(Green_right, Green_top_bottom) def left_turn(channel): GPIO.output(left_led, GPIO. HIGH) global dipicu = 1 print ("Turning Kiri") blink(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, bouncetime = 500) def blink(pin1, pin2): GPIO.setup([pin1, pin2], GPIO. OUT) untuk x dalam rentang (10): GPIO.output([pin1, pin2], GPIO. HIGH) sleep(0.5) GPIO.outpu t([pin1, pin2], GPIO. LOW) sleep(0.5) GPIO.output([right_led, left_led], GPIO. LOW) dipicu global = 0 def night_sight(): while (True): GPIO.setup([Red_center, Red_left, Red_right], GPIO. OUT) global dipicu jika (dipicu == 0): print ("Night Sight ON") GPIO.output([Red_center, Red_left, Red_right], GPIO. HIGH) sleep(0.27) GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) sleep(0.27) else: print ("Night Sight OFF") GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) coba: night_sight() kecuali KeyboardInterrupt: GPIO.cleanup()

Sentuh touchpad untuk melihat cahaya Anda bersinar

Garis Waktu (tanpa LED Indikasi): Uji Dua

Garis Waktu (dengan LED Indikasi): Uji 3

Penjelasan kode: Kami ingin night-sight berjalan terus menerus dan ketika kami menyentuh touchpad itu harus berhenti dan menjalankan fungsi touchpad. Untuk melakukan ini secara bersamaan kami menggunakan sesuatu yang dikenal sebagai "Interupsi" di python. Ini memungkinkan kita untuk menjalankan kode normal kita yang merupakan pemandangan malam di sini dan juga memicu suatu peristiwa ketika sentuhan terdeteksi. Kami menggunakan variabel yang dipicu sebagai bendera untuk menghentikan pemandangan malam.

Untuk informasi lebih lanjut tentang Interupsi, periksa tautan ini.

Solder Panel

Sekarang mari kita solder panel touchpad yang akan menuju ke stang sepeda. Lihat koneksi seperti yang diberikan pada gambar di atas.

Sekarang setelah Anda menguji LED dan touchpad, Anda siap melakukannya. Jika Anda belum menguji silakan lihat Langkah ini dan Langkah sebelumnya.

Tempatkan touchpad di dekat stang seperti yang ditunjukkan dalam video. Artinya, untuk touchpad kanan touchpad berada di sebelah kanan dan kiri di sebelah kirinya. Begitu pula untuk touchpad sebelah kiri, led berada di sebelah kanan dan touchpad di sebelah kiri yang memudahkan ibu jari untuk menjangkaunya.

PS: Saya belum menyolder touchpad ke papan perf karena saya harus menggunakannya kembali. Karenanya saya hanya meletakkannya di panel dengan selotip dua sisi.

Hubungkan panel ke RPi menggunakan kabel yang lebih panjang

Langkah 6: Jadikan Ini Cerdas

Jadikan Ini Cerdas!
Jadikan Ini Cerdas!
Jadikan Ini Cerdas!
Jadikan Ini Cerdas!
Jadikan Ini Cerdas!
Jadikan Ini Cerdas!

Ya! Sekarang setelah kita memiliki semua indikator penting kita dan berjalan. Mari kita selangkah lebih maju untuk membuatnya pintar.

Di sini smart juga menentukan penghematan baterai. Seperti yang mungkin Anda perhatikan, pemandangan malam selalu menyala dan terkadang ini mungkin tidak diperlukan pada hari yang cerah. Untuk mengatasi masalah ini mari mengintegrasikan LDR (Light Dependent Resistor) untuk memberi kita data intensitas cahaya yang dapat kita kumpulkan dan proses indikator kita sesuai.

Menguji LDR

Saya merujuk ke situs web ini untuk menguji LDR untuk memeriksa intensitas cahaya dan nilai apa yang dikembalikannya.

Lihat situs web yang diberi tag di atas untuk rangkaian dan kode sampel untuk cara kerja LDR.

Mengintegrasikan LDR ke kode kami

Solder LDR ke panel kanan touchpad seperti yang ditunjukkan pada diagram koneksi di atas.

Setelah menyolder pin di tempat yang tepat, waktunya untuk bagian pengkodean terakhir. Kode terakhir!

  • Hubungkan titik persekutuan Katoda (-) kapasitor dan LDR ke Pin 36 pada RPi
  • Anoda kapasitor terhubung ke titik Common Ground yang dirujuk pada Langkah 5

Kode Akhir:

impor RPi. GPIO sebagai GPIO

dari waktu import sleep 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 trigger = 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(channel): GPIO.output(right_led, GPIO. HIGH) global dipicu = 1 print ("Turning Right") blink(Green_right, Green_top_bottom) def left_turn(channel): GPIO.output(left_led, GPIO. HIGH) global dipicu = 1 print ("Belok Kiri") blink(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, bouncetime = 500) def light_sensing (ldr): count = 0 #Output pada pin untuk GPIO.setup(ldr, GPIO. OUT) GPIO.output(ldr, GPIO. LOW) sleep(0.1) #Chang e pin kembali ke input GPIO.setup(ldr, GPIO. IN) #Hitung sampai pin high while (GPIO.input(ldr) == GPIO. LOW): count += 1 return count def blink(pin1, pin2): GPIO.setup([pin1, pin2], GPIO. OUT) untuk x dalam rentang(10): GPIO.output([pin1, pin2], GPIO. HIGH) sleep(0.5) GPIO.output([pin1, pin2], GPIO. LOW) sleep(0.5) GPIO.output([right_led, left_led], GPIO. LOW) dipicu global = 0 def night_sight(): while (True): GPIO.setup([Red_center, Red_left, Red_right], GPIO. OUT) global dipicu if(light_sensing(ldr) > 7800): if (dipicu == 0): print ("Night Sight ON") GPIO.output([Red_center, Red_left, Red_right], GPIO. HIGH) sleep (0.27) GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) sleep(0.27) else: print ("Night Sight OFF") GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) coba: night_sight() kecuali KeyboardInterrupt: GPIO.cleanup()

Voila! Dan indikator siap bergulir.

Tip Praktis: Sebelum merakit RPi dan komponen lain ke siklus, pastikan Anda menguji program ini dengan benar! Jalankan beberapa kali untuk men-debug kesalahan apa pun.

Langkah 7: Pengecatan dan Perakitan

Lukisan dan Perakitan
Lukisan dan Perakitan
Lukisan dan Perakitan
Lukisan dan Perakitan
Lukisan dan Perakitan
Lukisan dan Perakitan

Bahan yang Dibutuhkan:

  • Alat Pemotong / Pengupasan Kawat
  • Satu kotak penyimpanan besar untuk muat di Raspberry Pi
  • Satu kotak penyimpanan kecil agar sesuai dengan panel indikator
  • Cat
  • Kuas cat

Mulailah dengan mengecat panel Indikator dan panel touchpad dengan warna hitam. Saya menggunakan Cat Akrilik di sini Anda dapat menggunakannya sesuai pilihan Anda yang menyatu dengan baik dengan papan perf. Gunakan latar belakang hitam untuk membuat panel LED hidup dan lebih menonjol. Buat lubang menggunakan obeng yang dipanaskan atau menggunakan benda logam apa pun untuk melelehkan plastik.

Catatan: Harap berhati-hati saat membuat lubang.

Garis waktu: Cat

Tip Praktis: Saya menggunakan kotak plastik dan catnya mudah lepas. Pastikan Anda menggunakan cat berkualitas baik

Setelah Indikator dan panel dicat keringkan di bawah sinar matahari dan bersiaplah untuk dirakit.

Saya telah memotong tepi ekstra papan perf di Panel Indikator dan panel depan untuk menghemat ruang.

Periksa video untuk perakitan!

Garis Waktu: Avengers! Berkumpul. (Merakit panel indikator dan RPi dengan kotak)

Seperti yang terlihat di video, pasang kabel yang sesuai dengan membuat tiga lubang di kotak yang lebih besar. Satu untuk kabel power bank RPi, satu untuk panel touchpad, dan satu untuk panel Indikator. Hanya satu lubang yang diperlukan untuk kotak yang lebih kecil.

Tip Praktis: Periksa isolasi kabel dan periksa apakah kabel disolder dengan benar sebelum menghubungkannya ke dalam kotak.

Langkah 8: Pengujian Jarak Jauh Dengan VNC dan Kode Akhir

Pengujian Jarak Jauh Dengan VNC dan Kode Akhir
Pengujian Jarak Jauh Dengan VNC dan Kode Akhir
Pengujian Jarak Jauh Dengan VNC dan Kode Akhir
Pengujian Jarak Jauh Dengan VNC dan Kode Akhir

Satu tes terakhir sebelum indikator benar-benar siap. Hubungkan RPi Anda ke VNC Viewer dan jalankan program.

Saya selalu menggunakan server VNC untuk menjalankan program dan men-debug setiap kesalahan dalam program. Dengan cara ini saya dapat menempatkan RPi langsung ke tempat yang ingin saya uji tanpa menghubungkan monitor secara eksternal.

Periksa halaman ini untuk menghubungkan RPi Anda ke VNC Server. (Server VNC)

Setelah Anda menghubungkan RPi ke VNC Server. Anda dapat menjalankan kode di desktop virtual dan men-debug kesalahan.

Linimasa: Jalankan saat Startup

Tip Praktis: Setelah Anda menghubungkan Raspberry Pi Anda ke desktop virtual, Anda akan masuk dengan Alamat IP RPi. Tetapi jika Anda mendapatkan kesalahan yang menyatakan bahwa RPi menolak koneksi, itu karena perubahan Alamat IP di RPI. Ini bisa terjadi ketika Anda me-restart router atau hotspot WiFi dan kemudian mencoba masuk dengan alamat lama. Router memberikan IP baru setiap kali Anda me-restart itu. Tetapi jika Anda ingat Alamat IP lama dari RPi hanya menambah digit terakhir dengan 1 dan login. Contoh: Jika alamat IP lama adalah 190.148.1.100 maka login menggunakan 190.148.1.101

Setelah Anda memeriksa apakah semuanya berfungsi dengan baik, saatnya untuk perakitan akhir.

Selalu kami tidak dapat memiliki desktop virtual untuk memantau atau menjalankan skrip python. Jadi mari kita lakukan itu saat startup.

Kami ingin program kami berjalan setelah RPi boot. Periksa situs web ini untuk detail lebih lanjut tentang ini!

Jika RPi Anda dalam pengaturan Auto-login, lanjutkan;

Jalankan perintah berikut di terminal RPi

sudo nano /etc/profile

Gulir ke bawah dan tambahkan baris berikut:

sudo python file_path &

File_path di sini merujuk ke jalur file python tempat kode terakhir Anda disimpan.

Catatan: Tanda Ampersand (&) di akhir file harus ditambahkan agar program Anda berjalan paralel dengan boot sistem. Karena program kita mengandung infinite loop, langkah ini wajib dilakukan agar meskipun program tidak berjalan seperti yang diharapkan, kita masih dapat menggunakan desktop RPi untuk mengubah pengaturan.

Setelah ini tekan CTRL-X dan kemudian YPress Enter dua kali dan Anda akan kembali ke terminal perintah.

Nyalakan ulang Pi

Sekarang kode harus dijalankan saat startup

Langkah 9: Manajemen Kabel dan Perakitan Akhir

Manajemen Kabel dan Perakitan Akhir
Manajemen Kabel dan Perakitan Akhir
Manajemen Kabel dan Perakitan Akhir
Manajemen Kabel dan Perakitan Akhir
Manajemen Kabel dan Perakitan Akhir
Manajemen Kabel dan Perakitan Akhir

Selamat! dalam menyelesaikan proyek ini. Saya memberikannya kata Minimal seperti yang Anda lihat, kami telah menggunakan lebih sedikit LED untuk menunjukkan semua indikasi yang diperlukan dan juga dengan warna yang disesuaikan. Jangan ragu untuk menggunakan warna yang berbeda untuk LED Anda seperti kuning untuk indikator belok atau lainnya.

Jika Anda telah melakukan proyek ini, klik "Saya membuatnya" dan bagikan pengalaman Anda. Bagikan pemikiran Anda dan juga saran atau komentar apa pun tentang proyek ini. Saya akan senang mendengarnya!

Manajemen Kabel

Ya! Seperti yang mungkin Anda perhatikan ada begitu banyak kabel yang masuk dan di sekitar siklus dan mengelolanya sangat sibuk. Saya menggunakan label kabel, pita isolasi, dan selubung kabel untuk menyembunyikan kabel dan juga mengecatnya hitam seperti yang Anda lihat di gambar.

Tip Praktis: Karena Anda telah meninggalkan beberapa inci ekstra dari kabel Anda daripada yang diperlukan, sekarang berguna untuk mengelolanya dengan benar tanpa membuatnya stres! Jika salah satu LED Anda menyala dan yang lain tidak, bahkan jika Anda telah melakukan semuanya dengan benar, masalahnya ada di Kabel Jumper yang terhubung ke RPi, akan ada kontak yang longgar. Jika ini terus berlanjut, gunakan kabel jumper pria ke wanita untuk memperpanjang kabel dan menghubungkannya. Gunakan pengikat kabel untuk menahan kabel agar tidak bergerak.

Sekarang Indikator sudah siap untuk Berkendara! Bersenang senang lah

PS: Dalam instruksi lebih lanjut, saya sangat ingin mengurangi jumlah kabel di sirkuit dan menghasilkan rencana yang lebih baik. Jika saya melakukannya, saya akan membagikan Instructable tentang itu!

Langkah 10: Beberapa Gambar Indikator

Beberapa Gambar Indikator
Beberapa Gambar Indikator
Beberapa Gambar Indikator
Beberapa Gambar Indikator
Beberapa Gambar Indikator
Beberapa Gambar Indikator
Beberapa Gambar Indikator
Beberapa Gambar Indikator

Terima kasih telah membaca Instruksi ini. Saya harap Anda menikmatinya seperti yang saya lakukan saat membuatnya

Timeline: Tes Akhir Di segmen di atas, Anda dapat melihat bahwa begitu ruangan menjadi lebih gelap, "Penglihatan Malam" akan AKTIF dan saat semakin terang, lampu itu akan segera mati!

Timeline: Ready to RollBeberapa video yang saya ambil untuk menampilkan indikator di pusat perhatian. Semua kredit untuk bersepeda saudara perempuan saya untuk video!

Direkomendasikan: