สารบัญ:

แอดเดรสสตริป LED ตำรวจ Strobo: 4 ขั้นตอน
แอดเดรสสตริป LED ตำรวจ Strobo: 4 ขั้นตอน

วีดีโอ: แอดเดรสสตริป LED ตำรวจ Strobo: 4 ขั้นตอน

วีดีโอ: แอดเดรสสตริป LED ตำรวจ Strobo: 4 ขั้นตอน
วีดีโอ: LA Police Gear Operator EDC Flashlight: 330 Lumens, Strobe Compact Light - Solid So Far 2024, พฤศจิกายน
Anonim
Image
Image

Police Strobo Light Bar นี้สร้างด้วยแถบ LED แบบระบุตำแหน่งได้ WS2812B (97 ซม., ไฟ LED 29 ดวง) และ Arduino Nano

โซลูชันนี้ช่วยให้สามารถสร้างรูปแบบแสงที่แตกต่างกันได้หลายรูปแบบด้วยโทนสีที่แตกต่างกัน มิฉะนั้นจะไม่สามารถทำได้ด้วยแถบ LED สีแดง-ขาว-น้ำเงินมาตรฐาน (เช่น ที่ใช้กับไฟสโตรโบของตำรวจ) หรือแถบ LED RGB

ฉันขอแนะนำว่าอย่าใช้สิ่งนี้ในรถของคุณ เว้นแต่คุณได้ตรวจสอบกฎหมายท้องถิ่นและมีเหตุผลทางกฎหมาย/ที่ถูกต้องในการดำเนินการดังกล่าว

ขั้นตอนที่ 1: WS2812B Strip LEDs ทำงานอย่างไร

การเดินสายวงจร
การเดินสายวงจร

แถบ LED WS2812B ประกอบด้วยไฟ LED RGB ประเภท 5050 ซึ่งรวม IC ไดรเวอร์ LED WS2812B

ขึ้นอยู่กับความเข้มของไฟ LED สีแดง สีเขียว และสีน้ำเงินสามดวง เราสามารถจำลองสีใดก็ได้ที่เราต้องการ

สิ่งที่ยอดเยี่ยมของ LED เหล่านี้คือสามารถควบคุมแม้กระทั่งแถบ LED ทั้งหมดด้วยขาเดียวจากบอร์ด Arduino ของเรา

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

ทำงานบนไฟ DC 5V และ LED สีแดง สีเขียว และสีน้ำเงินแต่ละดวงดึงประมาณ 20mA หรือรวม 60mA สำหรับ LED แต่ละดวงที่ความสว่างเต็มที่

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

ในกรณีเช่นนี้ คุณต้องเชื่อมต่อสายกราวด์ทั้งสองเส้นเข้าด้วยกัน

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

ขั้นตอนที่ 2: การเดินสายวงจร

รูปแบบการเดินสายไฟเพื่อเชื่อมต่อ Arduino nano กับแถบ LED แบบแถบแอดเดรส WS2812B นั้นง่ายมาก

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

ไฟ LED แบบแถบระบุตำแหน่ง WS2812B มีแผ่นบัดกรี 3 แผ่นในแต่ละด้าน

+5V (สายสีแดงในโครงร่าง) ไปที่ +5V ของ Arduino;

GND (สายสีดำในโครงร่าง) ไปที่ GND ของ Arduino;

DIN (สายสีเขียวในโครงร่าง) ไปที่ Arduino PIN 5 (สำหรับข้อมูล) ผ่านตัวต้านทาน 330 โอห์ม

ขั้นตอนที่ 3: ตั้งค่าโค้ด

ฉันใช้ Arduino IDE กับ FAST LED Library

อันดับแรก เราต้องรวมไลบรารี FastLED กำหนดพินที่ข้อมูลแถบ LED เชื่อมต่อ กำหนดจำนวน LED และกำหนดอาร์เรย์ประเภท CRGB

ประเภทนี้ประกอบด้วยไฟ LED ซึ่งมีสมาชิกข้อมูลหนึ่งไบต์สามตัวสำหรับช่องสีแดง เขียว และน้ำเงินทั้งสามช่อง

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

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

รหัสของฉันมีรูปแบบ LED ที่แตกต่างกันหลายแบบ ซึ่งไม่สามารถทำได้ด้วยแถบ LED RGB LED มาตรฐาน

รูปแบบสามารถแก้ไขหรือเรียกคืนได้ในส่วน void loop() เป็นรูทีนย่อยเดียว

ขั้นตอนที่ 4: หมายเหตุสุดท้าย

รหัสของฉันทำงานผ่านรูปแบบต่างๆ ของแต่ละรูปแบบ เพื่อให้คุณเป็นจุดเริ่มต้นในการแก้ไขรหัสให้ตรงกับความต้องการของคุณ

รหัสใน GitHub ของฉัน

แนะนำ: