การควบคุมเปิด / ปิดไฟ LED Strip และความสว่างด้วยรีโมทคอนโทรลใด ๆ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างวงจรควบคุมแถบ LED โดยใช้ Arduino ซึ่งสามารถเปิด / ปิดและลด / เพิ่มความสว่างของ LED โดยใช้รีโมท IR (อินฟราเรด) ธรรมดา



LED Strip Light คืออะไร? (สำหรับ noobs)

หากคุณไม่คุ้นเคยกับไฟแถบ LED มาทำความเข้าใจกันว่าคืออะไร

แถบ LED (บางครั้งเรียกว่าไฟริบบิ้น) เป็น PCB ที่มีความยืดหยุ่นซึ่งประกอบด้วยชุดของ LED สว่างและวงจรควบคุมส่วนประกอบบนแถบ LED เป็นพื้นผิว (SMD)



ใช้สำหรับตกแต่งบ้านห้องปาร์ตี้และนอกบ้านในช่วงเทศกาลเป็นต้น

มีชั้นเหนียวที่ด้านหลังซึ่งสามารถติดบนผนังไม้หรือพื้นผิวเรียบใด ๆ โดยไม่ต้องใช้กาว

มีความยาวความกว้างสีต่างๆในโครงการนี้เราจะควบคุมแถบ LED สีเดียว แต่ถ้าคุณต้องการควบคุมสี RGB ทีละสีคุณสามารถปรับเปลี่ยนรหัสและวงจรที่กำหนดได้

แถบ LED ทำงานที่ 12V หรือ 24V ขึ้นอยู่กับข้อกำหนด แต่ในโครงการนี้ 24V ไม่เหมาะเนื่องจากบอร์ด arduino ไม่ได้ออกแบบมาเพื่อรองรับ 24V นอกจากนี้ยังมีแถบ LED ชนิด USB ซึ่งสามารถทำงานที่ 5V และสามารถใช้ในโครงการนี้ได้หลังจากปรับเปลี่ยนวงจรอย่างเหมาะสมแล้วเท่านั้น

ตอนนี้คุณคงจะเข้าใจเกี่ยวกับแถบไฟ LED แล้ว

LED strip Light ต้องการวงจรคอนโทรลเลอร์ที่หาซื้อได้ง่ายในท้องตลาด แต่มีราคาแพง ในโครงการนี้เราจะสร้างวงจรที่เรียบง่ายและราคาไม่แพงซึ่งสามารถควบคุมไฟแถบ LED ผ่านรีโมท IR ใดก็ได้

แผนภูมิวงจรรวม:

ตัวควบคุมไฟแถบ LED พร้อม Arduino

วงจรประกอบด้วยส่วนประกอบบางส่วน: ตัวควบคุมแรงดันไฟฟ้าพร้อมตัวเก็บประจุแบบเชื่อมต่อ, เซ็นเซอร์ IR TSOP1738, MOSFET IRFZ44N, แถบ LED และสมองของโครงการ arduino Uno คุณสามารถเลือกบอร์ด arduino ที่คุณชื่นชอบสำหรับโครงการนี้

เซ็นเซอร์ TSOP1738 รับสัญญาณ IR จากรีโมทและถอดรหัสในลักษณะที่ไมโครคอนโทรลเลอร์เข้าใจได้ N-channel MOSFET ขยายสัญญาณจาก arduino และส่งไปยังแถบ LED

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

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

วงจรนี้สามารถเปิดและปิดแถบ LED ซึ่งสามารถปรับความสว่างขึ้นและลงได้ 5 ขั้นตอนซึ่งทำได้โดยการใช้สัญญาณ PWM ที่แตกต่างกันกับแถบ LED

วิธีทดสอบ

เพื่อให้การดำเนินการเหล่านี้บรรลุผลสำเร็จให้ปฏิบัติตามคำแนะนำด้านล่าง:

•เลือกปุ่มใดก็ได้ 3 ปุ่มบนรีโมทของคุณซึ่งคุณจะใช้ควบคุมวงจร เราจำเป็นต้องทราบรหัสฐานสิบหกสำหรับปุ่มเหล่านี้

•เปิด IDE ไปที่ไฟล์> ตัวอย่าง> IRremote> IRrecvDemo

•เมื่อติดตั้งเสร็จแล้วให้เชื่อมต่อ USB เข้ากับ arduino และ PC (ไม่มีไฟภายนอก) อัปโหลดรหัสและเปิดจอภาพแบบอนุกรม

•ตอนนี้กดแต่ละปุ่มหนึ่งครั้งคุณจะเห็นรหัสฐานสิบหกบนจอภาพอนุกรมและจดบันทึกไว้ รหัสฐานสิบหกเหล่านี้ต้องอัปโหลดด้วยโปรแกรมที่กำหนดไปยัง arduino

บันทึก:

วงจรที่นำเสนอนี้ออกแบบมาสำหรับควบคุมแถบ LED สีเดียว หากคุณมีขั้วต่อ RGB แบบแถบ LED หลายสีแบบสั้น (ให้สีขาว) ส่วนที่เหลือของวงจรจะเหมือนกัน

รหัสโปรแกรม:

//---------Program developed by R.Girish---------//
#include
int X
int Y
int output = 9
int W = 5
int receive = 10
IRrecv irrecv(receive)
decode_results Z
void setup()
{
irrecv.enableIRIn()
Y=0
X=255
pinMode(output,OUTPUT)
}
void loop()
{
if (irrecv.decode(&Z))
{
if (Z.value==0x80C) // Hex code for ON/OFF
{
if(Y==0)
{
digitalWrite(output,HIGH)
Y=1
}
else
{
digitalWrite(output,LOW)
Y=0
X=255
}}
if (Z.value==0x811 && Y==1) // Hex code for reducing Brightness
{
if(X-255/W<0)
{
analogWrite(output,X)
}
else
{
X=X-255/W
analogWrite(output,X)
}}
if (Z.value==0x810 && Y==1) // Hex code for increasing Brightness
{
if(X+255/W>255)
{
analogWrite(output,X)
}
else
{
X=X+255/W
analogWrite(output,X)
}}
irrecv.resume()
}}
//---------Program developed by R.Girish---------//

บันทึก:
แทนที่ 0x80C, 0x810 และ 0x811 ด้วยรหัสฐานสิบหกของรีโมทที่ขึ้นต้นด้วย“ 0x”




คู่ของ: Transistor Stray pickup ปัญหาการทริกเกอร์ที่ผิดพลาด ถัดไป: โคมไฟอุ่นอาหารอัตโนมัติสำหรับโรงแรม