Isi kandungan:
- Bekalan
- Langkah 1: Pengenalan kepada Raspberry Pi GPIO
- Langkah 2: Memahami Perintang
- Langkah 3: Pendawaian LED
- Langkah 4: Menyambungkan LED ke GPIO
- Langkah 5: Menggunakan Relay untuk Memacu LED
- Langkah 6: Menambah Perintang Pull-Up
- Langkah 7: Sensor Suis Reed
- Langkah 8: Menyambungkan Reed Switch ke Pi
- Langkah 9: Membuat Penyelesaian Kekal di Papan Prototaip
- Langkah 10: Rujukan
Video: Perkakasan Pembuka Pintu Garp Raspberry Pi Zero: 10 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
Salah satu inspirasi untuk projek ini adalah pengajaran terbaik di Raspberry Pi 3 Garage Door Opener, bersama dengan beberapa yang lain yang terdapat di Internet. Oleh kerana tidak menjadi orang elektronik berpengalaman, saya melakukan banyak penyelidikan tambahan mengenai cara untuk berinteraksi dengan Raspberry Pi dan belajar banyak mengenai pentingnya perintang dengan mentol LED dan dengan semua pendawaian GPIO. Saya juga mengetahui tentang kelebihan litar perkakasan pull-down dan pull-down berbanding fungsi Pi yang terbina dalam.
Kerana projek pintu garaj ini benar-benar merupakan proses berbilang bahagian yang terdiri daripada perkakasan, perisian, dan pemasangan Pi dengan pembuka pintu garaj anda. Saya fikir saya akan memberi tumpuan pertama pada perkakasan Pi, kerana ia diperlukan untuk setiap langkah yang lain.
Pendekatan saya adalah sangat asas, bertindak sebagai ringkasan pembelajaran yang saya lakukan untuk dapat menyelesaikan perkakasan. Ia akan dimulakan dengan beberapa maklumat, dan kemudian kita akan membina litar di papan roti. Setiap langkah akan menyempurnakan reka bentuk dan pengetahuan kami, yang memuncak dalam membina penyelesaian perkakasan tetap untuk menghubungkan Pi dengan relay dan sensor buluh.
Selain itu, tidak seperti projek lain, saya memutuskan untuk menggunakan Raspberry Pi Zero W, yang saya jual beberapa waktu lalu tetapi masih terpakai di meja saya. Kelemahannya adalah, semasa membuat prototaip, jika saya merosakkan mana-mana litar GPIO, ia adalah murah dan mudah diganti dan terus membuat prototaip. Kelemahannya ialah ia hanya mempunyai pemproses ARMv6 sehingga beberapa perkara, seperti Java, tidak akan dapat digunakan.
Perkara lain yang saya putuskan adalah membuat papan tambahan saya sendiri untuk litar, jadi sekiranya saya perlu menukar atau mengganti Pi saya, selagi pinoutnya sama, papan mudah dipasang ke Pi baru. Ini diharapkan dapat mengurangkan pendawaian sarang tikus.
Andaian saya adalah:
- Anda selesa menyolder
- Anda sudah tahu bagaimana menggunakan perintah terminal asas pada Raspberry Pi
- Anda menggunakan Raspbian Buster atau yang lebih baru.
- Anda mempunyai beberapa antara muka ke baris perintah Pi; sama ada dengan monitor khusus, papan kekunci, dll DAN / ATAU menggunakan SSH.
- Anda sudah biasa dengan konsep asas reka bentuk litar elektrik; sebagai contoh, anda tahu perbezaan antara kuasa dan tanah dan anda memahami konsep litar pintas. Sekiranya anda dapat meletakkan kedai baru di rumah anda, anda seharusnya dapat mengikuti.
Bekalan
Bergantung pada seberapa berdedikasi anda dalam projek ini, anda boleh memulakan dengan hanya perkara yang diperlukan pada setiap langkah dan pergi dari sana. Sebilangan besar bahagian ini terdapat di kedai elektronik atau DIY / Maker tempatan anda, tetapi saya telah memasukkan pautan Amazon untuk memperbaiki keterangannya.
- MakerSpot RPi Raspberry Pi Zero W Protoboard (untuk membuat HAT terakhir untuk Pi)
- Modul Relay 2 Saluran DC 5V (dapatkan 1 saluran jika anda mempunyai satu pintu, 2 untuk 2 pintu, dll.)
- Suis Pintu Overhead, Biasanya Terbuka (TIDAK) (Jika pada masa ini anda hanya melakukan prototaip dan ingin menggunakan beberapa suis buluh murah untuk memulakan, tidak mengapa)
- Elektronik Fun Kit Bundle (ini mengandungi semua perintang yang saya perlukan, ditambah papan roti dan unit kuasa untuk membantu prototaip dan menguji dan belajar sebelum saya membuat papan tetap). Sekiranya anda sudah mempunyai semua ini, pastikan anda mempunyai beberapa perintang 10K, 1K, dan 330 ohm yang berguna.
- Wire Jumper Breadboard (ada yang akan dilakukan)
- Pateri dengan hujung kecil
- Pateri teras rosin
- Pembersih hujung besi pematerian
- Bekalan kuasa ganti 9v (untuk menghidupkan papan roti)
- Papan prototaip murah untuk latihan pematerian (pilihan)
- Raspberry Pi Zero yang berfungsi atau Pi pilihan anda
- Header pin untuk Raspberry Pi (jika anda belum mempunyai header di atasnya)
- Menyusun header untuk digunakan pada protoboard HAT.
- Tang hidung jarum kecil
- Kit pemutar skru barang kemas
- Pemotong sisi kecil (untuk memotong wayar selepas pematerian)
- Pinset
- Sebilangan wayar tolok kecil (saya lebih suka inti pepejal) untuk digunakan pada protoboard
- Sedikit silikon (jika anda memilih untuk menggunakan LED pelekap permukaan 1.8mm daripada yang dibekalkan dalam bundle kit)
- Saya mendapati bahawa lampu pembesar sangat berguna untuk melihat kerja pematerian kecil
Langkah 1: Pengenalan kepada Raspberry Pi GPIO
Antara muka utama yang akan kita gunakan dengan Raspberry Pi adalah GPIO (General Purpose Input / Output).
Cari gambarajah pin yang tepat untuk Pi anda di sini. Pengajaran ini akan menumpukan pada Pi Zero W v1.1.
Kami hanya akan menggunakan pin GPIO hijau, mengelakkan pin SDA, SCL, MOSI, MISO, dll. (Saya dapati bahawa beberapa pin GPIO mempunyai tujuan khas, salah satu kelebihan prototaip pada papan roti, jadi saya menempel pada pin GPIO 17 (pin # 11), 27 (pin # 13), dan 12 (# 32) sebagaimana adanya dalam kedudukan yang baik untuk papan roti saya.
Pin GPIO direka untuk beroperasi sebagai suis digital (binari); mereka wujud secara logik sebagai salah satu daripada dua keadaan: 1 atau sifar. Keadaan ini bergantung pada sama ada pin membekalkan atau menerima voltan di atas ambang tertentu (1) atau membekalkan atau menerima voltan di bawah ambang tertentu. (Kita akan bercakap mengenai ambang nanti.)
Penting untuk diperhatikan bahawa, walaupun Raspberry Pi dapat membekalkan kedua-dua 5V dan 3.3V (3V3), pin GPIO beroperasi menggunakan hingga 3.3V. Lebih daripada itu dan anda merosakkan GPIO dan mungkin keseluruhan pengawal. (Inilah sebabnya mengapa kami membuat prototaip di papan roti, dan menggunakan Pi yang paling murah!)
Keadaan pin boleh dimanipulasi sama ada dengan perisian (output) atau oleh peranti lain yang dimakan dalam keadaan (input).
Mari kita buat ini dengan menggunakan beberapa arahan SYSFS asas. Saya tidak pasti sama ada ini memerlukan WiringPi, tetapi jika anda menghadapi masalah, anda mungkin mahu memasangnya jika anda menggunakan gambar Raspbian minimum.
Pertama, mari kita akses kepada GPIO 17:
sudo echo "17"> / sys / class / gpio / eksport
Sekarang mari kita periksa nilai GPIO:
sudo cat / sys / class / gpio / gpio17 / nilai
Nilainya mestilah sifar.
Pada ketika ini, GPIO tidak mengetahui sama ada input atau output. Oleh itu, jika anda cuba memanipulasi nilai GPIO, anda akan menerima "kesalahan tulis: Operasi tidak dibenarkan". Oleh itu, mari kita katakan pin itu output:
sudo echo "out"> / sys / class / gpio / gpio17 / arah
Dan sekarang tetapkan nilai menjadi 1:
sudo echo "1"> / sys / class / gpio / gpio17 / nilai
Periksa semula nilai untuk melihat… dan nilainya harus 1.
Tahniah, anda baru sahaja membuat GPIO output dan menukar keadaan!
Sekarang, ada sedikit lagi, tetapi mari kita pelajari beberapa perkara terlebih dahulu.
Langkah 2: Memahami Perintang
Jadi, anda boleh mencari perintang di Wikipedia, tetapi apa maksudnya bagi kita? Terutama mereka melindungi komponen kita.
Ingat ketika kita bercakap mengenai GPIO bahawa mereka beroperasi sehingga 3.3V? Maksudnya ialah jika anda memberikan pin GPIO lebih daripada itu, anda boleh menggorengnya. Mengapa ini penting? Kadang-kadang terdapat lonjakan kecil di litar mana pun dan jika maksimumnya 3.3V, cegukan kecil boleh menyebabkan masalah. Beroperasi pada voltan maksimum adalah cadangan yang berisiko.
Ini benar terutamanya untuk LED. LED akan menarik sebanyak mungkin tenaga. Pada akhirnya LED akan padam, tetapi arus yang ketara dapat menghabiskan semua kuasa yang ada dalam litar, menyebabkannya tidak berfungsi.
Contohnya: apa yang akan berlaku sekiranya anda meletakkan garpu ke dalam kedua-dua cabang soket elektrik? Terdapat sedikit rintangan, dan anda akan meletupkan pemutus litar. (Dan mungkin melukai diri anda dalam prosesnya.) Mengapa pembakar roti tidak melakukan ini? Kerana elemen pemanasannya memberikan ketahanan, dan dengan demikian tidak menarik keseluruhan beban litar.
Oleh itu, bagaimana kita mencegah perkara ini daripada berlaku pada LED? Dengan menghadkan jumlah arus yang digunakan untuk menggerakkan LED menggunakan perintang.
Tetapi perintang saiz apa? Ya, saya membaca beberapa artikel web dan akhirnya menggunakan perintang 330Ω untuk 3.3V dengan LED. Anda boleh membaca semua pengiraan mereka dan mengetahuinya sendiri, tetapi saya menguji beberapa di papan roti dan 330 berfungsi dengan baik. Satu rujukan yang saya periksa adalah di forum Raspberry Pi, tetapi carian Google akan menemui banyak lagi.
Begitu juga, pin Pi GPIO memerlukan perlindungan daripada voltan berlebihan. Ingat bagaimana saya mengatakan bahawa mereka menggunakan HINGGA 3.3V? Baiklah, sedikit yang tidak akan menyakitkan. Sebilangan besar projek menggunakan perintang 1KΩ dan saya melakukan perkara yang sama. Sekali lagi, anda boleh mengira ini sendiri tetapi ini adalah pilihan yang sangat popular. Sekali lagi, forum Raspberry Pi memberikan beberapa maklumat.
Sekiranya anda tidak faham sepenuhnya, lakukan lebih banyak bacaan. Atau hanya ikut arahan. Mana-mana yang sesuai untuk anda.
Banyak perintang dilabelkan dalam bungkusan tetapi setelah anda mengeluarkannya, bagaimana anda dapat membezakannya? Jalur berwarna kecil pada perintang boleh memberitahu anda.
Seterusnya, kami akan memasang LED sederhana di papan roti dengan kuasa untuk memulakan sesuatu.
Langkah 3: Pendawaian LED
Langkah pertama ialah memasang LED pada papan roti. Setelah berfungsi dengan selamat, kami akan menyambungkannya ke Raspberry Pi dan mengawalnya dari pin GPIO.
Semoga papan roti anda disertakan dengan sumber kuasa untuk 3.3v. Sekiranya tidak, anda boleh memasang semuanya dan menyambungkannya terus ke Pi.
Cari LED dan pasangkannya ke papan roti seperti yang ditunjukkan menggunakan perintang 330Ω. Kaki LED yang lebih panjang adalah anod, kaki yang lebih pendek adalah katod. Anod menyambung ke kuasa 3.3V sementara katod menyambung kembali ke tanah. Perintang boleh berada sebelum LED; tidak mengapa. Warna dawai standard adalah:
- Merah = 5V
- Jingga = 3.3V
- Hitam = tanah
Sebaik sahaja anda mempunyai papan kabel itu dengan kabel dan bekalan kuasa, LED akan menyala. Jangan teruskan melainkan anda berjaya.
Langkah 4: Menyambungkan LED ke GPIO
Jadi sekarang kita mempunyai LED yang berfungsi dengan perintang. Kini tiba masanya untuk menyambungkan LED itu ke Raspberry Pi. Matlamat kami adalah untuk membuat output GPIO dan menghubungkan GPIO itu ke LED sehingga apabila kami MENGAKTIFKAN GPIO, LED akan menyala. Sebaliknya, apabila kita MENGHIDUPKAN GPIO, LED akan mati. (Ini akan digunakan kemudian sebagai litar yang akan "menekan" butang untuk membuka pintu garaj.)
Keluarkan kuasa dari papan roti dan sambungkan Pi seperti yang ditunjukkan. (Sebaiknya lakukan ini semasa Pi dimatikan juga.) Kami telah menyambungkan bekalan 3.3V dari GPIO 17 dan ground ke salah satu pin ground.
Sekarang butang Pi dan LED harus mati. Jalankan perintah yang sama seperti yang kita lakukan sebelumnya untuk menyiapkan pin GPIO dan mengeluarkan nilai:
sudo echo "17"> / sys / class / gpio / eksport
sudo echo "out"> / sys / class / gpio / gpio17 / direction sudo cat / sys / class / gpio / gpio17 / nilai
Nilainya mestilah sifar.
Sekarang mari kita aktifkan GPIO:
sudo echo "1"> / sys / class / gpio / gpio17 / nilai
Ini mesti menyalakan LED. Untuk mematikan LED, matikan GPIO seperti berikut:
sudo echo "0"> / sys / class / gpio / gpio17 / nilai
Salah satu perkara yang MUNGKIN berlaku ialah, dengan gangguan yang cukup atau kitaran hidup / mati LED, anda mungkin menyedari bahawa LED tetap menyala sedikit. Ada sebab untuk ini, dan kita akan membincangkannya pada langkah masa depan.
Langkah 5: Menggunakan Relay untuk Memacu LED
Seperti yang dinyatakan pada langkah sebelumnya, LED adalah stand-in untuk "tombol" pintu garaj. Namun, walaupun GPIO dapat menghidupkan LED kami, ia tidak dapat "menekan" butang pintu garaj kami. Tekan butang pada dasarnya hanya menghubungkan kedua-dua terminal butang, sebenarnya melakukan penekanan butang. Apa yang anda perlukan untuk melakukan "tekan" ini adalah relay.
Relay tidak lebih daripada suis yang dikuasakan oleh sesuatu. Dalam kes ini, Raspberry Pi kami dapat memberitahu geganti untuk "menekan" butang pintu garaj. Untuk prototaip kami, Raspberry Pi akan memberitahu geganti untuk menyalakan LED… agar kami dapat menguji litar kami.
Apa yang perlu kita ketahui mengenai relay kita:
- Relay beroperasi pada 5V. Ini adalah kuasa hanya untuk mengendalikan geganti dan tidak digunakan di bahagian litar lain.
- Kami ingin memasang relay kami sebagai "biasanya terbuka." Ini bermaksud bahawa geganti tetap terbuka (tidak menghubungkan dua wayar, atau "menekan butang", hingga diaktifkan.
- Relay khusus ini diaktifkan apabila GPIO membekalkan sifar kuasa ke penyambung geganti 3.3V. Memang ini nampaknya mundur. Apabila 3.3V dibekalkan, relay dilepaskan. Ikuti kami dalam projek ini dan anda akan melihat bagaimana ini berfungsi.
- Kedua-dua sambungan terminal geganti sepenuhnya terpisah dari Raspberry Pi. Maksudnya ialah anda boleh menukar wayar dengan arus yang dinilai kerana ia menerima arus dari sumber kuasa lain. Raspberry Pi kecil yang ringkas dengan 3.3V dan 5V memang boleh mengendalikan relay yang mengawal voltan yang jauh lebih besar. Ini adalah bagaimana butang kecil kecil di papan pemuka anda dapat menjalankan tempat duduk panas yang menarik.
Oleh itu, mari kita mulakan.
Pertama, pasang semula (tetapi dimatikan) unit kuasa luaran untuk papan roti anda. Kekuatan ini akan menjalankan litar LED, sementara Raspberry Pi mengawal geganti.
Seterusnya, buat jeda pada garisan 3.3V yang menghidupkan LED. (Dengan suis dan relay, kami selalu mahu menukar "panas", bukan tanah.) Ini ditunjukkan dalam warna oren dan biru pada rajah.
Sambungkan Raspberry Pi seperti yang ditunjukkan dengan 5V menghidupkan geganti, 3.3V bertindak sebagai suis, dan tanah kembali ke Raspberry Pi. Dalam contoh ini saya telah menyambungkan 3.3V ke GPIO 17. Saya mengesyorkan menyambungkan perintang 1KΩ ke wayar GPIO seperti yang ditunjukkan, untuk melindungi GPIO daripada masalah. (Ini disebut dalam langkah Resistors.)
Nyalakan papan roti dan aktifkan Pi anda. LED hendaklah menyala.
Sekarang jalankan arahan berikut pada Pi:
sudo echo "17"> / sys / class / gpio / eksport
sudo echo "out"> / sys / class / gpio / gpio17 / direction sudo cat / sys / class / gpio / gpio17 / nilai
Nilainya mestilah sifar.
Sekarang mari kita aktifkan GPIO:
sudo echo "1"> / sys / class / gpio / gpio17 / nilai
Ini mesti mematikan LED.
Langkah 6: Menambah Perintang Pull-Up
Pada ketika ini, semua barang anda mesti berfungsi. Tetapi ada satu perkara yang belum kita bincangkan mengenai GPIO, dan itu adalah voltan "terapung" yang mungkin berdasarkan ambang yang kita nyatakan sebelumnya.
Walaupun GPIO umumnya mempunyai dua keadaan logik (1 dan nol), ia menentukan keadaan ini berdasarkan sama ada ia mempunyai voltan di atas atau di bawah ambang voltan, seperti yang kita sebutkan di bahagian GPIO. Tetapi masalah di kebanyakan GPIO adalah kemungkinan voltan "terapung"; dalam kes Raspberry Pi, di antara sifar dan 3.3V. Ini boleh berlaku akibat gangguan atau kenaikan / penurunan voltan di litar.
Kami tidak mahu keadaan di mana geganti butang pintu garaj kami hanya boleh diaktifkan daripada voltan terapung. Kami mahu ia hanya aktif apabila kami memberitahu.
Situasi seperti ini diselesaikan dengan menggunakan resistor pull-up dan pull-down untuk menegakkan voltan tertentu dan mengelakkan voltan terapung. Dalam kes kami, kami ingin memastikan bekalan voltan untuk mengelakkan geganti mengaktifkan. Oleh itu, kita memerlukan perintang penarik untuk menaikkan voltan di atas ambang. (Ambang batas adalah perkara yang lucu … saya cuba membaca tentangnya dan untuk melihat sama ada ia ditentukan dengan baik dan mendapat banyak maklumat yang berada di atas kepala saya, dan beberapa yang kelihatannya terlalu sederhana. Cukup dengan mengatakan bahawa dengan multimeter saya dapat melihatnya voltan lebih rendah daripada 3.3V, tetapi kerana semuanya berfungsi seperti yang saya prototaip, saya terus bergerak. Jarak perjalanan anda mungkin berbeza-beza, dan inilah sebabnya mengapa kami menyusun roti sebelum menyolder produk akhir kami.)
Pasti, Raspberry Pi mempunyai perintang tarik dan tarik dalaman yang boleh anda tetapkan dalam kod atau semasa boot. Walau bagaimanapun, ia sangat terdedah kepada gangguan. Walaupun mungkin untuk menggunakannya, kerana kita sudah bekerja dengan perintang dalam litar, mungkin stabil untuk menggunakan luaran.
Lebih penting lagi, ini menjadikan pull-up dan menambah voltan yang mencukupi sehingga keadaan pin GPIO menjadi 1 sebelum Pi memulakan. Ingat bagaimana geganti kami mengaktifkan LED menyala ketika kami pertama kali memulakan Pi sehingga kami mematikannya? Menggunakan pull-up menghalang relay mengaktifkan semasa permulaan kerana input 3.3V relay menerima voltan pada masa yang sama input 5V menerima voltan. Kita juga boleh melakukan ini dalam konfigurasi Pi jika kita mahu, tetapi sekali lagi, kerana kita tetap menggunakan kabel dengan perintang, nampaknya kurang terdedah kepada kemas kini dan pengedaran sistem operasi.
Konfigurasi yang berbeza mungkin memerlukan perintang yang berbeza, tetapi perintang 10kΩ berfungsi dengan geganti yang saya miliki. LED pada relay saya sangat redup semasa boot, tetapi pull-up memberikan voltan yang mencukupi untuk mengelakkan pengaktifan relay.
Mari tambah perintang penarik ke litar kami. Dalam rajah papan roti, saya menambahkan perintang 10kΩ antara input 3.3V pada relay dan sumber 3.3V.
Sekarang kita mempunyai litar yang sesuai untuk "menekan" butang pintu garaj; mengganti perintang LED dan 330Ω dengan wayar butang sebenar semestinya mudah.
Langkah 7: Sensor Suis Reed
Begitu hebatnya, kami tahu bagaimana rupa rangkaian kami untuk mengaktifkan pembuka pintu garaj. Namun, bukankah senang mengetahui sama ada pintu garaj ditutup, atau adakah pintu itu terbuka? Untuk melakukan itu, anda memerlukan sekurang-kurangnya satu suis buluh. Beberapa projek mencadangkan dua, tetapi kedua-duanya akan menggunakan reka bentuk litar yang sama.
Kami menggunakan konfigurasi suis reed "normal open" (NO). Ini bermaksud bahawa litar kita terbuka sehingga suis buluh berada berdekatan dengan magnet, yang akan menutup litar dan membiarkan elektrik mengalir.
Perbezaan utama antara penyediaan sensor dan penyediaan geganti adalah:
- GPIO yang disambungkan ke sensor akan mengesan daya, jadi ia akan menjadi input GPIO (sementara relay menggunakan GPIO output yang membekalkan voltan)
- Kerana keadaan lalai wujud seperti biasanya terbuka, itu bermaksud litar kita tidak akan aktif. Oleh itu, keadaan GPIO harus 0. Sebaliknya dengan konsep pull-up resistor pada litar relay, kami ingin memastikan voltan kami berada di bawah ambang ketika litar terbuka. Ini memerlukan perintang tarik ke bawah. Ini pada dasarnya sama dengan pull-up, tetapi disambungkan ke tanah dan bukannya kuasa.
Sama seperti rangkaian geganti, kita akan memasang barang di papan roti sebelum menghubungkannya ke Pi.
Mari gunakan papan roti bertenaga kami dan kawat LED, perintang 330Ω, dan wayar tanah. Kemudian sambungkan 3.3V ke satu sisi suis buluh dan pelompat dari sisi lain suis buluh ke LED. (Jika anda mempunyai suis reed yang menyokong NO dan NC, gunakan posisi NO.) Jauhkan magnet dari suis buluh dan hidupkan daya papan roti. LED harus mati. Gerakkan magnet ke arah suis buluh dan LED akan menyala. Sekiranya berlaku sebaliknya, anda mempunyai kabel untuk NC (biasanya ditutup)
Langkah 8: Menyambungkan Reed Switch ke Pi
Oleh itu, setelah litar berfungsi tanpa Pi, kita dapat mengeluarkan kuasa dari papan roti dan kita akan menyambungkan Pi.
Kami akan menggunakan GPIO17 sekali lagi kerana kami sudah tahu di mana ia berada.
Sama seperti rangkaian geganti, kita akan melindungi pin GPIO dengan perintang 1KΩ; namun, kami akan menggunakan resistor 10kΩ ke arde untuk membuat pull-down.
Sebaik sahaja kami menyambung semuanya, mari kita angkat magnet dari suis buluh, boot P, i dan bawa diri kita ke baris perintah dan mulakan GPIO, dengan menyatakan bahawa kali ini kita membuat input GPIO:
sudo echo "17"> / sys / class / gpio / eksport
sudo echo "in"> / sys / class / gpio / gpio17 / direction sudo cat / sys / class / gpio / gpio17 / nilai
Nilainya mestilah sifar. Pindahkan magnet ke suis buluh. Lampu LED harus menyala, dan nilainya adalah 1.
Voila! Kami telah menukar suis buluh kami ke Pi!
Langkah 9: Membuat Penyelesaian Kekal di Papan Prototaip
Sekarang kita tahu bagaimana bentuk litar kita, sudah tiba masanya untuk menyolder versi kekal pada papan prototaip. Oleh kerana saya menggunakan Pi Zero W, saya memperoleh papan proto kecil.
Saya fikir adalah baik untuk menggunakan format Zero dan dapat menyusun satu atau lebih papan, modul tambahan yang disebut Raspberry Pi HAT (Hardware Attached on Top). Oleh itu, secara teknikal kerana ia tidak mempunyai jenis EEPROM dan tidak mendaftarkan diri, itu bukan HAT tetapi saya harus menyebutnya sesuatu. Tetapi formatnya dipasang dengan baik dan menghilangkan pendawaian sarang tikus, jadi itu bagus.
Cabarannya adalah bahawa papan proto agak kecil, jadi anda tidak boleh memuatkannya dengan banyak. Juga, tidak ada lubang yang dihubungkan dalam baris seperti papan proto yang lebih besar. Walaupun ini kelihatan tidak selesa, sebenarnya ini adalah penyelamat.
Apa yang saya fikirkan ialah saya dapat membuat HAT untuk setiap pintu garaj yang ingin saya kendalikan. Dengan cara ini, anda dapat mengembangkan projek ini untuk memenuhi keperluan anda.
Di papan proto, saya dapati terdapat cukup ruang untuk membuat tiga litar:
- litar geganti
- litar sensor
- litar sensor kedua
Itu cukup bagus untuk sebarang projek pintu garaj di luar sana.
Jadi yang saya buat ialah menggunakan GPIO17 dan 27 untuk sensor, dan GPIO12 untuk relay. Perkara yang sangat baik mengenai papan proto ini ialah anda boleh membuat sambungan ke GPIO tanpa menyentuh tajuk. Tetapi ya, anda perlu menyolder header susun sebagai tambahan kepada perintang anda (dan, opsional, LED).
Saya telah membuat semula litar yang kita buat prototaip di papan tulis. Anda dapat mengetahui bahawa pematerian saya tidak sempurna tetapi masih berfungsi. (Papan seterusnya akan menjadi lebih baik kerana saya pernah berlatih.) Saya mempunyai Aoyue 469 dan hanya rambut di atas tetapan 4 yang merupakan suhu terbaik berdasarkan cadangan untuk menyolder header GPIO.
Saya menggunakan baris bersambung luar untuk tanah dan dalaman untuk 3.3V. Dan saya menggunakan wayar perintang untuk bertindak sebagai jambatan kerana kami tidak mempunyai baris yang bersambung. Selebihnya semuanya berbentuk pepenjuru dan sisi kerana itulah kaedah terbaik yang dapat saya temukan agar sesuai dengan mereka di papan tulis.
Dari L-R (melihat ke depan, sisi perintang), pin output yang saya tambahkan adalah untuk wayar GPIO sensor, wayar GPIO sensor kedua, dan wayar GPIO geganti. Daripada pendawaian terus ke GPIO, yang dapat kami lakukan dari tajuk, pin ini menyambung ke semua perintang kami dan, dalam hal sensor, saya menambahkan dalam microLED. (Perhatikan bagaimana LED berada dalam gelung yang sama sekali terpisah, jadi jika terbakar litar masih berfungsi.)
Terlampir adalah fail Fritzing, tetapi oleh kerana Instructables menghadapi masalah dengan memuat naik fail, saya harus memberikan lanjutan palsu "txt" untuk membenamkannya.
Langkah 10: Rujukan
Projek Pembuka Pintu Raspberry Pi Garage (inspirasi)
Panduan Idiot untuk Pembuka Pintu Garp Raspberry Pi
Pembuka Pintu Garasi iPhone atau Android
Sekiranya saya menggunakan perintang atau tidak?
Menggunakan Resistor Pullup dan Pulldown pada Raspberry Pi
Menyiapkan SSH
Gambarajah Pin Raspberry.
Perintah SYSFS
PendawaianPi
Perintang dan LED
Perlindungan (sic) GPIO Pin
Kalkulator dan Carta Kod Warna Perintang
Perintang Pull-Up dan Pull Down
Ambang Voltan GPIO
Tahap Voltan Input GPIO
Kawalan GPIO dalam config.txt
GPIO Pull Up Resisance (sic)
Mengapa kita memerlukan perintang penarik luaran apabila pengawal mikro mempunyai perintang penarik dalaman?
Apa itu Raspberry Pi HAT?
Cara pematerian penyambung Raspberry Pi Zero W GPIO
Disyorkan:
Pembuka Pintu: 4 Langkah
Pembuka Pintu: Objektif untuk projek ini adalah untuk membuat pembuka pintu yang saya dapat mengawal logiknya. Saya sebelum ini menggunakan pembuka pintu garaj dan mengubah suai litar untuk menampung kunci automatik (mencegah kerosakan angin ke pintu gerbang), cahaya untuk menerangi jalan masuk
Pembuka Pintu Garasi Pintar DIY + Integrasi Pembantu Rumah: 5 Langkah
Pembuka Pintu Garasi Pintar DIY + Integrasi Pembantu Rumah: Hidupkan pintu garaj biasa anda dengan bijak menggunakan projek DIY ini. Saya akan menunjukkan kepada anda bagaimana membinanya dan mengawalnya menggunakan Pembantu Rumah (melalui MQTT) dan mempunyai kemampuan untuk membuka dan menutup pintu garaj anda dari jauh. Saya akan menggunakan papan ESP8266 yang disebut Wemos
Pembuka Pintu Garp Raspberry Pi: 5 Langkah
Pembuka Pintu Garp Raspberry Pi: Pad kekunci kami yang berusia lima belas tahun yang membolehkan kami membuka pintu garaj telah perlahan-lahan mati, dengan beberapa butang yang hampir tidak mendaftar, menyukarkan remaja (atau penjaga anjing) kami masuk ke dalam rumah apabila mereka lupa kunci. Daripada pengganti
Pembuka Pintu Garage Menggunakan Raspberry Pi: 5 Langkah (dengan Gambar)
Pembuka Pintu Garage Menggunakan Raspberry Pi: Kawal motor garaj dari telefon pintar atau mana-mana peranti yang dapat melayari laman web (dengan AJAX!). Projek ini dimulakan kerana saya hanya mempunyai satu alat kawalan jauh untuk garaj saya. Betapa seronoknya membeli yang kedua? Tidak cukup. Sasaran saya adalah untuk dapat mengawal dan memantau
Pembuka Pintu Garp Raspberry Pi 3: 15 Langkah (dengan Gambar)
Raspberry Pi 3 Garage Door Opener: Saya membuat arahan ini pada tahun 2014. Banyak yang berubah sejak itu. Pada tahun 2021, saya mengemas kini Smart Garage Door Opener di sini. Gunakan Raspberry Pi dan telefon pintar untuk membuka, menutup dan memantau pintu garaj. Membuka dan menutup pintu dijamin dengan menggunakan