สุดยอดคู่มือการเชื่อมต่อแถบไฟ LED กับ Arduino

สุดยอดคู่มือการเชื่อมต่อแถบไฟ LED กับ Arduino

การเพิ่มขึ้นของไฟ LED เป็นสตราโตสเฟียร์ และเข้าใจได้ง่ายว่าทำไม พวกมันราคาถูกในการผลิต กินไฟน้อยกว่าตัวเลือกแสงอื่นๆ อย่างมาก และโดยส่วนใหญ่แล้วจะไม่เกิดความร้อน ทำให้ปลอดภัยสำหรับการใช้งานที่หลากหลาย





หนึ่งในผลิตภัณฑ์ LED ที่พบมากที่สุดคือแถบ LED ในบทความนี้ เราจะพูดถึงวิธีการตั้งค่าสองประเภทที่พบบ่อยที่สุดกับ Arduino โครงการเหล่านี้ง่ายมาก และแม้ว่าคุณจะเป็น มือใหม่กับ Arduino หรืออุปกรณ์อิเล็กทรอนิกส์ DIY คุณก็ทำได้





เราจะใช้ Arduino IDE เพื่อควบคุมพวกมันด้วย โปรเจ็กต์นี้ใช้ Arduino Uno แม้ว่าคุณจะสามารถใช้บอร์ดที่เข้ากันได้เกือบทั้งหมด (เช่น NodeMCU )





เลือกสตริปของคุณ

เมื่อซื้อแถบ LED มีบางสิ่งที่ต้องพิจารณา ประการแรกคือการทำงาน หากคุณกำลังวางแผนที่จะใช้แถบนี้สำหรับแสงโดยรอบเป็นส่วนใหญ่ ให้ใช้วิธีง่ายๆ ไฟ LED RGB 12v แถบ ( SMD5050 ) จะเป็นทางเลือกที่เหมาะสม

แถบเหล่านี้จำนวนมากมาพร้อมกับรีโมทอินฟราเรดเพื่อควบคุม แม้ว่าในโครงการนี้ เราจะใช้ Arduino แทน ใช้เวลาเพียงเล็กน้อยในการช้อปปิ้ง ในขณะที่เขียน คุณสามารถซื้อแถบเหล่านี้ได้ในราคาเพียง $ 1 ต่อเมตร .



เครดิตภาพ: ภาณุ สุวรรณรัตน์ via Shutterstock

แอพข้อความเป็นคำพูดสำหรับ Android

หากคุณต้องการเทคโนโลยีที่สูงกว่าเล็กน้อย ให้พิจารณา WS2811 / 12 / 12B . แถบเหล่านี้ (บางครั้งเรียกว่า Neopixels ) มีชิปเซ็ตในตัวที่อนุญาตให้ระบุแยกกันได้ ซึ่งหมายความว่ามีความสามารถมากกว่าแสงโดยรอบ





คุณสามารถใช้มันเพื่อสร้างจอแสดงผลพิกเซล LED ราคาถูกตั้งแต่เริ่มต้น คุณสามารถใช้มันเพื่อสร้างโคมไฟเมฆพายุในร่มของคุณเองได้

แถบเหล่านี้ต้องการพลังงานเพียง 5v เท่านั้น แม้ว่าจะสามารถจ่ายไฟให้กับอุปกรณ์จำนวนเล็กน้อยได้โดยตรงจากบอร์ด Arduino แต่โดยทั่วไปควรใช้แหล่งจ่ายไฟ 5V แยกต่างหากเพื่อช่วยตัวคุณเองจากกลิ่นของ Arduino ที่ทอดแล้ว หากคุณกำลังมองหาไฟ LED ที่ตั้งโปรแกรมได้ทีละตัว สิ่งเหล่านี้เหมาะสำหรับคุณ ในขณะที่เขียน สามารถใช้ได้ประมาณ ต่อเมตร .





สิ่งที่ต้องพิจารณาอีกประการหนึ่งคือตำแหน่งที่แถบเหล่านี้น่าจะถูกใช้ แถบทั้งสองประเภทนี้มีความยาวต่างกัน ความหนาแน่นของ LED (จำนวน LED ต่อเมตร) และระดับการป้องกันสภาพอากาศที่แตกต่างกัน

เมื่อดูแถบ LED ให้ใส่ใจกับตัวเลขในรายการ โดยปกติตัวเลขแรกจะเป็นจำนวน LED ต่อเมตรและตัวอักษร IP ตามด้วยตัวเลขจะเป็นตัวกันฝน ตัวอย่างเช่น หากรายการระบุว่า 30 IP67 ซึ่งหมายความว่าจะมี 30 ไฟ LED ต่อเมตร NS 6 แสดงว่าผนึกอย่างสมบูรณ์จากฝุ่นและ 7 หมายความว่าได้รับการป้องกันจากการจมน้ำชั่วคราวในน้ำ (ดูข้อมูลเพิ่มเติมเกี่ยวกับ ทนฝนและแดดและการจัดเรต IP .) เมื่อคุณเลือกแถบ LED แล้ว ก็ถึงเวลาเชื่อมโยงกับ Arduino มาเริ่มกันที่ SMD5050 กันก่อน

กำลังเชื่อมต่อ

ในการเชื่อมต่อแถบ LED 12v กับ Arduino คุณจะต้องมีส่วนประกอบบางอย่าง:

  • แถบ LED RGB 12v ( SMD5050 )
  • 1 x Arduino Uno (บอร์ดที่เข้ากันได้จะทำ)
  • 3 x 10k ตัวต้านทานโอห์ม
  • 3 x ระดับลอจิก N-channel MOSFETs
  • 1 x เขียงหั่นขนม
  • สายต่อ
  • พาวเวอร์ซัพพลาย 12v

ก่อนตั้งวงเรามาว่ากัน MOSFETs .

เมื่อใดก็ตามที่คุณควบคุมบางสิ่งที่มีแรงดันไฟฟ้าสูงกว่าไมโครคอนโทรลเลอร์ คุณต้องมีบางสิ่งในระหว่างนั้นเพื่อป้องกันไม่ให้บอร์ดของคุณถูกทอดทิ้ง วิธีหนึ่งที่ง่ายกว่าในการทำเช่นนี้คือการใช้ MOSFET โดยส่งการมอดูเลตความกว้างพัลส์ ( PWM ) ส่งสัญญาณไปยัง ประตู ขามันเป็นไปได้ที่จะควบคุมว่ากำลังส่งผ่านระหว่าง ท่อระบายน้ำ และ แหล่งที่มา ขา. โดยการส่งผ่านสีของแถบ LED แต่ละสีผ่าน MOSFET คุณสามารถควบคุมความสว่างของแต่ละสีบนแถบ LED ได้

เมื่อใช้ไมโครคอนโทรลเลอร์ สิ่งสำคัญคือต้องใช้ส่วนประกอบระดับลอจิกเพื่อให้แน่ใจว่าสิ่งต่างๆ ทำงานตามที่คุณต้องการ ตรวจสอบให้แน่ใจว่า MOSFET ของคุณเป็น ระดับตรรกะ และไม่ มาตรฐาน .

ตั้งค่าวงจรของคุณดังนี้:

  1. เชื่อมต่อหมุด Arduino 9 , 6 , และ 5 เพื่อ ประตู ขาของ MOSFET สามตัว และเชื่อมต่อ a 10k ตัวต้านทานในแนวเดียวกับรางกราวด์
  2. เชื่อมต่อ แหล่งที่มา ขาไปที่รางพื้น
  3. เชื่อมต่อ ท่อระบายน้ำ ขาไป เขียว , สุทธิ , และ สีฟ้า ขั้วต่อบนแถบ LED
  4. เชื่อมต่อรางไฟฟ้าเข้ากับ +12v ขั้วต่อของแถบ LED (โปรดทราบว่าในภาพนี้สายไฟเป็นสีดำเพื่อให้เข้ากับสีของขั้วต่อบนแถบ LED ของฉัน)
  5. เชื่อมต่อกราวด์ Arduino กับรางกราวด์
  6. เชื่อมต่อ .ของคุณ 12v แหล่งจ่ายไฟไปยังรางไฟ

แถบ LED ส่วนใหญ่มีตัวเชื่อมต่อ Dupont [Broken URL Removed] ซึ่งเชื่อมต่อได้ง่าย หากไม่เป็นเช่นนั้น คุณอาจต้องบัดกรีสายไฟเข้ากับแถบ LED อย่าตกใจหากคุณยังใหม่ต่อการบัดกรี เนื่องจากเป็นงานง่าย และเรามีคำแนะนำในการเริ่มต้นการบัดกรีหากคุณต้องการ

เราจะจ่ายไฟให้กับบอร์ด Arduino ด้วย USB สำหรับโครงการนี้ คุณสามารถเลือกที่จะจ่ายไฟให้กับบอร์ดของคุณโดยใช้พิน VIN แต่ให้แน่ใจว่าคุณทราบข้อจำกัดด้านพลังงานสำหรับบอร์ดของคุณก่อนที่จะทำสิ่งนี้

เมื่อวงจรของคุณเสร็จสมบูรณ์ควรมีลักษณะดังนี้:

เมื่อคุณเชื่อมต่อทุกอย่างแล้ว ก็ถึงเวลาสร้างร่าง Arduino ง่ายๆ เพื่อควบคุม

จางหายไป

เชื่อมต่อบอร์ด Arduino ของคุณกับคอมพิวเตอร์ผ่าน USB และเปิด Arduino IDE ตรวจสอบให้แน่ใจว่าคุณได้เลือกบอร์ดและหมายเลขพอร์ตที่ถูกต้องสำหรับบอร์ดของคุณใน เครื่องมือ > กระดาน และ เครื่องมือ > พอร์ต เมนู เปิดภาพร่างใหม่และบันทึกด้วยชื่อที่เหมาะสม

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

เริ่มต้นด้วยการกำหนดว่า หมุด จะถูกนำมาใช้เพื่อควบคุม MOSFET

#define RED_LED 6
#define BLUE_LED 5
#define GREEN_LED 9

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

คุณจะต้องสร้างตัวแปรเพื่อควบคุมว่าการซีดจางจะเกิดขึ้นเร็วเพียงใด

int brightness = 255;
int gBright = 0;
int rBright = 0;
int bBright = 0;
int fadeSpeed = 10;

ในของคุณ ติดตั้ง ฟังก์ชั่นเราจะตั้งค่าพิน Arduino ของเราให้เป็นเอาต์พุต เราจะเรียกใช้ฟังก์ชันสองสามอย่างด้วยความล่าช้า 5 วินาทีระหว่างนั้น ฟังก์ชันเหล่านี้ยังไม่มี แต่ไม่ต้องกังวล เราจะไปหามันมาให้

void setup() {
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
pinMode(BLUE_LED, OUTPUT);
TurnOn();
delay(5000);
TurnOff();
}

ตอนนี้สร้าง เปิด () กระบวนการ:

void TurnOn() {
for (int i = 0; i <256; i++) {
analogWrite(RED_LED, rBright);
rBright +=1;
delay(fadeSpeed);
}

for (int i = 0; i <256; i++) {
analogWrite(BLUE_LED, bBright);
bBright += 1;
delay(fadeSpeed);
}
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, gBright);
gBright +=1;
delay(fadeSpeed);
}
}

สามตัวนี้ สำหรับ ลูปทำให้แต่ละสีมีความสว่างเต็มที่ในช่วงเวลาที่กำหนดโดย จางความเร็ว ค่า.

ในที่สุดคุณต้องสร้าง ปิด() กระบวนการ:

void TurnOff() {
for (int i = 0; i <256; i++) {
analogWrite(GREEN_LED, brightness);
analogWrite(RED_LED, brightness);
analogWrite(BLUE_LED, brightness);

brightness -= 1;
delay(fadeSpeed);
}
}
void loop() {
}

วิธีนี้ใช้ .ของเรา ความสว่าง แปรผันเป็นหมุดสีทั้งสามและย่อให้เหลือศูนย์ในช่วงระยะเวลาหนึ่ง เราต้องการวิธีการวนซ้ำที่ว่างเปล่าที่นี่เช่นกัน เพื่อหลีกเลี่ยงข้อผิดพลาดในการรวบรวม

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

ตอนนี้ คุณควรเห็นแถบ LED ของคุณเพิ่มแต่ละสีทีละสี โดยถือสีขาวไว้ 5 วินาที แล้วค่อยๆ จางลงจนไม่มีสี:

หากคุณประสบปัญหาใดๆ ให้ตรวจสอบสายไฟและรหัสของคุณอีกครั้ง

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

ติดตั้งโปรแกรมบน windows 10 . ไม่ได้

ตอนนี้เราได้ครอบคลุม SMD5050s , มาต่อกันที่ WS2812B แถบ.

ไอเดียที่สดใส

แถบเหล่านี้ต้องการส่วนประกอบน้อยลงเพื่อให้ทำงานได้ และมีระยะที่เพียงพอสำหรับค่าของส่วนประกอบที่คุณสามารถใช้ได้ ตัวเก็บประจุในวงจรนี้ทำให้แน่ใจว่าไฟ LED 5v ได้รับแหล่งจ่ายไฟที่สม่ำเสมอ ตัวต้านทานช่วยให้สัญญาณข้อมูลที่ได้รับจาก Arduino ปราศจากการรบกวนใดๆ

คุณจะต้องการ:

  • WS2811 / 12 / 12B แถบ LED 5v (ทั้งสามรุ่นมีชิปในตัวและทำงานในลักษณะเดียวกัน)
  • 1 x Arduino Uno (หรือบอร์ดที่เข้ากันได้ที่คล้ายกัน)
  • 1 x 220-440 โอห์ม ตัวต้านทาน (อะไรก็ได้ระหว่างสองค่านี้ก็ได้)
  • 1 x 100-1000 ไมโครฟารัด ตัวเก็บประจุ (อะไรก็ได้ระหว่างสองค่านี้ก็ได้)
  • เขียงหั่นขนมและต่อสายไฟ
  • แหล่งจ่ายไฟ 5V

ตั้งค่าวงจรของคุณตามที่แสดงในแผนภาพ:

โปรดทราบว่าตัวเก็บประจุจะต้องอยู่ในทิศทางที่ถูกต้อง คุณสามารถบอกได้ว่าด้านใดติดกับรางภาคพื้นดินโดยมองหาเครื่องหมายลบ (-) บนตัวตัวเก็บประจุ

คราวนี้เรากำลังเปิดเครื่อง Arduino โดยใช้แหล่งจ่ายไฟ 5v สิ่งนี้ทำให้โปรเจ็กต์เป็นแบบสแตนด์อโลนเมื่อเราทำเสร็จแล้ว แม้ว่าจะมีสิ่งสำคัญที่ควรทราบที่นี่

ประการแรก ตรวจสอบให้แน่ใจว่าบอร์ดของคุณสามารถจ่ายไฟ 5v ได้ก่อนที่จะต่อเข้ากับแหล่งพลังงาน บอร์ดพัฒนาเกือบทั้งหมดทำงานที่ 5v ผ่านพอร์ต USB แต่พินอินพุตพลังงานในบางครั้งอาจข้ามตัวควบคุมแรงดันไฟฟ้าและเปลี่ยนเป็นขนมปังปิ้ง

นอกจากนี้ แนวทางปฏิบัติที่ดีคือต้องแน่ใจว่าไม่ได้เชื่อมต่อแหล่งพลังงานหลายแหล่งกับ Arduino - ถอดสาย USB ออกทุกครั้งที่คุณใช้แหล่งจ่ายไฟภายนอก

เมื่อคุณเสียบปลั๊กแล้วควรมีลักษณะดังนี้:

ตอนนี้แถบ LED ของเรามีสายเข้าแล้ว มาดูโค้ดกัน

ผลกระทบด้านลบของโซเชียลมีเดีย

ไฟเต้นรำ

ในการตั้งโปรแกรมบอร์ดของเราอย่างปลอดภัย ให้ปลดการเชื่อมต่อ ไวน์ สายจากสายไฟ คุณจะใส่กลับเข้าไปใหม่ในภายหลัง

แนบ Arduino ของคุณเข้ากับคอมพิวเตอร์และเปิด Arduino IDE ตรวจสอบว่าคุณได้เลือกบอร์ดและหมายเลขพอร์ตที่ถูกต้องใน เครื่องมือ > กระดาน และ เครื่องมือ > พอร์ต เมนู

เราจะใช้ FastLED ห้องสมุดเพื่อทดสอบการตั้งค่าของเรา คุณสามารถเพิ่มห้องสมุดโดยคลิกที่ ร่าง > รวมไลบรารี > จัดการไลบรารี และค้นหา FastLED คลิกติดตั้งและไลบรารีจะถูกเพิ่มลงใน IDE

ภายใต้ ไฟล์> ตัวอย่าง> FastLED เลือก DemoReel100 ร่าง. ร่างนี้หมุนเวียนสิ่งต่าง ๆ ที่สามารถทำได้ด้วย WS2812 แถบ LED และติดตั้งง่ายอย่างเหลือเชื่อ

สิ่งที่คุณต้องเปลี่ยนคือ DATA_PIN ตัวแปรให้ตรงกัน พิน 13 , และ NUM_LEDS ตัวแปรเพื่อกำหนดจำนวน LED ในแถบที่คุณใช้ ในกรณีนี้ ฉันใช้ LEDS เส้นเล็กๆ 10 เส้นที่ตัดจากแถบที่ยาวกว่า ใช้มากขึ้นสำหรับการแสดงแสงสีที่ใหญ่ขึ้น!

แค่นั้นแหละ! อัปโหลดภาพสเก็ตช์ไปยังบอร์ดของคุณ ถอดสาย USB แล้วเปิดแหล่งจ่ายไฟ 5v ของคุณ สุดท้าย ต่อ VIN ของ Arduino เข้ากับสายไฟแล้วดูการแสดง!

หากไม่มีอะไรเกิดขึ้น ให้ตรวจสอบการเดินสายของคุณ และคุณระบุพิน Arduino ที่ถูกต้องในภาพร่างการสาธิต

ความเป็นไปได้ไม่สิ้นสุด

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

ในขณะที่แถบเหล่านี้ใช้งานได้ดีกว่า SMD5050 อย่างแน่นอน แต่อย่าเพิ่งลดแถบ LED 12v มาตรฐานเลย พวกเขาไม่สามารถเอาชนะได้ในแง่ของราคาและมีจำนวนมาก แอพพลิเคชั่นสำหรับแถบไฟ LED .

การเรียนรู้ที่จะทำงานกับแถบ LED เป็นวิธีที่ดีในการทำความคุ้นเคยกับการเขียนโปรแกรมพื้นฐานบน Arduino แต่วิธีที่ดีที่สุดในการเรียนรู้คือการแก้ไข แก้ไขโค้ดด้านบนและดูว่าคุณสามารถทำอะไรได้บ้าง! หากทั้งหมดนี้มากเกินไปสำหรับคุณ ลองพิจารณาเริ่มต้นด้วย โครงการ Arduino เหล่านี้สำหรับผู้เริ่มต้น .

เครดิตรูปภาพ: mkarco/Shutterstock

แบ่งปัน แบ่งปัน ทวีต อีเมล Canon กับ Nikon: กล้องยี่ห้อไหนดีกว่ากัน?

Canon และ Nikon เป็นสองชื่อที่ใหญ่ที่สุดในอุตสาหกรรมกล้อง แต่แบรนด์ใดที่มีกล้องและเลนส์รุ่นต่างๆ ที่ดีกว่ากัน?

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • DIY
  • Arduino
  • แถบ LED
  • ไฟ LED
เกี่ยวกับผู้เขียน เอียน บัคลี่ย์(216 บทความที่ตีพิมพ์)

Ian Buckley เป็นนักข่าวอิสระ นักดนตรี นักแสดง และโปรดิวเซอร์วิดีโอที่อาศัยอยู่ในกรุงเบอร์ลิน ประเทศเยอรมนี เมื่อไม่ได้เขียนหนังสือหรืออยู่บนเวที เขากำลังซ่อมแซมอุปกรณ์อิเล็กทรอนิกส์หรือโค้ด DIY โดยหวังว่าจะเป็นนักวิทยาศาสตร์ที่คลั่งไคล้

เพิ่มเติมจาก Ian Buckley

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก
หมวดหมู่ Diy