This tutorial is part of: ชุดอุปกรณ์รถยนต์อัจฉริยะ SunFounder Raspberry Pi Pico Pico 4WD
ไฟล์ที่เกี่ยวข้องกับกลุ่มนี้จะแสดงไว้ด้วยกัน ลิงก์ไปยังวิดีโออื่นๆ อยู่ด้านล่างบทความนี้
คอร์ส บทเรียนที่ 5 จาก 10: การควบคุม RGB LED WS2812B โดยใช้ Raspberry Pi Pico
บทเรียนนี้เป็นส่วนหนึ่งของคอร์สเรียน Robojax Raspberry Pi Pico Smart Car เน้นไปที่การควบคุมแถบไฟ RGB LED (WS2812B) บนชุดรถยนต์ขับเคลื่อน 4 ล้อ SunFounder คุณจะได้เรียนรู้มากกว่าการควบคุมแบบเปิด/ปิดธรรมดา และเรียนรู้วิธีผสมค่าสีแดง เขียว และน้ำเงินเพื่อสร้างสีใดก็ได้ ควบคุม LED แต่ละดวง และสร้างลำดับแสงแบบไดนามิก เช่น เอฟเฟกต์แสง "เดิน" ทักษะนี้เป็นพื้นฐานสำคัญสำหรับการเพิ่มการตอบสนองทางภาพและบุคลิกให้กับโปรเจกต์หุ่นยนต์ของคุณ
การควบคุม RGB LED เป็นทักษะหลักสำหรับโปรเจกต์หุ่นยนต์หรืออิเล็กทรอนิกส์ใดๆ ต่อไปนี้คือสิ่งที่เป็นประโยชน์ที่คุณสามารถสร้างได้ด้วยความรู้นี้:
- ตัวบ่งชี้สถานะแบบกำหนดเอง: ใช้สีต่างๆ เพื่อแสดงสถานะของหุ่นยนต์ เช่น สีเขียวสำหรับ "พร้อม" สีน้ำเงินสำหรับ "กำลังทำงาน" และสีแดงสำหรับ "ข้อผิดพลาด"
- เอฟเฟกต์แสงแบบโต้ตอบ: สร้างรูปแบบแสงแบบ "ไล่ตาม" หรือ "ไนท์ไรเดอร์" เพื่อให้หุ่นยนต์ดูมีชีวิตชีวาและน่าสนใจยิ่งขึ้น
- การตอบสนองทางภาพสำหรับเซนเซอร์: เขียนโปรแกรมให้ LED เปลี่ยนสีตามข้อมูลจากเซนเซอร์ เช่น เปลี่ยนเป็นสีแดงเมื่อมีสิ่งกีดขวางอยู่ใกล้ หรือสีน้ำเงินเมื่อกำลังวิ่งตามเส้น
- ไฟส่องสว่างโดยรอบ: ตั้งค่า LED เป็นสีสุ่มหรือเฉดสีเฉพาะเพื่อสร้างบรรยากาศที่กำหนดเองสำหรับรถหรือโปรเจกต์อื่นๆ ของคุณ
ฮาร์ดแวร์/อุปกรณ์
โปรเจกต์นี้ใช้อุปกรณ์ที่มาพร้อมกับชุดรถยนต์ขับเคลื่อน 4 ล้อ SunFounder Raspberry Pi Pico อุปกรณ์หลักคือแถบไฟ RGB LED ซึ่งควบคุมโดย Raspberry Pi Pico
- Raspberry Pi Pico
- ชุดรถยนต์ขับเคลื่อน 4 ล้อ SunFounder (ซึ่งรวมแถบไฟ RGB LED WS2812B)
- ชุดแบตเตอรี่สำหรับรถ (เพื่อจ่ายไฟให้ LED ตามที่กล่าวในวิดีโอ)
คู่มือการเดินสายไฟ
บทเรียนวิดีโอนี้ไม่ได้ลงรายละเอียดเกี่ยวกับกระบวนการเดินสายไฟ เนื่องจากเป็นส่วนหนึ่งของการออกแบบที่ประกอบไว้ล่วงหน้าของชุดรถยนต์ LED เชื่อมต่อกับ Raspberry Pi Pico อยู่แล้ว สำหรับการตั้งค่าแบบกำหนดเอง โดยทั่วไปคุณจะต้องเชื่อมต่อพินข้อมูลของแถบ WS2812B เข้ากับพิน GPIO บน Pico พร้อมกับไฟเลี้ยง (5V) และกราวด์ (GND) เนื่องจากบทเรียนนี้ใช้ชุดรถยนต์ จึงไม่จำเป็นต้องเดินสายไฟเพิ่มเติม
หากคุณกำลังสร้างสิ่งนี้บนเบรดบอร์ด คุณจะต้องเชื่อมต่อสายข้อมูลของแถบ LED เข้ากับพิน GPIO (เช่น GP0) และจ่ายไฟด้วยแหล่งจ่ายไฟภายนอก 5V
คำอธิบายโค้ด
บทเรียนนี้เน้นการใช้ฟังก์ชันที่เขียนไว้ล่วงหน้าจากไลบรารีของชุดรถยนต์ ฟังก์ชันหลักสำหรับควบคุมไฟคือ set_light_color() เมธอดนี้ถูกเรียกบนออบเจกต์รถ และรับอาร์กิวเมนต์หลักสองตัว: หมายเลข ID ของไฟ และรายการค่าสามค่าที่แทนความเข้มของสีแดง เขียว และน้ำเงิน (RGB)
นี่คือรายละเอียดวิธีการใช้ฟังก์ชันหลักที่สาธิตในวิดีโอ:
car.set_light_color(LED_ID, [R, G, B]): นี่คือวิธีที่ตรงที่สุดในการควบคุม LED แต่ละดวงLED_IDเป็นจำนวนเต็มตั้งแต่ 0 ถึง 23 และสีเป็นรายการเช่น[255, 0, 0]สำหรับสีแดง- ฟังก์ชันตัวช่วยจากไลบรารี: ไลบรารีของชุดรถยนต์มีฟังก์ชันระดับสูง เช่น
set_all_light_color(),set_bottom_left_color()และset_bottom_right_color()เพื่อควบคุมกลุ่ม LED ได้ง่ายขึ้น
เพื่อสร้างสีที่กำหนดเอง คุณสามารถปรับค่าสามค่าในรายการได้ ตัวอย่างเช่น [255, 255, 0] ทำให้เป็นสีเหลือง [0, 255, 255] ทำให้เป็นสีฟ้า และ [255, 0, 255] ทำให้เป็นสีชมพูหรือสีม่วงแดง วิดีโอสาธิตการสร้างสีเหล่านี้โดยการผสมค่า RGB หลัก
สำหรับสีสุ่ม คุณสามารถใช้ฟังก์ชัน random.randint(0, 255) เพื่อสร้างค่าสุ่มสำหรับ R, G และ B ดังที่แสดงในตัวอย่าง "random" ซึ่งกำหนดสีสุ่มที่ไม่ซ้ำกันให้กับ LED ทั้ง 24 ดวง
โปรเจกต์สด/การสาธิต
ในวิดีโอ ผู้สอนสาธิตแนวคิดแบบสด เขาเริ่มด้วยการแสดงวิธีเปิดไฟด้านล่างทั้งหมดเป็นสีเขียวทึบโดยตั้งค่า RGB เป็น [0, 255, 0] จากนั้นเปลี่ยนสีเป็นสีแดงโดยตั้งค่า [255, 0, 0] การสาธิตดำเนินต่อไปโดยแสดงวิธีควบคุม LED แต่ละดวงด้วยหมายเลข ID (0-23) และตั้งค่าสีของแต่ละดวงอย่างอิสระ
ส่วนสำคัญของวิดีโออุทิศให้กับการสร้างเอฟเฟกต์แสง "เดิน" ซึ่งทำด้วยลูป for ที่วนซ้ำตั้งแต่ 1 ถึง 24 ในการวนซ้ำแต่ละครั้ง จะเปิด LED ปัจจุบันเป็นเวลาที่กำหนด (เช่น 300 มิลลิวินาที) จากนั้นปิดเป็นเวลาสั้นมาก (เช่น 10 มิลลิวินาที) ก่อนที่จะไปยังดวงถัดไป สิ่งนี้สร้างภาพลวงตาของแสงที่เคลื่อนที่ไปตามแถบไฟ ผู้สอนยังแสดงวิธีปรับความเร็วของเอฟเฟกต์นี้โดยการเปลี่ยนค่าหน่วงเวลา
สุดท้าย เขาสาธิตโปรแกรม "random color" ซึ่งใช้ไลบรารี random เพื่อสร้างสีที่ไม่ซ้ำกันสำหรับ LED ทั้ง 24 ดวงทุกครั้งที่รันโค้ด สร้างการแสดงผลหลากสีที่สดใส
บทต่างๆ
- [00:00] แนะนำ RGB LED และคอร์สเรียน Smart Car
- [02:36] ทำความเข้าใจโมเดลสี RGB
- [05:00] การควบคุมไฟด้วยฟังก์ชันจากไลบรารี
- [09:01] วิธีควบคุม LED แต่ละดวง (0-23)
- [13:08] การสร้างเอฟเฟกต์แสงเดิน
- [15:32] การสร้างสีสุ่มสำหรับ LED แต่ละดวง
This tutorial is part of: ชุดอุปกรณ์รถยนต์อัจฉริยะ SunFounder Raspberry Pi Pico Pico 4WD
- Course Lesson 1 of 10: Raspberry Pi Pico 4WD Smart Car Kit from SunFounder by Robojax
- Course Lesson 2 of 10: Basic Python to drive Raspberry Pi Pico 4WD Smart Car Kit
- Course Lesson 3 of 10: Assembling Raspberry Pi Pico 4WD Smart Car Kit from SunFounder by Robojax
- บทเรียนที่ 4 จาก 10: บอร์ดขยาย Raspberry Pi Pico สำหรับชุดรถอัจฉริยะ 4WD
- บทเรียนที่ 6 จาก 10: การควบคุมมอเตอร์ DC โดยใช้ชุดรถยนต์อัจฉริยะ 4WD Raspberry Pi Pico
- บทเรียนที่ 7 จาก 10: การติดตามเส้น การตรวจจับขอบหน้าผา การปรับเทียบเซนเซอร์ระดับสีเทา รถ Raspberry Pi Pico
- หลักสูตร บทเรียนที่ 8 จาก 10: รถอัจฉริยะ Raspberry Pi Pico – บทเรียนที่ 8: มอเตอร์เซอร์โวและการติดตามวัตถุ
- บทเรียนที่ 9 จาก 10: การหลบหลีกสิ่งกีดขวางโดยใช้รถยนต์อัจฉริยะ 4WD Raspberry Pi Pico
- บทเรียนที่ 10 จาก 10: การควบคุมชุดรถยนต์อัจฉริยะ 4WD Raspberry Pi Pico ด้วยแอปพลิเคชันบนมือถือ
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
แหล่งข้อมูลและเอกสารอ้างอิง
ยังไม่มีทรัพยากรเลย
ไฟล์📁
ไม่มีไฟล์ที่พร้อมใช้งาน