» อิเล็กทรอนิกส์ » Arduino » Led Matrix บน WS2812

Led Matrix บน WS2812

Led Matrix บน WS2812

สวัสดีตอนบ่ายฉันอยากจะแบ่งปันอีก homebrew กิ่ง. เวลานี้ฉันตัดสินใจที่จะเขียนคำแนะนำสำหรับการผลิตเมทริกซ์ Led ขนาดเป็นไดโอด 10x10 ขนาดเล็ก แต่ตามคำแนะนำนี้มันเป็นไปได้ที่จะสร้างเมทริกซ์และขนาดใหญ่ เพื่อความงามที่เพิ่มแสงไฟ พื้นฐานนี้ถ่ายโดย LEDs ที่ระบุแอดเดรส WS2812 ที่ติดตั้งบนเทปที่ 60 ไดโอดต่อเมตร เราจะจัดการพวกเขาผ่าน Arduino Pro Mini มีตัวเลือกมากมายสำหรับการใช้เมทริกซ์ ตัวอย่างเช่นฉันเพิ่มเซ็นเซอร์อุณหภูมิและเขียนเฟิร์มแวร์นาฬิกาโดยไม่มี RTC

เราจะต้อง:
- เทป WS2812 พร้อมไฟ LED 120 ดวง, 60 ชิ้นต่อเมตร
-
- แหล่งจ่ายไฟ 5V 1A
- เซ็นเซอร์อุณหภูมิ ds18b20
- ตัวต้านทาน 4.7 Kom 0.25 W
- chipboard หนา 10 มม
- พลาสติกเคลือบหรือ "นม"
- กระดาษแข็งหนา
- เทปไฟฟ้า
- สายเชื่อมต่อ
- แผงวงจร
- ปุ่มต่างๆ
- สกรูเกลียวปล่อย 19 มม
- หัวแร้ง
- บัดกรีขัดสน
- เทปสองด้าน
- USB-TTL
- สว่านหรือไขควง
- เครื่องเลื่อยฉลุ
- ดอกสว่านสำหรับงานไม้

ขั้นตอนที่ 1 การเตรียมไดโอด
เราใช้กระดาษแข็งที่มีความหนาแน่นสูงและ "เส้น" ซึ่งก็คือเราวาดเส้นแนวนอนด้วยระยะห่างระหว่าง 16 มม. เรานับ 100 ไดโอดจากเทปของเรา โหมด 100 ไดโอดเหล่านี้ออกเป็นส่วน ๆ ของ 10 ไดโอด ส่วนที่เหลืออีก 20 ถูกตัดหนึ่งไดโอด ต้องทำอย่างระมัดระวังและเคร่งครัดตามแนวรอยตัด ให้ฉันอธิบาย: 10 ส่วนของ 10 ไดโอดทั้งหมด 100 จำเป็นสำหรับเมทริกซ์ส่วนที่เหลืออีก 20 เป็นแบ็คไลท์ ส่วนของ 10 ไดโอดจะติดกาวบนกระดาษแข็งตามแนว ให้ความสนใจกับทิศทางของสัญญาณควบคุมสำหรับไดโอด! สัญญาณควบคุมควรจัดส่งไปในทิศทางที่ถูกต้องเพื่อจุดประสงค์นี้ลูกศรจะปรากฏบนทิศทางเทป กาวแถบแรกจากซ้ายไปขวาคือ IN (อินพุต) บนเทปควรอยู่ทางซ้ายและ OUT (ด้านขวา) ดังนั้น IN (อินพุต) ของแถบแรกควรอยู่ที่มุมบนซ้าย! กาวแถบถัดไปในทางตรงกันข้ามจากขวา - ไปทางซ้าย ที่สามอีกครั้งจากซ้ายไปขวา ดังนั้นต่อไป เมื่อติดตามทิศทางของสัญญาณควบคุมเราควรจะได้เส้นซิกแซกโดยเริ่มจากมุมซ้ายบน สิ่งสำคัญคือไม่สับสนอะไร

ระหว่างแถบที่หนึ่งและสองใกล้กับจุดเริ่มต้นทำให้เกิดรูสำหรับสายไฟ บัดกรีสายไฟให้กับแถบแรกโดยเฉพาะอย่างยิ่งมีหลายสีเพื่อไม่ให้ปะปน เราส่งพวกเขาผ่านรูที่ทำ ถัดไปประสานลายเส้นสั้น ๆ ของเรา +5 จากช่องแรกถึง +5 วินาที GND ถึง GND จาก OUT ของแถบแรกไปยัง IN ของแถบที่สองจาก OUT ของแถบที่สองไปยัง IN ของแถบที่สามเป็นต้น ผลลัพธ์ควรเป็นดังนี้:


ขั้นตอนที่ 2 สร้างเคส
กรณีประกอบด้วยสามส่วน ก่อนอื่นคุณต้องตัดเฟรมจากความหนา 10 มม. ที่ดีที่สุดคือการตัดด้วยจิ๊กซอว์ แต่ในกรณีที่ไม่มีก็สามารถดำเนินการได้ด้วยตนเอง ด้านของสี่เหลี่ยมจัตุรัสด้านนอก 190 มม.ภายใน - 170 มม. สำหรับความงามมันจะเป็นการดีกว่าถ้าคุณปัดมุม ดังนั้นจึงควรมีโครงที่มีขนาด 190 x 190 มม. และความหนาของผนัง 10 มม. หลังจากตัดเราทำความสะอาดด้วยกระดาษทรายละเอียด


เราดำเนินการผลิตในส่วนที่สอง เราแนบกรอบของเราเข้ากับแผ่น chipboard แล้ววาดดินสอรอบขอบด้านนอก เราลบเฟรม เราถอย 30 มม. แต่ละด้านเข้าไปด้านในของสี่เหลี่ยมจัตุรัสและวาดสี่เหลี่ยมจัตุรัสด้านใน คุณควรวัดเฟรมอีก 190 x 190 แต่มีความหนาด้านข้างที่ 30 มม. ที่ระยะ 5 มม. จากขอบด้านนอกของเฟรมนี้และที่ระยะห่างเท่ากันจากกันเราสร้างรูที่มีเส้นผ่านศูนย์กลาง 3 มม. 2 หลุมในแต่ละด้าน พวกเขาจำเป็นสำหรับสกรู คุณต้องตัดสินใจว่าส่วนบนจะเป็นที่ใดและที่มุมบนซ้ายของสี่เหลี่ยมด้านในให้สร้างช่องสำหรับสายไฟ


ที่ด้านหลังของเฟรมที่สองพร้อมกับเส้นรอบวงของด้านในมีความจำเป็นต้องขันสกรูกลุ่มจากความหนาของบอร์ดเดียวกัน 10 มม. ผลลัพธ์ควรมีลักษณะเช่นนี้:


ไปที่การชุมนุม เราวางเฟรมที่สองไว้บนโต๊ะ ด้านบนไดโอดขึ้นใส่กล่องกระดาษแข็งที่มีไดโอด และเราครอบคลุมมันทั้งหมดด้วยเฟรมแรก วางกระดาษแข็งระหว่างเฟรมเพื่อให้ไดโอดวิ่งขนานกับด้านข้างของเฟรมและในระยะที่เท่ากันจากขอบ เราพลิกมันอย่างระมัดระวังเพื่อไม่ให้ล้มลงไดโอดและบิดมันเข้าด้วยกัน หลังจากนั้นเราก็ตัดกระดาษแข็งส่วนเกินออก


ไปที่แสงไฟ ที่ด้านข้างของไดโอดระหว่างแถบสุดท้ายและแถบสุดท้ายใกล้กับขอบด้านซ้ายคุณจะต้องเจาะรูสำหรับสาย บัดกรีสายไฟที่ส่วนท้ายของแถบสุดท้ายและร้อยด้ายเส้นลวดเหล่านี้ผ่านรู ส่วนที่เหลือและตัดทีละครั้ง 20 ไดโอดจะต้องติดกาวที่ด้านหลังในระยะทางเท่ากันจากแต่ละอื่น ๆ 5 ชิ้นในแต่ละด้าน ทิศทางของสัญญาณควบคุมคือเข็มชั่วโมงทุกชั่วโมงเริ่มจากมุมขวาล่าง เราประสานพวกเขาเช่นเดียวกับเมทริกซ์ สายที่ได้รับจากปลายเมทริกซ์จะถูกบัดกรีไปที่ไดโอดแรก +5 จากไดโอดแรกถึง +5 ของวินาที GND ถึง GND จาก OUT ของไดโอดแรกไปยัง IN ของที่สองจาก OUT ของที่สองถึง IN ของที่สามและอื่น ๆ

เราวาง Arduino Pro Mini ไว้ในเฟรมด้านหลังด้านหลังเมทริกซ์ สำหรับพลังงานใช้แหล่งจ่ายไฟที่เสถียร 5 โวลต์ ด้วยความแรงของกระแสอย่างน้อย 1 แอมป์ ไดโอดค่อนข้างโลภมากและถ้าคุณวางแผนที่จะเปิดใช้งานทั้งหมดในครั้งเดียวและเป็นเวลานานจำเป็นต้องใช้แหล่งจ่ายไฟที่มีประสิทธิภาพยิ่งขึ้นฉันขอแนะนำ 1.5 - 2 แอมแปร์ เราเชื่อมต่อทั้งหมดนี้เข้าด้วยกันจากแหล่งจ่ายไฟ +5 ถึง +5 Arduino และ +5 WS2812 -5 power supply ด้วย GND Arduino และ GND WS2812 สายควบคุมจาก IN WS2812 เชื่อมต่อกับ "พิน 6" Arduino


ไดโอดนั้นสว่างมากและพวกมันก็ไม่ได้ดูสวยงามมากนัก ดังนั้นจึงจำเป็นต้องผลิตและติดตั้ง diffuser พลาสติกแบบเคลือบเหมาะที่สุดสำหรับสิ่งนี้หรือที่เรียกว่า "นม" มีความจำเป็นต้องแนบเมทริกซ์กับพลาสติกและวงกลมด้วยดินสอ จากนั้นตัดและติดเทปสองด้านที่กรอบด้านหน้า ไม่สามารถหาพลาสติกชนิดนี้ได้อย่างรวดเร็ว แต่ฉันต้องการเริ่มผลิตภัณฑ์จริงๆ ในกรณีนี้คุณสามารถใช้กระดาษแข็งสีขาวหรือกระดาษแนวนอนแทนพลาสติก


โดยหลักการเดียวกันมันเป็นไปได้ที่จะสร้างเมทริกซ์ที่มีขนาดใหญ่ จำเป็นต้องนับขนาดของเคสเท่านั้น

ขั้นตอนที่ 3 เชื่อมต่อเซ็นเซอร์อุณหภูมิ
มันเป็นเพียงว่านาฬิกาเรือนนี้ไม่น่าสนใจดังนั้นให้เพิ่มเซ็นเซอร์วัดอุณหภูมิลงไป ในการวัดอุณหภูมิเราจะใช้เซ็นเซอร์รวม DS18B20 มันมีความแม่นยำในการวัดสูงข้อผิดพลาดไม่เกิน 0.5 ° C เซ็นเซอร์นี้ได้รับการปรับเทียบเรียบร้อยแล้วจากโรงงานไม่ต้องมีการตั้งค่าเพิ่มเติม ช่วงการวัดอุณหภูมิกว้าง -55 ... + 125 ° C มันสามารถใช้ในห้องใดก็ได้ หากอยู่บนถนนคุณต้องดูแลการป้องกันความชื้น มีโหมดการทำงานสองโหมด: ด้วยแหล่งพลังงานภายนอกและ "พลังงานปลอม" ฉันแนะนำให้ใช้กับไฟภายนอก


เซ็นเซอร์หลายตัวสามารถรวมอยู่ในสายสื่อสารเดียว แต่สำหรับเราแล้วมันก็เพียงพอแล้ว +5 เรารับจากแหล่งจ่ายไฟ GND ถึง -5 สายจากพิน“ DQ” ds18b20 ถึง“ pin 9” Arduinoอย่าลืมใส่ตัวต้านทานแบบดึงขึ้นระหว่าง“ DQ” และ +5 ที่ 4.7 kOhm ในความคิดของฉันมันสะดวกที่สุดในการทำเช่นนี้กับเซ็นเซอร์ เราแสดงไว้ที่มุมขวาบน:


ขั้นตอนที่ 4 การเตรียมบอร์ดด้วยปุ่ม
ในกรณีนี้เราใช้เมทริกซ์เป็นนาฬิกา สามารถตั้งเวลาได้โดยใช้พอร์ตอนุกรมโดยเชื่อมต่อ Arduino กับคอมพิวเตอร์ สิ่งนี้ไม่สะดวกเสมอไป ดังนั้นเราจะผลิตบอร์ดที่มีสามปุ่มเพื่อตั้งเวลา นอกจากนี้เมทริกซ์ยังสามารถใช้เพื่อวัตถุประสงค์อื่นเพียงแค่เขียนภาพร่างอื่น จากนั้นสามารถใช้ปุ่มเพื่อวัตถุประสงค์อื่น


เราเชื่อมต่อมันดังต่อไปนี้: เชื่อมต่อสายสามัญเข้ากับทั้งสามปุ่มเข้ากับ Arduino“ GND” ปุ่มแรกมันทำหน้าที่ในการเข้าสู่โหมดการตั้งค่าเวลาและสลับเวลาและวันที่เชื่อมต่อกับ "Pin 2" ปุ่มที่สองสำหรับการเพิ่มค่าคือ "Pin 3" และปุ่มที่สามสำหรับการลดค่าคือ "Pin 4" เราแนบปุ่มเข้ากับเทปสองด้านด้านหลังเมทริกซ์:


ขั้นตอนที่ 5 เฟิร์มแวร์
ดังที่ฉันได้กล่าวไปแล้วเมทริกซ์สามารถนำไปใช้เพื่อจุดประสงค์ที่แตกต่างกันได้ ขณะนี้ฉันได้เขียนภาพร่างสำหรับนาฬิกาเท่านั้น ในโครงร่างต่อมาและร่างอื่น ๆ สำหรับการเขียนและการเติมฉันใช้ Arduino IDE 1.8.5 คุณสามารถควบคุมเมทริกซ์ได้หลายวิธี ควบคุมแต่ละไดโอดเป็นรายบุคคลหรือเป็นเมทริกซ์เดียว ในร่างของฉันฉันใช้ตัวเลือกแรก ในการทำสิ่งนี้คุณต้องมีห้องสมุดจาก Adafruit ที่เรียกว่า NeoPixel-master:
adafruit_neopixel-master.rar [27.83 Kb] (ดาวน์โหลด: 71)


หากต้องการทำงานกับไดโอดเช่นเดียวกับเมทริกซ์ Adafruit_NeoMatrix-master และ Adafruit-GFX-Library-master:
matrix_libraries.rar [282.01 Kb] (ดาวน์โหลด: 80)


เซ็นเซอร์อุณหภูมิต้องการห้องสมุด OneWire
onewire.rar [16.75 Kb] (ดาวน์โหลด: 64)


ในการแก้ไขและเติมร่างคุณต้องติดตั้ง Arduino IDE จากเว็บไซต์ทางการของ Arduino.cc ก่อนจากนั้นจึงทำการไลบรารี่เหล่านี้ทั้งหมด มีความจำเป็นต้องทำการแตกไฟล์ที่เก็บถาวรเหล่านี้และวางไฟล์ที่ไม่ได้แพ็คลงในโฟลเดอร์“ libraries” ที่อยู่ในโฟลเดอร์ที่ติดตั้ง Arduino IDE นอกจากนี้ยังเป็นไปได้ที่จะติดตั้งไลบรารี่ใน Arduino IDE โดยตรง โดยไม่ต้องเปิดไฟล์เก็บถาวรที่ดาวน์โหลดใน Arduino IDE ให้เลือกเมนู Sketch - Connect Library ที่ด้านบนของรายการดรอปดาวน์เลือก "เพิ่ม. Zip ห้องสมุด" ในกล่องโต้ตอบที่ปรากฏขึ้นให้เลือกไลบรารีที่คุณต้องการเพิ่ม คุณต้องรีสตาร์ท Arduino IDE

เซ็นเซอร์อุณหภูมิมีที่อยู่ที่ไม่ซ้ำกันสำหรับแต่ละอุปกรณ์ - รหัส 64 บิต การค้นหารหัสนี้เป็นงานที่ต้องทำ ดังนั้นก่อนอื่นคุณต้องเชื่อมต่อเซ็นเซอร์กับ Arduino กรอกแบบร่างที่อยู่ในไฟล์ - ตัวอย่าง - อุณหภูมิดัลลัส - เมนู OneWireSearch ถัดไปเรียกใช้เครื่องมือ - การตรวจสอบพอร์ต Arduino ควรหาเซ็นเซอร์ของคุณและเขียนที่อยู่ เราคัดลอกหรือเขียนที่อยู่ของเซ็นเซอร์ของคุณ เปิดแบบร่าง Ard_Tic_Tak_WS2812_Matrix_10x10_Serial_Knopki_Term มองหาบรรทัด:

byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // ที่อยู่ของเซ็นเซอร์ของฉัน 


เราจดที่อยู่ของเซ็นเซอร์ของคุณระหว่างวงเล็บปีกกาแทนที่ที่อยู่ของเซ็นเซอร์ของฉัน

นาฬิกาเรือนนี้ไม่ได้ใช้โมดูล RTC ดังนั้นหากพวกเขากำลังรีบหรืออยู่ข้างหลังคุณควรเปลี่ยนค่าในบรรทัด:

if (micros () - prevmicros & gt; 494000) {// เปลี่ยนเป็นอื่นเพื่อปรับค่า 500,000


มีความจำเป็นต้องกำหนดจำนวนนี้สังเกตุ หากนาฬิกาของคุณกำลังรีบคุณควรเพิ่มหมายเลขนี้ถ้าฉันอยู่ข้างหลังให้ลดลง

เติมร่าง
ard_tic_tak_ws2812_matrix_10x10_serial_knopki_term.rar [5.45 Kb] (ดาวน์โหลด: 115)


ฉันขอโทษ แต่ฉันไม่ประสบความสำเร็จในการถ่ายภาพโดยที่ไดโอดเปิดทำงาน ฉันลองด้วยและไม่มีไฟ แต่ฉันรับรองว่าคุณมีชีวิตอยู่พวกเขาดูดีขึ้นมาก




0
0
0

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...