สารบัญ:
- ขั้นตอนที่ 1: วัสดุและวัสดุที่จำเป็น
- ขั้นตอนที่ 2: การตั้งค่าสภาพแวดล้อมของ Pi
- ขั้นตอนที่ 3: ตั้งค่า Pi ของคุณ (ตอนที่ 1)
- ขั้นตอนที่ 4: ตั้งค่า Pi ของคุณ (ตอนที่ 2)
- ขั้นตอนที่ 5: การเขียนโค้ด
- ขั้นตอนที่ 6: การออกแบบวงจร
- ขั้นตอนที่ 7: การทาขนมปังของคุณ.. กระดาน
- ขั้นตอนที่ 8: การทดสอบ
- ขั้นตอนที่ 9: ติดต่อฉันหากคุณมีคำถาม/คำติชม
วีดีโอ: เว็บไซต์ / แถบ LED ควบคุม WiFi พร้อม Raspberry Pi: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
พื้นหลัง:
ฉันเป็นวัยรุ่น และได้ออกแบบและเขียนโปรแกรมโครงการอิเล็กทรอนิกส์ขนาดเล็กในช่วงไม่กี่ปีที่ผ่านมา พร้อมกับมีส่วนร่วมในการแข่งขันหุ่นยนต์
ฉันเพิ่งกำลังปรับปรุงการตั้งค่าโต๊ะทำงานของฉัน และตัดสินใจว่าการเพิ่มที่ดีควรเป็นการจัดแสงตามอารมณ์ ตอนแรกฉันเพิ่งซื้อแถบ LED ที่ใช้พลังงานจากแบตเตอรี่ขนาด 5 โวลต์ที่ควบคุมโดยรีโมต แต่ก็ไม่ใช่กระบวนการที่สำเร็จลุล่วงและฉันก็มีความคิด ฉันมีอะไหล่สองสามชิ้นวางอยู่รอบๆ และพยายามคิดว่าจะทำอะไรกับ Raspberry Pi ที่ฉันมีในวันคริสต์มาส ระหว่างวันที่น่าเบื่อเป็นพิเศษในชั้นเรียนวิทยาศาสตร์ ฉันรู้ว่าฉันสามารถใช้หมุด GPIO ของ Raspberry Pi เพื่อควบคุมไฟ LED ได้ ตราบใดที่ฉันมีเอาต์พุตค่า RGB
แผนการออกแบบเบื้องต้นของฉันคือการควบคุมไฟโดยหน้าจอสัมผัสที่ติดตั้งบนผนังหรือโต๊ะทำงานของฉัน แต่หลังจากการแก้ไขบางอย่าง ฉันตัดสินใจว่าวิธีที่ง่ายที่สุดคือการควบคุมด้วยอุปกรณ์อื่น ในขณะที่ฉันคิดที่จะเขียนแอพสำหรับโทรศัพท์ของฉันในภาษา Java เว็บไซต์เล็กๆ ดูเหมือนจะมีประสิทธิภาพมากกว่ามาก
โปรเจ็กต์นี้เปิดกว้างสำหรับการปรับปรุงมากมาย และแม้ว่า html + php ของฉันจะค่อนข้างคร่าวๆ พวกเขาก็สามารถทำงานให้เสร็จได้
หัวข้อ:
ประเด็นหลักที่คู่มือนี้จะกล่าวถึงคือ---
- การควบคุม GPIO บน Raspberry Pi
- การโฮสต์เว็บเซิร์ฟเวอร์ Apache บน Pi
- การใช้เว็บเซิร์ฟเวอร์เพื่อควบคุมแถบไฟ LED RGB
ขั้นตอนที่ 1: วัสดุและวัสดุที่จำเป็น
- 1 x Raspberry Pi (ฉันใช้ Pi 2 Model B)
- การ์ด MicroSD
- สิ่งที่จะเพิ่มพลังให้กับ Pi ของคุณ (สาย USB และอะแดปเตอร์ไฟ AC)
- 1 x อะแดปเตอร์ USB WiFi หรือการเชื่อมต่ออีเธอร์เน็ต
- 1 x สายเคเบิล USB เป็นซีเรียล -
- 1 x GPIO ฝ่าวงล้อม -
- 1 x เขียงหั่นขนมขนาดเล็ก -
- USB เป็น MicroSD -
- ลวดแกนแข็งหลายสี
- กรงขัง
- ทรานซิสเตอร์ชนิด NPN 3 x (ฉันใช้ทรานซิสเตอร์ BC547b)
- แถบไฟ LED 1x 5V
- สายจัมเปอร์หญิง - ชาย -
ขั้นตอนที่ 2: การตั้งค่าสภาพแวดล้อมของ Pi
ฉันใช้กล่องพลาสติกแบบเอียงเพื่อปิดโปรเจ็กต์เพื่อไม่ให้ดูโดดเด่นบนชั้นวางของฉัน ฉันเจาะรูที่ด้านข้างสำหรับสาย USB แบบอนุกรม และวาง Pi ไว้ข้างๆ เขียงหั่นขนมและ Pi Wedge
ขั้นตอนที่ 3: ตั้งค่า Pi ของคุณ (ตอนที่ 1)
สำหรับโปรเจ็กต์นี้ ฉันใช้ Raspbian. ที่ไม่ใช่เดสก์ท็อปเวอร์ชันล่าสุด
คำแนะนำเกี่ยวกับวิธีการติดตั้ง Raspbian สามารถพบได้ที่นี่:
(คุณอาจต้องใช้อะแดปเตอร์ USB เป็น microSD สำหรับคอมพิวเตอร์ของคุณ)
เมื่อติดตั้ง Raspbian ลงในการ์ด SD แล้ว คุณสามารถต่อเข้ากับ Raspberry Pi และต่อสายอีเทอร์เน็ตหรืออแด็ปเตอร์ USB WiFi กับ Pi
ถัดไป ติดตั้ง Tera Term ลงในคอมพิวเตอร์ของคุณ ซึ่งช่วยให้คุณเชื่อมต่อกับเทอร์มินัลของ Raspberry Pi ผ่านพีซีของคุณได้:
จากนั้นเสียบสายเคเบิลอนุกรม USB จากลิ่ม Pi เข้ากับพีซี สามารถเข้าถึงได้ผ่าน Tera Term ตรวจสอบให้แน่ใจว่าได้ตั้งค่าอัตรารับส่งข้อมูลของพอร์ตอนุกรมไว้ที่ 115200
ขั้นแรก Pi จะโพสต์ข้อความแจ้งให้ลงชื่อเข้าใช้หากระบบปฏิบัติการได้รับการติดตั้งอย่างถูกต้อง
ชื่อผู้ใช้และรหัสผ่านเริ่มต้นคือ:
ชื่อผู้ใช้: pi
รหัสผ่าน: ราสเบอร์รี่
ขั้นตอนที่ 4: ตั้งค่า Pi ของคุณ (ตอนที่ 2)
กำลังตั้งค่า WiFi
ในเทอร์มินัล ให้รันคำสั่ง
sudo nano /etc/network/interfaces
จากนั้นวางรหัสนี้และแทนที่ SSID และ PSK ด้วยชื่อและรหัสผ่านของเราเตอร์ของคุณ
รถยนต์
iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "รหัสผ่าน"
ไฟล์นี้อนุญาตให้ Pi เชื่อมต่อกับ WiFi ของคุณ
ถัดไป รีสตาร์ท Pi ด้วยบรรทัด
sudo รีบูต
การติดตั้งเว็บเซิร์ฟเวอร์
เข้าสู่ระบบ แล้วติดตั้งเซิร์ฟเวอร์ Apache ด้วย
sudo apt-get ติดตั้ง apache2 -y
และ
sudo apt-get ติดตั้ง php libapache2-mod-php -y
หากต้องการค้นหาที่อยู่ IP ของ Pi ให้เรียกใช้คำสั่ง
ชื่อโฮสต์ -I
ใช้การเรียกดูของคุณเพื่อเข้าถึง IP ที่แสดงเพื่อตรวจสอบว่าใช้งานได้หรือไม่
ตัวอย่างเช่น ใน Google Chrome ฉันจะพิมพ์ 192.168.1.72 ลงในแถบที่อยู่
สามารถดูเอกสารประกอบที่คุณควรติดตามได้ที่
ต้องติดตั้งไลบรารี PiGPIO ด้วย ซึ่งช่วยให้คุณควบคุมข้อมูลที่ส่งผ่านพิน GPIO ได้
sudo apt-get ติดตั้ง build-essential unzip wget
และ
wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo ทำการติดตั้ง
ขั้นตอนที่ 5: การเขียนโค้ด
ไปที่ /var/www/html ด้วยบรรทัด
cd /var/www/html
ในไดเร็กทอรี จะมีไฟล์ html เริ่มต้น ซึ่งคุณจะต้องแก้ไข
sudo nano index.html
ภายใน Nano ให้ลบทุกอย่างที่มีอยู่แล้วแทนที่ด้วยรหัสต่อไปนี้
(Tera Term อาจดูขี้ขลาดเล็กน้อยเมื่อคัดลอกและวาง แต่โดยปกติเมื่อคุณคัดลอกข้อความแล้ว alt+v ควรทำงาน)
ฟังก์ชัน readRGB(สี){ ถ้า (color.length == 0) { document.getElementById ("txtHint").innerHTML = ""; กลับ; } อื่น { var xmlhttp = XMLHttpRequest ใหม่ (); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 400) { document.getElementById("txtHint").innerHTML = this.responseText; } }; temp = encodeURIComponent (สี); xmlhttp.open("GET", "action_page.php?q=" + อุณหภูมิ, จริง); xmlhttp.send(); } } เลือกสี:
จากนั้นบันทึกเป็น main.html แทน index.html
โค้ดด้านบนทำหน้าที่เป็นปุ่มที่คุณกด และเป็นโค้ดที่ส่งสีที่คุณเลือกไปยังไฟล์อื่น
จากนั้นรันคำสั่ง
sudo นาโน
และวางใน
$r $g $b ;
exec("หมูหน้า 17 $g"); exec("หมู หน้า 22 $r"); exec("หมู หน้า 22 $b"); ?>
และบันทึกเป็น action_page.php
รหัสนี้รับค่า RGB และตั้งค่า PWM บนแถบ LED
ขั้นตอนที่ 6: การออกแบบวงจร
เมื่อตั้งค่าซอฟต์แวร์ทั้งหมดแล้ว ก็ถึงเวลาทำงานกับฮาร์ดแวร์
เป้าหมายของวงจรคือการส่งสัญญาณ PWM (Pulse Width Modulated) จาก Pi ไปยังอาร์เรย์ LED
แถบ LED มีสี่พิน: แดง เขียว น้ำเงิน และไฟ (5 โวลต์ในกรณีของฉัน)
พิน PWM แต่ละตัวควบคุมหนึ่งในสามสีผ่านทรานซิสเตอร์ ซึ่งทำหน้าที่เป็นสวิตช์
ทรานซิสเตอร์แต่ละตัวมีสามพิน: ตัวสะสม ฐาน และอีซีแอล
สัญญาณ PWM ควบคุมรอบการทำงาน (ระยะเวลาที่สวิตช์เปิดและปิด)
รอบการทำงานส่งผลให้ไฟมืดขึ้นหรือสว่างขึ้น
เนื่องจากไฟเปิดและปิดเร็วมาก ผู้คนจึงมองว่าเป็นไฟสว่างคงที่และมีความสว่างต่างกัน
หมายเหตุ: ในแผนผัง สัญลักษณ์ LED แสดงถึงอาร์เรย์ LED และตัวต้านทานจำกัดกระแสภายในสายไฟ
ขั้นตอนที่ 7: การทาขนมปังของคุณ.. กระดาน
ขณะทำการเชื่อมต่อ ตรวจสอบให้แน่ใจว่าได้ปิด Pi
วางลิ่ม Pi ด้วยหมุดหนึ่งแถวบนครึ่งหนึ่งของเขียงหั่นขนมและเชื่อมต่อกับ Pi ด้วยสายแพ ฉันใช้ลวดแกนแข็งเพื่อลดความยุ่งเหยิงบนเขียงหั่นขนม และเพื่อให้แน่ใจว่าจะไม่มีอะไรถูกถอดออกโดยไม่ได้ตั้งใจ
วางทรานซิสเตอร์ไว้ที่ครึ่งบนของเขียงหั่นขนม (คอลัมน์ A) และเชื่อมต่ออาร์เรย์ LED ที่ครึ่งล่าง (แถว H, I หรือ J)
เชื่อมต่อรางพลังงานเชิงลบกับพิน GND บนลิ่ม และรางบวกกับพิน 5V
เชื่อมต่อรางจ่ายไฟบวกกับพินแหล่งจ่ายไฟของอาร์เรย์ LED
สำหรับทรานซิสเตอร์แต่ละตัว ให้เชื่อมต่อพินอีซีแอลกับรางพลังงานเชิงลบและเชื่อมต่อพินของตัวสะสมเพื่อแยกแถวที่สอดคล้องกับพินของอาร์เรย์ LED (ฉันใช้แถวที่ 1 เป็น 5v และ 2, 3 และ 4 เป็นสีเขียว สีแดง และสีน้ำเงิน ในคอลัมน์ f) จากนั้นเชื่อมต่อสายจัมเปอร์ตัวผู้กับตัวเมียสี่ตัวจากเขียงหั่นขนมกับแถบ LED
สุดท้าย เชื่อมต่อพินฐานของทรานซิสเตอร์สีเขียวกับพิน 17 บนลิ่ม ฐานทรานซิสเตอร์สีแดงกับพิน 22 และฐานทรานซิสเตอร์สีน้ำเงินกับพิน 24
ขั้นตอนที่ 8: การทดสอบ
ในเว็บเบราว์เซอร์ นำทางไปยังที่อยู่ IP ของ Pi และหลังจากนั้นเขียน /main.html
เลือกสีและทึ่งกับ "ความมหัศจรรย์ของเทคโนโลยีสมัยใหม่"!
ขั้นตอนที่ 9: ติดต่อฉันหากคุณมีคำถาม/คำติชม
หากคุณมีคำถามหรือข้อเสนอแนะโปรดแสดงความคิดเห็นหรือ DM ฉันที่นี่และฉันจะพยายามตอบกลับโดยเร็วที่สุด
ขอให้โชคดี!
แนะนำ:
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
แถบ LED RGB LED ที่ควบคุมด้วย WiFi พร้อม ESP8266: 5 ขั้นตอน
แถบ LED RGB LED ที่ควบคุมด้วย WiFi พร้อม ESP8266: แนวคิดคือการสร้างไฟ LED ที่สามารถควบคุมได้จาก WiFi ฉันมีแถบไฟ LED สำรองจากคริสต์มาสวางอยู่รอบๆ ดังนั้นฉันจึงรีไซเคิลสิ่งนี้เป็น ESP8266 ซึ่งอนุญาตให้ควบคุม LED จาก WiFi ESP8266 สามารถใช้เป็นเว็บเซิร์ฟเวอร์ได้ ซึ่ง
Neopixels ที่ควบคุมด้วยสมาร์ทโฟน (แถบ LED) พร้อมแอป Blynk ผ่าน WiFi: 6 ขั้นตอน
Neopixels ที่ควบคุมด้วยสมาร์ทโฟน (LED Strip) พร้อมแอป Blynk ผ่าน WiFi: ฉันสร้างโปรเจ็กต์นี้หลังจากที่ได้รับแรงบันดาลใจจากนีโอพิกเซลที่ควบคุมด้วยสมาร์ทโฟนในบ้านเพื่อน แต่เขาถูกซื้อโดยร้านค้า ฉันคิดว่า "มันยากแค่ไหนที่จะสร้างของฉันเอง มันจะถูกกว่ามากด้วย!"นี่คือวิธีการ หมายเหตุ: ฉันถือว่าคุณชอบ
Wifi ควบคุม 12v Led Strip โดยใช้ Raspberry Pi พร้อม Tasker, การรวม Ifttt: 15 ขั้นตอน (พร้อมรูปภาพ)
Wifi ที่ควบคุม 12v Led Strip โดยใช้ Raspberry Pi พร้อม Tasker, Ifttt Integration: ในโครงการนี้ ฉันจะแสดงวิธีควบคุมแถบ LED แบบอะนาล็อก 12v อย่างง่ายผ่าน wifi โดยใช้ raspberry pi สำหรับโครงการนี้ คุณจะต้อง: 1x Raspberry Pi (I) กำลังใช้ Raspberry Pi 1 Model B+) 1x RGB 12v Le
RC Raft Boat พร้อม Wifi ควบคุม ตอนที่ 1: 4 ขั้นตอน
RC Raft Boat พร้อม Wifi ควบคุม ตอนที่ 1: เรากำลังจะสร้างเรือแพที่วิ่งบนน้ำด้วยแอพ Android ที่ควบคุมด้วย WiFi เรือของเรามีมอเตอร์พร้อมใบพัดและไมโครคอนโทรลเลอร์ WiFi ที่ตั้งโปรแกรมไว้ซึ่งปล่อยให้มอเตอร์และนำไปสู่ ควบคุมผ่าน WiFi