สารบัญ:

การใช้ LED Matrix เป็นเครื่องสแกน: 8 ขั้นตอน (พร้อมรูปภาพ)
การใช้ LED Matrix เป็นเครื่องสแกน: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การใช้ LED Matrix เป็นเครื่องสแกน: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: การใช้ LED Matrix เป็นเครื่องสแกน: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: LED Matrix 32x8 การต่อใช้งาน การเเสดงผล จากตัวอย่างของ Libraries Arduino+LED Matrix (Arduino EP.35) 2024, พฤศจิกายน
Anonim
Image
Image
ทำสิ่งของที่เป็นกล่องจากนามบัตรที่ล้าสมัย!
ทำสิ่งของที่เป็นกล่องจากนามบัตรที่ล้าสมัย!

โดยหน้าแรกของ marciotMarcioT ติดตามเพิ่มเติมโดยผู้เขียน:

ทำสิ่งของที่เป็นกล่องจากนามบัตรที่ล้าสมัย!
ทำสิ่งของที่เป็นกล่องจากนามบัตรที่ล้าสมัย!
DIY 2.5x ถึง 5x แว่นตาโอเปร่า / คอนเสิร์ต
DIY 2.5x ถึง 5x แว่นตาโอเปร่า / คอนเสิร์ต
DIY 2.5x to 5x แว่นตาโอเปร่า/คอนเสิร์ต
DIY 2.5x to 5x แว่นตาโอเปร่า/คอนเสิร์ต
เครื่องตรวจจับน้ำรั่วแบบไร้สายทั้งบ้านและระบบปิดน้ำฉุกเฉิน
เครื่องตรวจจับน้ำรั่วแบบไร้สายทั้งบ้านและระบบปิดน้ำฉุกเฉิน
เครื่องตรวจจับน้ำรั่วแบบไร้สายทั้งบ้านและระบบปิดน้ำฉุกเฉิน
เครื่องตรวจจับน้ำรั่วแบบไร้สายทั้งบ้านและระบบปิดน้ำฉุกเฉิน

เกี่ยวกับ: ฉันเป็นงานอดิเรกที่มีความสนใจในซอฟต์แวร์โอเพนซอร์ซ การพิมพ์ 3 มิติ วิทยาศาสตร์และอิเล็กทรอนิกส์ กรุณาเยี่ยมชมร้านค้าของฉันหรือหน้า Patreon เพื่อช่วยสนับสนุนงานของฉัน! เพิ่มเติมเกี่ยวกับ marciot »

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

วิธีการทำงานคือ Arduino จะส่องสว่าง LED ทีละดวงในขณะที่ใช้อินพุตแบบอะนาล็อกเพื่อตรวจสอบการเปลี่ยนแปลงของเซ็นเซอร์วัดแสง ซึ่งช่วยให้ Arduino สามารถทดสอบว่าเซ็นเซอร์สามารถ "เห็น" LED เฉพาะได้หรือไม่ กระบวนการนี้ทำซ้ำสำหรับ LED แต่ละ 1, 024 ดวงอย่างรวดเร็วเพื่อสร้างแผนที่ของพิกเซลที่มองเห็นได้

หากวางวัตถุไว้ระหว่างเมทริกซ์ LED กับเซ็นเซอร์ Arduino จะสามารถจับภาพเงาของวัตถุนั้น ซึ่งจะสว่างเป็น "เงา" เมื่อการจับภาพเสร็จสิ้น

โบนัส: ด้วยการปรับแต่งเล็กน้อย สามารถใช้โค้ดเดียวกันเพื่อติดตั้ง "digital stylus" สำหรับการวาดภาพบนเมทริกซ์ LED ได้

ขั้นตอนที่ 1: ชิ้นส่วนที่ใช้ในงานสร้างนี้

ชิ้นส่วนที่ใช้ในงานสร้างนี้
ชิ้นส่วนที่ใช้ในงานสร้างนี้
ชิ้นส่วนที่ใช้ในงานสร้างนี้
ชิ้นส่วนที่ใช้ในงานสร้างนี้

สำหรับโครงการนี้ ฉันใช้ส่วนประกอบต่อไปนี้:

  • Arduino Uno พร้อมเขียงหั่นขนม
  • 32x32 RGB LED matrix (จาก AdaFruit หรือ Tindie)
  • อะแดปเตอร์แปลงไฟ 5V 4A (จาก AdaFruit)
  • อะแดปเตอร์ DC Power Adapter ตัวเมีย แจ็ค 2.1 มม. ถึงขั้วต่อแบบสกรู (จาก AdaFruit)
  • โฟโต้ทรานซิสเตอร์แบบใส TIL78 ขนาด 3 มม
  • สายจัมเปอร์

AdaFruit ยังจำหน่ายโล่ Arduino ซึ่งสามารถใช้แทนสายจัมเปอร์ได้

เนื่องจากฉันมีเครดิต Tindie ฉันได้รับเมทริกซ์จาก Tindie แต่เมทริกซ์จาก AdaFruit ดูเหมือนจะเหมือนกัน ดังนั้นอันใดอันหนึ่งควรใช้งานได้

phototransistor มาจากคอลเล็กชันชิ้นส่วนอายุหลายสิบปีของฉัน มันเป็นชิ้นส่วนใส 3 มม. ที่มีป้ายกำกับว่า TIL78 เท่าที่ฉันสามารถบอกได้ ส่วนนั้นมีไว้สำหรับ IR และมีทั้งเคสใสหรือเคสสีเข้มที่กั้นแสงที่มองเห็นได้ เนื่องจากเมทริกซ์ RGB LED ให้แสงที่มองเห็นได้ จึงต้องใช้เวอร์ชันที่ชัดเจน

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

ขั้นตอนที่ 2: การเดินสายไฟและทดสอบโฟโตทรานซิสเตอร์

การเดินสายไฟและทดสอบโฟโตทรานซิสเตอร์
การเดินสายไฟและทดสอบโฟโตทรานซิสเตอร์

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

ฉันใช้สายไฟเพื่อเชื่อมต่อโฟโตทรานซิสเตอร์กับพิน GND และ A5 บน Arduino จากนั้นฉันก็สร้างภาพสเก็ตช์ที่ตั้งค่าพิน A5 เป็น INPUT_PULLUP โดยปกติจะทำสำหรับสวิตช์ แต่ในกรณีนี้จะให้พลังงานแก่โฟโต้ทรานซิสเตอร์!

#define เซนเซอร์ A5

การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); โหมดพิน (เซ็นเซอร์, INPUT_PULLUP); } void loop() {// อ่านค่าอนาล็อกอย่างต่อเนื่องและพิมพ์ Serial.println(analogRead(SENSOR)); }

ภาพร่างนี้พิมพ์ค่าไปยังพอร์ตอนุกรมที่สอดคล้องกับความสว่างโดยรอบ ด้วยการใช้ "Serial Plotter" ที่มีประโยชน์จากเมนู "Tools" ของ Arduino IDE ฉันจะได้รับพล็อตแสงรอบข้างที่เคลื่อนไหวได้! ขณะที่ฉันปกปิดและเปิดโปงโฟโตทรานซิสเตอร์ด้วยมือของฉัน พล็อตเรื่องจะเลื่อนขึ้นและลง ดี!

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

ขั้นตอนที่ 3: การเดินสาย Matrix Ribbon Cable ไปยัง Arduino

การเดินสายไฟ Matrix Ribbon ไปยัง Arduino
การเดินสายไฟ Matrix Ribbon ไปยัง Arduino

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

ตรวจสอบให้แน่ใจว่าแท็บบนตัวเชื่อมต่อตรงกับแท็บในไดอะแกรม

หรือสำหรับวงจรที่สะอาดขึ้น คุณสามารถใช้ RGB matrix shield ที่ AdaFruit จำหน่ายสำหรับแผงเหล่านี้ หากคุณใช้ชิลด์ คุณจะต้องบัดกรีส่วนหัวหรือสายไฟสำหรับโฟโต้ทรานซิสเตอร์

ขั้นตอนที่ 4: เชื่อมต่อเมทริกซ์

เชื่อมต่อเมทริกซ์
เชื่อมต่อเมทริกซ์
เชื่อมต่อเมทริกซ์
เชื่อมต่อเมทริกซ์
เชื่อมต่อเมทริกซ์
เชื่อมต่อเมทริกซ์

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

จากนั้นฉันก็เสียบปลั๊กไฟและสายแพ ระวังอย่ารบกวนสายจัมเปอร์ในกระบวนการ

ขั้นตอนที่ 5: ติดตั้งไลบรารี AdaFruit Matrix และทดสอบ Matrix

ติดตั้งไลบรารี AdaFruit Matrix และทดสอบ Matrix
ติดตั้งไลบรารี AdaFruit Matrix และทดสอบ Matrix

คุณจะต้องติดตั้ง "RGB matrix Panel" และ AdaFruit "Adafruit GFX Library" ใน Arduino IDE ของคุณ หากคุณต้องการความช่วยเหลือในการทำเช่นนี้ บทแนะนำเป็นวิธีที่ดีที่สุด

ฉันแนะนำให้คุณเรียกใช้ตัวอย่างเพื่อให้แน่ใจว่าแผง RGB ของคุณทำงานก่อนดำเนินการต่อ ฉันขอแนะนำตัวอย่าง "plasma_32x32" เพราะมันยอดเยี่ยมมาก!

หมายเหตุสำคัญ: ฉันพบว่าถ้าฉันเปิดเครื่อง Arduino ก่อนที่ฉันจะเสียบแหล่งจ่ายไฟ 5V เข้ากับเมทริกซ์ เมทริกซ์จะสว่างขึ้นเล็กน้อย ปรากฏว่าเมทริกซ์พยายามดึงพลังงานจาก Arduino และนั่นไม่ดีสำหรับมันอย่างแน่นอน! ดังนั้นเพื่อหลีกเลี่ยงการโอเวอร์โหลด Arduino ให้เปิดเครื่องเมทริกซ์เสมอก่อนที่คุณจะเปิดเครื่อง Arduino!

ขั้นตอนที่ 6: โหลดรหัสการสแกนเมทริกซ์

รางวัลที่สองในการประกวด Arduino 2019

แนะนำ: