สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: วัสดุสิ้นเปลือง
- ขั้นตอนที่ 2: การกำหนดพาวเวอร์ซัพพลายที่เหมาะสมสำหรับ LedWall ของคุณ
- ขั้นตอนที่ 3: สายไฟ
- ขั้นตอนที่ 4: การเดินสายพาวเวอร์ซัพพลาย
- ขั้นตอนที่ 5: จ่ายไฟให้กับ ESP32S
- ขั้นตอนที่ 6: เปิดแถบไฟ LED
- ขั้นตอนที่ 7: เชื่อมต่อ ESP32 กับแถบไฟ LED
- ขั้นตอนที่ 8: การเตรียมคอมพิวเตอร์: ไดรเวอร์ C2102
- ขั้นตอนที่ 9: ซอฟต์แวร์ Arduino - เพิ่มการรองรับ ESP32 - ขั้นตอนที่ 1
- ขั้นตอนที่ 10: ซอฟต์แวร์ Arduino - เพิ่มการรองรับ ESP32 - ขั้นตอนที่2
- ขั้นตอนที่ 11: ซอฟต์แวร์ Arduino - เพิ่มการรองรับ ESP32 - ขั้นตอนที่ 3
- ขั้นตอนที่ 12: การเพิ่มไลบรารี่ให้กับ Arduino IDE
- ขั้นตอนที่ 13: รหัสแรก: Strand Test
- ขั้นตอนที่ 14: รหัสตัวอย่าง SHU
- ขั้นตอนที่ 15: การอัปโหลดรหัสไปยัง ESP32
- ขั้นตอนที่ 16: การอ้างอิง
วีดีโอ: 500 LEDs Wall พร้อม ESP32: 16 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
สวัสดีทุกคน! ในตอนท้ายของบทช่วยสอนนี้ คุณจะรู้วิธีสร้างผนัง LED ของคุณเอง
บทช่วยสอนนี้อิงตามโปรแกรมภาคฤดูร้อนที่เปิดสอนที่ Sacred Heart University
มีความสุข!
เสบียง
พัสดุตามรายการด้านล่าง
ขั้นตอนที่ 1: วัสดุสิ้นเปลือง
เริ่มต้นด้วยการรวบรวมทุกสิ่งที่เราต้องการเพื่อทำให้ Led Wall ของเราสมบูรณ์:
(ลิงค์สร้างเมื่อ 7/10/2019)
ซอฟต์แวร์ Arduino IDE
ไมโครคอนโทรลเลอร์ ESP32
ไฟ LED พิกเซล
พาวเวอร์ซัพพลาย
สายไฟ
เครื่องมือปอกสายไฟ
สายจัมเปอร์เขียงหั่นขนม
สายไฟฟ้า
ขั้นตอนที่ 2: การกำหนดพาวเวอร์ซัพพลายที่เหมาะสมสำหรับ LedWall ของคุณ
มีวิธีทางคณิตศาสตร์ง่ายๆ ในการค้นหาว่าแหล่งจ่ายไฟตัวใดดีที่สุดสำหรับการใช้งานของคุณ
เราใช้กฎกำลังของโอห์ม: P = IxV (กำลัง = ความเข้ม x แรงดัน)
แรงดันไฟฟ้าถูกกำหนดโดยไฟ LED ของเรา: ในกรณีนี้คือ 5V
ความเข้มขึ้นอยู่กับฮาร์ดแวร์ ไฟ LED ตัวเดียวกินไฟ 30mA
แต่ละแถบของ 50 Leds จึงกิน 50 x 30mA = 1250mA = 1.25A
ผนัง Led 500 ของเราจึงกิน 10 เท่า (10 แถบ): 12.5A
การใช้พลังงานคือ 5V x 12.5A = 62.5W สำหรับ Leds
แน่นอน ที่ด้านบนสุดของ Leds คุณต้องบัญชีสำหรับ ESP และรายการอื่นๆ ทั้งหมดในวงจรของคุณ
เรามีแหล่งจ่ายไฟ 60A เรามีมากกว่าที่เราต้องการมากมาย
ขั้นตอนที่ 3: สายไฟ
แหล่งจ่ายไฟของเรามาพร้อมกับขั้วต่อสายไฟ เราจำเป็นต้องปรับสายไฟเพื่อเชื่อมต่อกับปลั๊ก 110V
- ตัดขั้วต่อตัวเมียออกจากสายไฟ เราจะเก็บส่วนเพศชายไว้ มิฉะนั้น จะเรียกว่า NEMA 5-15P
- ปอกสายเคเบิลให้มองเห็นทองแดงประมาณ 3 มม. บนสายไฟทั้งหมด
นี่คือวิดีโอแนะนำสั้นๆ เกี่ยวกับวิธีปอกสายไฟ:
ขั้นตอนที่ 4: การเดินสายพาวเวอร์ซัพพลาย
ตอนนี้เราพร้อมที่จะต่อสายไฟของเราแล้ว!
ถอดปลั๊กไฟทุกครั้งเมื่อใช้งาน
การเดินสายไฟ
- สายสีดำ (เฟส) เชื่อมต่อกับพิน 'L' ของแหล่งจ่ายไฟ
- สายสีขาว (เป็นกลาง) เชื่อมต่อกับพิน 'N' ของแหล่งจ่ายไฟ
- สายสีเขียวเชื่อมต่อกับพิน 'กราวด์' ของแหล่งจ่ายไฟ
(หากสายไฟภายในสายไฟของคุณไม่ใช่สีเดียวกับสายไฟของเรา โปรดค้นหาแผนผังทางออนไลน์)
การทดสอบ
เสียบสายไฟของคอมพิวเตอร์เข้ากับเต้ารับไฟฟ้าใดๆ ไฟ LED สีเขียวบนแหล่งจ่ายไฟควรเปิดขึ้น
ขั้นตอนที่ 5: จ่ายไฟให้กับ ESP32S
ดูที่ ESP ของคุณ ควรมีป้ายกำกับติดกับหมุดแต่ละอัน หากไม่มีป้ายกำกับ คุณสามารถค้นหา 'pinout' ของ ESP แต่ละรายการทางออนไลน์ได้
ใช้สายจัมเปอร์ของเขียงหั่นขนมหรือสายไฟฟ้าเชื่อมต่อ:
- หมุด '5V' ESP32S ที่ '+V' ของแหล่งจ่ายไฟ (สีส้มในภาพด้านบน)
- หมุด 'GND' ESP32S ไปที่ส่วน '-V' ของแหล่งจ่ายไฟ (สีดำในภาพด้านบน)
(ใน ESP บางตัว พิน '5V' จะติดป้ายกำกับว่า 'VCC' แทน ทั้งคู่มีความหมายเหมือนกัน)
โปรดทราบว่า ESP ของคุณอาจมี 'pinout' ที่แตกต่างจากที่เราใช้อยู่ ดังนั้น คุณอาจเชื่อมต่อสายไฟของคุณกับตำแหน่งที่แตกต่างจากภาพด้านบน ตราบใดที่คุณเชื่อมต่อกับพินที่ถูกต้อง (5V & GND) ตำแหน่งทางกายภาพบนกระดานไม่สำคัญ
การทดสอบเสียบปลั๊กไฟของคุณอีกครั้ง และหาก ESP ของคุณมีไฟ LED (ส่วนใหญ่มี) ไฟจะสว่างขึ้นเพื่อระบุว่ากำลังส่งกำลังไปยัง ESP ยินดีด้วย!
ขั้นตอนที่ 6: เปิดแถบไฟ LED
การใช้สายไฟฟ้า:
- เชื่อมต่อสายไฟสีแดงของแถบไฟ LED กับ V+ บนแหล่งจ่ายไฟ
- เชื่อมต่อสายไฟสีน้ำเงินของแถบไฟ LED กับ V- บนแหล่งจ่ายไฟ
ขั้นตอนที่ 7: เชื่อมต่อ ESP32 กับแถบไฟ LED
ESP32 ของเราสั่งการไดรเวอร์ WS2811 ที่เชื่อมต่อกับแต่ละสีและความสว่างที่พวกเขาต้องการ ในการทำเช่นนั้น ESP32 ของเราต้องการสายเคเบิล "ข้อมูล" เข้ากับแถบ
แถบไฟ LED มาพร้อมกับขั้วต่อสายไฟ 3 เส้น:
- แดง: เพาเวอร์- น้ำเงิน: กลาง- ขาว: Data
มาเชื่อมต่อสายแถบไฟ LED สีขาวกับพินดิจิตอลบน ESP กัน โปรดจำหมายเลข PIN ที่เลือกไว้ เนื่องจากเราจะต้องเลือกในรหัสในภายหลัง เราเสียบของเราเข้ากับพิน 13
ขั้นตอนที่ 8: การเตรียมคอมพิวเตอร์: ไดรเวอร์ C2102
เมื่อฮาร์ดแวร์ของเราต่อสายแล้ว เราต้องการอัปโหลดโค้ดแรกของเราเพื่อทดสอบ โดยค่าเริ่มต้น Windows หรือ MacO จะไม่สามารถสื่อสารกับ ESP32 ของเราได้ ในการดำเนินการดังกล่าว เราจำเป็นต้องดาวน์โหลด "ไดรเวอร์" สำหรับชิปสื่อสาร ESP USB: ซี2102
ต้องดาวน์โหลดและติดตั้งไดรเวอร์นี้:
- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8/8.1: https://www.silabs.com/documents/public/software/C…- Mac:
(ลิงค์ ณ วันที่ 7/10/2019)
ขั้นตอนที่ 9: ซอฟต์แวร์ Arduino - เพิ่มการรองรับ ESP32 - ขั้นตอนที่ 1
ก่อนที่เราจะสามารถใช้ ESP32 ของเรากับซอฟต์แวร์ Arduino ได้ เราต้องตรวจสอบให้แน่ใจก่อนว่ามันเป็นที่รู้จัก โดยค่าเริ่มต้น ซอฟต์แวร์ Arduino ไม่สามารถคอมไพล์โค้ดสำหรับ ESP32 ของเรา มาแก้ไขกัน:
ขั้นตอนที่ 1: การเพิ่มบอร์ดไปยังผู้จัดการ
1 - คลิกที่ Arduino ที่ตัวเลือก File >> Preferences
2- ในช่อง "Additional Boards Manager URLs" ให้คัดลอกลิงก์ต่อไปนี้:
ขั้นตอนที่ 10: ซอฟต์แวร์ Arduino - เพิ่มการรองรับ ESP32 - ขั้นตอนที่2
ตอนนี้ซอฟต์แวร์ Arduino "รู้" บอร์ดมากขึ้นแล้ว มาติดตั้งการรองรับ ESP32 ของเรากัน
ขั้นตอนที่ 2: การติดตั้งการรองรับ ESP32
1 - ในเมนูด้านบน เลือก: เครื่องมือ >> บอร์ด >> ตัวจัดการบอร์ด
2 - หน้าต่างจะปรากฏขึ้น ใช้ช่องค้นหาที่มุมขวาบนเพื่อค้นหา "ESP32"
3 - ค้นหาอันที่ทำโดยเอสเพรสซิฟ ติดตั้งเลย (ดูภาพ)
ขั้นตอนที่ 11: ซอฟต์แวร์ Arduino - เพิ่มการรองรับ ESP32 - ขั้นตอนที่ 3
เมื่อซอฟต์แวร์ Arduino สามารถสื่อสารกับ ESP32 ของเราได้แล้ว ให้เสียบเข้ากับคอมพิวเตอร์และตรวจสอบว่าทุกอย่างใช้งานได้
1 - ตรวจสอบให้แน่ใจว่าเราทำงานบนแพลตฟอร์ม ESP32:
คลิกที่เครื่องมือ >> บอร์ด >> โมดูล ESP32 Dev
1- ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ Arduino รู้วิธีสื่อสารกับ ESP ของเรา:
คลิกที่เครื่องมือ >> พอร์ต และเลือกอันที่ปรากฏขึ้นจากการเสียบสายเคเบิลนี้
สำคัญ:
หากคุณมีปัญหาใดๆ ในการอัปโหลดโค้ดไปยัง ESP ของคุณ ให้ตรวจสอบสองเมนูนี้ก่อน หากไม่ได้เลือกพอร์ตด้วยเครื่องหมายถูก ซอฟต์แวร์ Arduino จะไม่สื่อสารกับมัน
ขั้นตอนที่ 12: การเพิ่มไลบรารี่ให้กับ Arduino IDE
ตอนนี้เรากำลังจะเพิ่มห้องสมุดที่จะช่วยให้เราสามารถทดสอบ Led Wall ของเรา !
1- คลิกที่เครื่องมือ >> จัดการไลบรารี
2- ที่มุมขวาบน ให้ค้นหา NeoPixelBus ค้นหา "NeoPixelBus by Makuna" ติดตั้ง (ดูภาพ)
ศักยภาพห้องสมุดที่น่าสนใจอื่นๆ:(ไม่จำเป็นสำหรับบทช่วยสอนนี้)
- NeoMatrix
- FastLed
- อาร์ทเน็ต
- GFX
ขั้นตอนที่ 13: รหัสแรก: Strand Test
รหัสแรกของเราคือตัวอย่างจากห้องสมุด
คุณสามารถคัดลอก / วางรหัสด้านล่างหรือคลิกที่:
ไฟล์ >> ตัวอย่าง >> Adafruit NeoPixelBus >> Strandtest
โปรดตรวจสอบให้แน่ใจว่าได้เปลี่ยน LED_PIN ของคุณเป็น LED_PIN ที่คุณใช้ในการเชื่อมต่อไฟ LED ของคุณ เราใช้ 13 ในบทช่วยสอนนี้
ตรวจสอบให้แน่ใจว่าได้ปรับขนาดเกลียวด้วยตัวแปร LED_COUNT
// โปรแกรม LED Striptest ขั้นพื้นฐานในชีวิตประจำวัน
#include#ifdef _AVR_ #include // จำเป็นสำหรับ 16 MHz Adafruit Trinket #endif // ขาใดบน Arduino ที่เชื่อมต่อกับ NeoPixels #define LED_PIN 13 // NeoPixels ต่อกับ Arduino จำนวนเท่าใด #define LED_COUNT 500 // ประกาศวัตถุแถบ NeoPixel ของเรา: แถบ Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // อาร์กิวเมนต์ 1 = จำนวนพิกเซลในแถบ NeoPixel // อาร์กิวเมนต์ 2 = หมายเลขพิน Arduino (ส่วนใหญ่ถูกต้อง) // อาร์กิวเมนต์ 3 = แฟล็กประเภทพิกเซล รวมกันตามต้องการ: // NEO_KHZ800 800 KHz bitstream (ผลิตภัณฑ์ NeoPixel ส่วนใหญ่ที่มี WS2812 LEDs) // NEO_KHZ400 400 KHz (คลาสสิก 'v1' (ไม่ใช่ v2) พิกเซล FLORA, ไดรเวอร์ WS2811) // NEO_GRB Pixels ต่อสายสำหรับ GRB bitstream (ผลิตภัณฑ์ NeoPixel ส่วนใหญ่) // NEO_RGB Pixels ต่อสายสำหรับ RGB bitstream (พิกเซล FLORA v1 ไม่ใช่ v2) // NEO_RGBW Pixels ถูกต่อสายสำหรับ RGBW bitstream (ผลิตภัณฑ์ NeoPixel RGBW) // ฟังก์ชัน setup() - ทำงานครั้งเดียวเมื่อเริ่มต้น -------------------- ------------ void setup() { // บรรทัดเหล่านี้รองรับ Adafruit Trinket 5V 16 MHz โดยเฉพาะ // บอร์ดอื่นๆ คุณสามารถลบส่วนนี้ออกได้ (แต่ไม่เป็นอันตรายหากปล่อยไว้): #ifdefined(_AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // END ของรหัสเฉพาะ Trinket แถบ.begin(); // เริ่มต้นวัตถุแถบ NeoPixel (จำเป็น) strip.show(); // ปิดพิกเซลทั้งหมด ASAP strip.setBrightness(50); // ตั้งค่าความสว่างเป็นประมาณ 1/5 (สูงสุด = 255) } // ฟังก์ชันลูป () - ทำงานซ้ำ ๆ ตราบใดที่บอร์ดเปิดอยู่ --------------- void loop() { // เติมความยาวของแถบด้วยสีต่างๆ… colorWipe(strip. Color(255, 0, 0), 50); // สีแดง colorWipe(strip. Color(0, 255, 0), 50); // สีเขียว colorWipe(strip. Color(0, 0, 255), 50); // สีน้ำเงิน // ทำเอฟเฟกต์โรงละครในสีต่างๆ… theaterChase(strip. Color(127, 127, 127), 50); // สีขาว ครึ่งความสว่างโรงละคร Chase(แถบสี(127, 0, 0), 50); // สีแดงครึ่งความสว่างโรงละคร Chase(แถบสี(0, 0, 127), 50); // สีน้ำเงิน รุ้งครึ่งความสว่าง (10); // วัฏจักรสายรุ้งไหลไปตามแถบโรงละครทั้งหมด ChaseRainbow(50); // เรนโบว์ - enhanced theaterChase ตัวแปร } // ฟังก์ชันบางอย่างของเราเองสำหรับการสร้างเอฟเฟกต์ภาพเคลื่อนไหว ----------------- // เติมแถบพิกเซลทีละรายการด้วยสี ไม่เคลียร์สตริป // ก่อน; อะไรก็ตามที่มีจะครอบคลุมพิกเซลทีละพิกเซล ส่งผ่านสี // (เป็นค่า 'บรรจุ' 32 บิตเดียว ซึ่งคุณสามารถรับได้โดยการเรียก // strip. Color(แดง, เขียว, น้ำเงิน) ตามที่แสดงในฟังก์ชันลูป () ด้านบน), // และ a เวลาหน่วง (เป็นมิลลิวินาที) ระหว่างพิกเซล เป็นโมฆะ colorWipe (สี uint32_t, int รอ) { สำหรับ (int i = 0; i strip.setPixelColor (i, สี); // ตั้งค่าสีของพิกเซล (ใน RAM) strip.show (); // อัปเดตแถบเพื่อให้ตรงกับความล่าช้า (รอ); // หยุดชั่วขณะหนึ่ง } } // ไฟไล่ตามสไตล์โรงละครกระโจม ส่งผ่านสี (ค่า 32 บิต, // a la strip. Color(r, g, b) ตามที่กล่าวไว้ข้างต้น), และเวลาหน่วง (เป็นมิลลิวินาที) // ระหว่างเฟรม void theaterChase (uint32_t color, int wait) { สำหรับ (int a=0; a <10; a++) { // ทำซ้ำ 10 ครั้ง… สำหรับ (int b=0; b<3; b++) { // 'b' นับจาก 0 ถึง 2… strip.clear(); // ตั้งค่าพิกเซลทั้งหมดใน RAM เป็น 0 (ปิด) // 'c' นับจาก 'b' ไปจนสุด strip ในขั้นตอนที่ 3… for(int c=b; c strip.setPixelColor(c, color); // ตั้งค่าพิกเซล 'c' เป็นค่า 'color' } strip.show(); // อัปเดตแถบด้วยการหน่วงเวลาเนื้อหาใหม่ (รอ); // หยุดชั่วขณะหนึ่ง } } } // สายรุ้งวนไปตามแถบทั้งหมด ผ่านเวลาหน่วงเวลา (เป็นมิลลิวินาที) ระหว่างเฟรม รุ้งเป็นโมฆะ (int รอ) { // สีของพิกเซลแรกทำงาน 5 ลูปโดยสมบูรณ์ผ่าน วงล้อสี. // วงล้อสีมีช่วง 65536 แต่มันคือ โอเคถ้าเราพลิกคว่ำ // แค่นับ 0 ถึง 5*65536 การเพิ่ม 256 ให้กับ firstPixelHue ในแต่ละครั้ง // หมายความว่าเราจะสร้าง 5*65536/256 = 1280 ผ่านลูปภายนอกนี้: for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) { สำหรับ (int i= 0; I // Offset pixel hue ตามจำนวนที่จะทำให้เกิดการปฏิวัติเต็มรูปแบบของ // วงล้อสี (ช่วง 65536) ตามความยาวของแถบ // (strip.numPixels() ขั้น): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels()); // strip. ColorHSV() สามารถรับ 1 หรือ 3 อาร์กิวเมนต์: เฉดสี (0 ถึง 65535) หรือ // เพิ่มความอิ่มตัวและค่า (ความสว่าง) (แต่ละ 0 ถึง 255) // ในที่นี้ เราใช้เพียงตัวแปรฮิวอาร์กิวเมนต์เดียว ผลลัพธ์ // ถูกส่งผ่าน strip.gamma32() เพื่อให้สีที่ 'จริงกว่า' // ก่อนกำหนดให้กับแต่ละพิกเซล: strip.setPixelColor(i, strip.gamma32 (strip. ColorHSV(pixelHue))); } strip.show(); // อัปเดตแถบที่มีเนื้อหาใหม่ล่าช้า (รอ); // หยุดชั่วคราวสักครู่ } } // โรงละครที่ปรับปรุงด้วยสายรุ้ง ผ่านเวลาหน่วง (ใน ms) ระหว่างเฟรม void theatreChaseRainbow(int wait) { i nt firstPixelHue = 0; // พิกเซลแรกเริ่มต้นที่สีแดง (hue 0) สำหรับ (int a=0; a<30; a++) { // ทำซ้ำ 30 ครั้ง… สำหรับ (int b=0; b RGB strip.setPixelColor(c, color); / / ตั้งค่าพิกเซล 'c' เป็นค่า 'color' } strip.show(); // อัปเดตแถบด้วยเนื้อหาใหม่ล่าช้า (รอ); // หยุดชั่วขณะ firstPixelHue += 65536 / 90; // วงล้อสีหนึ่งรอบ มากกว่า 90 เฟรม } } }
ขั้นตอนที่ 14: รหัสตัวอย่าง SHU
รหัสของเราเปิดไฟ LED ทั้งหมดทีละตัวเพื่อให้แน่ใจว่าใช้งานได้:
// ตัวอย่างนี้จะวนไปมาระหว่างการแสดง 500 พิกเซลเป็นสีแดง
#includeconst uint16_t PixelCount = 500; // ตัวอย่างนี้ถือว่า 4 พิกเซล ทำให้มีขนาดเล็กลงจะทำให้เกิดการล้มเหลว const uint8_t PixelPin = 13; // ตรวจสอบให้แน่ใจว่าตั้งค่านี้เป็นพินที่ถูกต้อง โดยไม่สนใจ Esp8266
#define colorSaturation 128 // พิกเซลสามองค์ประกอบในลำดับและความเร็วที่ต่างกัน
แถบ NeoPixelBus (PixelCount, PixelPin);
//แถบ NeoPixelBus (PixelCount, PixelPin); Rgbสีแดง(0, ความอิ่มตัวของสี, 0); Rgbสีเขียว(ความอิ่มตัวของสี, 0, 0); Rgbสีฟ้า(0, 0, ความอิ่มตัวของสี); Rgb สีขาว (ความอิ่มตัวของสี); Rgb สีดำ (0); HslColor hslRed(สีแดง); HslColor hslGreen(สีเขียว); HslColor hslBlue(สีน้ำเงิน); HslColor hslWhite(สีขาว); HslColor hslBlack(สีดำ); การตั้งค่าเป็นโมฆะ () { Serial.begin (115200) ในขณะที่ (!Serial); // รอการแนบ Serial.println(); Serial.println("กำลังเริ่มต้น…"); Serial.flush(); // สิ่งนี้จะรีเซ็ต neopixels ทั้งหมดเป็นแถบปิดสถานะเริ่มต้น (); แถบแสดง (); Serial.println(); Serial.println("กำลังรัน…"); } วงเป็นโมฆะ () { ล่าช้า (100); Serial.println("สี R, G, B, W…"); for(int i = 0; i <=499;i++){ // ตั้งค่าสี // หากไม่ตรงกัน คุณต้องใช้แถบคุณสมบัติ NeoGrbFeature. SetPixelColor(i, red);strip. Show (); ล่าช้า (100); แถบ. SetPixelColor(i, hslRed); แถบแสดง (); ล่าช้า (100); }}
ขั้นตอนที่ 15: การอัปโหลดรหัสไปยัง ESP32
สำคัญ:
เพื่อให้สามารถอัปโหลดโค้ดไปยังไมโครคอนโทรลเลอร์ได้ จะต้องอยู่ในโหมดการเขียนโปรแกรม ส่วนใหญ่จะทำโดยอัตโนมัติและสิ่งที่คุณต้องทำคือคลิกอัปโหลดในซอฟต์แวร์
ESP32 ของเรากำหนดให้คุณต้องกดปุ่มตั้งโปรแกรมค้างไว้ในขณะที่กำลังส่งรหัส คุณต้องรีเซ็ตรหัสหลังจากอัปโหลดรหัสโดยกดปุ่มรีเซ็ตหนึ่งครั้ง
ปุ่มตั้งโปรแกรมของ ESP32 อยู่ทางด้านซ้าย ปุ่มรีเซ็ตทางด้านขวา โปรดดูคู่มือของคุณหากคุณมีไมโครคอนโทรลเลอร์อื่น
ขั้นตอนที่ 16: การอ้างอิง
คำแนะนำนี้สร้างขึ้นด้วยความช่วยเหลือของบทช่วยสอนต่อไปนี้:
randomnerdtutorials.com/installing-the-esp…
ใช้สำหรับติดตั้ง ESP32 ลงใน Arduino IDE
ผู้เขียน:
นาธาเนียล บาโรนกาเบรียล คาสโตร
บรรณาธิการ:
เซดริก เบลมลิง
แนะนำ:
DIY Exploding Wall Clock พร้อม Motion Lighting: 20 ขั้นตอน (พร้อมรูปภาพ)
DIY Exploding Wall Clock พร้อม Motion Lighting: ในคำแนะนำ / วิดีโอนี้ฉันจะแสดงให้คุณเห็นทีละขั้นตอนเกี่ยวกับวิธีการสร้างนาฬิกาแขวนที่ดูสร้างสรรค์และไม่เหมือนใครด้วยระบบไฟส่องสว่างแบบเคลื่อนไหวในตัว แนวคิดการออกแบบนาฬิกาที่ไม่เหมือนใครนี้มีการปรับทิศทางเพื่อให้นาฬิกาโต้ตอบได้มากขึ้น . เมื่อฉันเดิน
LEGO WALL-E พร้อม Micro:bit: 8 ขั้นตอน (พร้อมรูปภาพ)
LEGO WALL-E พร้อม Micro:bit: เราใช้ micro:bit ร่วมกับ Bit Board ที่เป็นมิตรกับ LEGO เพื่อควบคุมเซอร์โวมอเตอร์สองตัว ซึ่งจะทำให้ WALL-E สามารถสำรวจภูมิประเทศที่อันตรายของพื้นห้องนั่งเล่นของคุณได้ .สำหรับโค้ด เราจะใช้ Microsoft MakeCode ซึ่งเป็นบล
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
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) & จาก