การเดินสายไฟ LED RGB ของ


13

ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะเชื่อมต่อ RGB 8 ตัวนำแต่ละอันคล้ายกับแถบผลไม้ ฉันเห็นโครงการPumpkin Piและต้องการสร้างโครงการ ฉันไม่มีไฟ LED สีเหลืองหรือสีแดง แต่มีสต็อกขนาดเล็กของ RGB

ฉันรู้ว่าสำหรับ Arduino ผมจะใช้ 270ohm ต้านทานการ cathodes RGB และควบคุมความสว่างโดยแต่ละขนาดของการ0255

มีวิธีทำเช่นนี้ใน Raspberry Pi หรือไม่?


ปรับปรุง


ดังนั้นฉันจึงดูเรื่องนี้อีกเล็กน้อย ฉันคิดว่าพวกคุณใช้TLC5940ไดรเวอร์ LED

ดังนั้นตอนนี้ฉันขอความช่วยเหลืออีกครั้ง ฉันคิดคำถามยาว ๆ 1 ข้อว่าในที่สุดการแก้ปัญหานี้จะดีกว่า ตอนนี้ส่วนสายไฟมา ฉันกำลังใช้การสอนการเดินสาย arduinoเป็นจุดเริ่มต้นตั้งแต่ฉันไปทางหัวของฉัน ฉันยังหมายถึงแผ่นข้อมูล ตามแผนภาพของ27 or VPRGฉันสับสน แผนภาพ Arduino มีสายดินแล้วดังนั้นฉันจึงลงดิน . . ฉันจะเชื่อมต่อสิ่งนี้อย่างถูกต้องกับ pi ได้อย่างไร? ฉันก็คาดเดาว่าฉันต้องการตัวต้านทานเช่นกัน ...

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

ฉันต้องทำอะไรเพื่อแก้ไขแผนภาพการเดินสายไฟนี้ (ฟริตซิ่ง )

แฟ้มการเดินสาย fzz สามารถดาวน์โหลดได้จาก Google ที่นี่ TLC5940

ป้อนคำอธิบายรูปภาพที่นี่


อัปเดต 2 - หลังจากแสดงความคิดเห็น


โดยคำนึงถึงคำตอบและความคิดเห็นบางส่วนนี่จะเป็นแผนภาพการเดินสายไฟหรือไม่? 330ohm ถึงขั้วบวก 2k 20โอห์มกับขา อินพุตรับจาก pi ไปยังชิปได้อย่างไร ป้อนคำอธิบายรูปภาพที่นี่


Ooohhh the pi ฟักทอง =: 0
Piotr Kula

คุณจะอธิบายบางสิ่งหรือไม่? คุณต้องการขับ LED สีแดง, สีเขียวและสีน้ำเงินทั้งหมดของไฟ LED RGB 8 ดวง (ซึ่งจะรับ 24 เอาต์พุตดังนั้น 8 มากกว่า 16 จาก TLC5940) คุณใช้ไฟ LED RGB ชนิดใด เราจำเป็นต้องรู้ว่าพวกเขาเป็นขั้วบวกทั่วไปหรือแคโทดทั่วไป (การเดินสายของคุณดูเหมือนแคโทดทั่วไปซึ่งจะไม่ทำงานกับ TLC5940 ซึ่งสามารถจมในปัจจุบันเท่านั้นแคโทดสามัญจะต้องมีชิปที่แตกต่างกัน) สีน้ำเงินยังอาจไม่เปิดใช้ 3.3V ดังนั้นจะต้องมี 5V มันจะต้องผ่านอิเล็กทรอนิกส์หลุม (เช่นกรมทรัพย์สินทางปัญญา) และไม่ยึดพื้นผิว คุณสนใจว่าจะใช้ 3 ชิปแทนหนึ่งหรือไม่?
gbulmer

@ gbulmer ขออภัยเกี่ยวกับเรื่องนั้น ฉันไม่มีแพ็คเกจที่ LED เข้ามา แต่คิดว่าคุณถูกต้องบน Common Cathode ว่าให้แสงพวกมันใน arduino ฉันเขียน HIGH ฉันจะรับ Common Anode จาก radiohack คืนนี้ ฉันมีชิป TLC5940 5 ชิปและไม่สนใจว่าฉันจะใช้ทั้งหมดหรือไม่ เหตุผลที่ฉันจะไปกับกรมคือการใช้เขียงหั่นขนม (ก้าวทารก) หลังจากฉันทำงานแล้วฉันจะสลับไปที่อุปกรณ์ยึดพื้นผิว
atrueresistance

คำตอบ:


4

ฉันเห็นสองสิ่งที่ควรกล่าวถึงในคำถามนี้:

  1. วิธีเชื่อมต่อและสื่อสารกับTLC5940

  2. วิธีการเชื่อมต่อไฟ LED ขึ้นไปTLC5940

สำหรับส่วนแรกคุณจะต้องเชื่อมต่อกับหมุด i2c ของส่วนหัว P1 ของ Raspberry Pi (ซึ่งเป็นหมุด 3 (ข้อมูล) และ 5 (นาฬิกา)) จากนั้นคุณสามารถใช้ขาที่ 1 (3.3 V) สำหรับ VCC ของTLC5940 ขอแนะนำจาก 3 V ถึง 5.5 V สำหรับการป้อนข้อมูลตามแผ่นข้อมูล นอกจากนี้คุณยังจะต้องการที่จะเชื่อมต่อขาพื้นดินจาก P1 (เช่นขา 5) GND ของTLC5940 และคุณจะต้องเพิ่มอีก GPIO (เช่นขา 7) เพื่อเชื่อมต่อกับTLC5940สัญญาณ XLAT 'ที่จะสลักในมูลค่าของการลงทะเบียนกะ

แล้วคุณจะต้องตั้งค่า Pi สำหรับการสื่อสาร I2C: สมมติว่า raspbian ลบi2c-bcm2708จากการ/etc/modprobe.d/raspi-blacklist.confโหลดและi2c-devและคุณควรจะได้รับ/dev/i2c-0และ/dev/i2c-1( i2c-1คือสิ่งที่คุณจะต้องใช้สำหรับรุ่น B รายได้ 2 Pis)

สุดท้ายคุณจะต้องใช้ธุรกรรม i2c เพื่อกำหนดค่าของ register shift ภายในจากนั้นส่งสัญญาณ XLAT (หากใช้ pin 7 นั่นคือ GPIO 4)

ฉันมองข้ามพิน GSCLK ด้วย คุณจะต้องใส่สัญญาณนาฬิกาเพื่อให้ตัวนับภายในเพิ่มขึ้นจริงซึ่งสามารถทำได้จากสาย GPIO อื่นหากตั้งค่าไว้ถูกต้อง ฉันยังไม่คิดว่า 3.3 V รางจะให้กระแสที่เพียงพอสำหรับแอปพลิเคชันนี้ ( สูงสุด 50 mA ) หากคุณย้ายไปที่ราง 5 V คุณสามารถวาดได้สูงสุด~ 300 mAแต่ควรใช้ตรรกะ 5 V สำหรับ i2c จากนั้น (และ GSCLK) ซึ่งต้องการส่วนประกอบเพิ่มเติม

สำหรับส่วนที่สองฟังดูเหมือนว่าคุณเคยจัดการกับโครงการ Arduino ในอดีตมาบ้างเว้นแต่ฉันจะอ่านผิด


6

ใช่. คุณจะใช้หมุด GPIO ในโหมด PWM เพื่อควบคุมความสว่างแต่ละระดับ ตัวอย่างของการเดินสายไฟจากwiring.org.co ยูทิลิตี้ GPIO และคำแนะนำจากGordons Projectเป็นอีกหนึ่งจุดเริ่มต้น

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข

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

สิ่งนี้อาจเกินความจำเป็นเนื่องจากโครงการ Pumpkin Pi ต้องการแสงสีส้มเท่านั้น หากคุณมีคลังสินค้าของ RGB และเวลาในการทดสอบคุณสามารถส่องสว่าง LED สีเดียวบน RGB และผสมกับผู้อื่นเพื่อสร้างสีระดับอุดมศึกษา อัตราส่วนของ 2 ส่วนสีแดงต่อสีเขียว 1 ส่วนจะปรากฏเป็นสีส้ม การสลับครึ่งหนึ่งของไฟ LED สีแดงจะสร้างภาพลวงตาของการกะพริบสีส้มเป็นสีเหลือง แต่นั่นเป็นทฤษฎีสี ; ซึ่งฉันไม่ได้ลอง


1
ไม่มีเอาต์พุต PWM เดียวเท่านั้นใช่หรือไม่
Alex Chamberlain

คำถามที่ดี. eLinuxอ้างว่าหมุด GPIO ทั้งหมดสามารถตั้งค่าใหม่สำหรับ PWM; อย่างไรก็ตามฟังก์ชั่นการเดินสายทั่วไประบุเพียง GPIO-1 (pin 18) รองรับ PWM มาตรา 6.2 ทางเลือกฟังก์ชั่นที่ได้รับมอบหมายของBCM2835ทุกรายการหมุด PWM; ซึ่งมีเพียงหนึ่งเดียวที่อยู่บน GPIO ของ pi
emcconville

บทความ eLinux เขียนได้แย่มาก มันดีกว่าเล็กน้อยด้านล่าง
อเล็กซ์แชมเบอร์เลน

1
หมุด GPIO ไม่สามารถกำเนิดหรือจมกระแสได้เพียงพอเพื่อขับ LED โดยตรง
John La Rooy

1

บางอย่างเช่นTLC5940เป็นวิธีที่ดีในการขับเคลื่อนหลาย PWM'd LEDS

ตรวจสอบTCA6507ใน"การเขียนโปรแกรมสนุกไฟ" appnote แม้ว่ามันจะไม่สามารถใช้ได้ในกรมทรัพย์สินทางปัญญา

แก้ไข: ไม่ควรเก็บ VPRG ไว้บน TLC5940 เชื่อมต่อกับกราวด์ ซึ่งหมายความว่าคุณไม่สามารถใช้ "การแก้ไขจุด" เพื่อชดเชยความผันแปรในไฟ LED ของคุณ หากคุณมีไฟ LED จำนวนมากและต้องการไปสู่ความซับซ้อนอีกระดับคุณสามารถใช้การแก้ไขจุดเพื่อทำให้แสงสว่างขึ้นอย่างสม่ำเสมอ

ต้องใช้ตัวต้านทาน 2k บนพิน 20 เพื่อตั้งค่ากระแสไฟขาออก

I OUT = 3.96 * R IREF
ไฟ LED ปกติมักเป็น 20mA ดังนั้นสูตรจะให้ 2k สำหรับตัวต้านทาน


0

นี่เป็นงานเขียนที่มีประโยชน์จริง ๆ ใครบางคนทำวิธีใช้ TLC5940 กับ AVR: https://sites.google.com/site/artcfox/demystifying-the-tlc5940

มันค่อนข้างมีประโยชน์สำหรับการเรียนรู้เกี่ยวกับกระบวนการเรียนรู้วิธีการเขียนโค้ดที่ทำงานกับ TLC5940

โค้ดตัวอย่างเวอร์ชันแรกนั้นค่อนข้างทั่วไป ฉันกำลังแปลงค่า #define ทั้งหมดและฟังก์ชั่นระดับต่ำให้เป็นสิ่งที่จะใช้กับ Raspberry Pi

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.