Агуулгын хүснэгт:

Arduino ба TLC5940 PWM LED драйвер IC: 7 алхам
Arduino ба TLC5940 PWM LED драйвер IC: 7 алхам

Видео: Arduino ба TLC5940 PWM LED драйвер IC: 7 алхам

Видео: Arduino ба TLC5940 PWM LED драйвер IC: 7 алхам
Видео: Подключение и настройка nRF24L01 к Arduino (модуль беспроводной связи) 2024, Арванхоёрдугаар сар
Anonim
Arduino ба TLC5940 PWM LED драйвер IC
Arduino ба TLC5940 PWM LED драйвер IC

Энэ нийтлэлд бид Texas Instruments TLC5940 16 сувгийн LED драйвер IC-ийг судлах болно. Бидний хийх болсон шалтгаан бол олон LED жолоодох өөр нэг хялбар аргыг харуулах явдал юм. Нэгдүгээрт, TLC5940 -ийн цөөн хэдэн жишээг энд оруулав. Та TLC5940 -ийг PMD Way -ээс дэлхий даяар үнэгүй хүргүүлж захиалах боломжтой.

TLC5940 нь DIP хувилбар болон гадаргуу дээр бэхлэх боломжтой. Энэ нь үнэхээр тохиромжтой хэсэг бөгөөд танд ХБХ (импульсийн өргөний модуляци) ашиглан арван зургаан LED-ийн гэрэлтүүлгийг тохируулах боломжийг олгодог бөгөөд үүнээс ч илүү хяналт тавихын тулд нэгээс илүү TLC5940-ийг гинжлэх боломжтой.

Энэхүү зааварчилгааны үеэр бид LED -ээр нэг буюу хэд хэдэн TLC5940 IC -ийг хэрхэн хянах, мөн servo -ийг хянах талаар тайлбарлах болно. Энэ үед TLC5940 (.pdf) -ийн хуулбарыг татаж аваарай. Цаашилбал, эндээс олж болох Alex Leone -ийн TLC5940 Arduino номын санг татаж суулгана уу. Хэрэв та номын санг хэрхэн суулгахаа мэдэхгүй байгаа бол энд дарна уу.

Алхам 1: TLC5940 жагсаалын хэлхээ бий болгох

TLC5940 жагсаалын хэлхээ бий болгох
TLC5940 жагсаалын хэлхээ бий болгох

Дараах хэлхээ нь таны Arduino эсвэл нийцтэй арван зургаан LED -ийг удирдахад шаардлагатай хамгийн бага хэмжээ юм. Та үүнийг ашиглан янз бүрийн функцийг туршиж үзэх боломжтой бөгөөд юу боломжтой болохыг олж мэдэх боломжтой. Танд хэрэгтэй болно:

  • Arduino Uno эсвэл нийцтэй самбар
  • 20 ердийн хүчдэлийн гүйдэл дамжуулах чадвартай, ердийн өдөр тутмын 16 LED
  • 2 кОм эсэргүүцэл (10%өгөх эсвэл авах)
  • 0.1uF керамик ба 4.7uF электролитийн конденсатор

LED чиглүүлэлтийг анхаарч үзээрэй-мөн TLC5940 бол ердийн анодын LED драйвер гэдгийг санаарай. Тиймээс бүх LED анодуудыг хооронд нь холбож, дараа нь 5В-т холбоно.

Алхам 2:

Энэ хэлхээний хувьд танд гадны 5V цахилгаан хангамж хэрэггүй болно, гэхдээ ирээдүйд танд хэрэгтэй байж магадгүй юм. Резисторын зорилго нь LED -ээр дамжих гүйдлийн хэмжээг хянах явдал юм. Шаардлагатай эсэргүүцлийн утгыг дараахь томъёогоор тооцоолно.

R = 39.06 / Imax бол R (Ом -ээр) нь резисторын утга, Imax (Amps -ээр) нь LED -ээр дамжихыг хүсч буй хамгийн их гүйдэл юм.

Жишээлбэл, хэрэв танд 20 мА урагш гүйдэлтэй LED байгаа бол резисторын тооцоолол нь: R = 39.06 / 0.02 = 1803 Ом. Та хэлхээг угсарсны дараа Arduino IDE -ийг нээж TLC5940 номын сангийн жишээ хавтсанд байгаа BasicUse.pde эскизийг байршуулна уу.

Та видеонд үзүүлсэнтэй ижил төстэй үр дүнг танилцуулах ёстой.

Алхам 3: TLC5940 -ийг хянах

Одоо хэлхээ ажиллаж байгаа тул бид TLC5940 -ийг хэрхэн хянах вэ? Нэгдүгээрт, зайлшгүй шаардлагатай функцууд - ноорогны эхэнд номын санг оруулна уу.

#"Tlc5940.h" -ийг оруулна уу

дараа нь void setup () -д дараах зүйлсийг оруулах замаар номын санг эхлүүлнэ үү:

Tlc.init (x);

x бол нэмэлт параметр юм - хэрэв та ноорог эхэлмэгц бүх сувгийг тодорхой гэрэлтүүлэгтэй болгохыг хүсч байвал Tlc.init () функцэд x -ийн 0 -ээс 4095 хоорондох утгыг оруулж болно.

Одоо суваг/LED -ийг асаах, унтраах. Суваг тус бүрийг 0-ээс 15 хүртэл дугаарласан бөгөөд суваг бүрийн гэрлийг 0-ээс 4095 хооронд тохируулж болно. Энэ нь хоёр хэсгээс бүрдэх процесс юм. Нэгдүгээрт: шаардлагатай сувгууд болон холбогдох гэрэлтүүлгийг (PWM) тохируулахын тулд дараах функцүүдийн аль нэгийг ашиглана уу. түвшин):

Tlc.set (суваг, тод байдал);

Жишээлбэл, хэрэв та эхний гурван сувгийг бүрэн гэрэлтүүлэхийг хүсч байвал дараахь зүйлийг ашиглана уу.

Tlc.set (0, 4095); Tlc.set (1, 4095); Tlc.set (2, 4095);

Хоёрдахь хэсэг нь TLC5940 -ийг нэгдүгээр хэсгийн шаардлагатай заавраар шинэчлэхийн тулд дараахь зүйлийг ашиглах явдал юм.

Tlc.update ();

Хэрэв та бүх сувгийг нэгэн зэрэг унтраахыг хүсч байвал дараахь зүйлийг ашиглана уу.

Tlc.clear ();

Алхам 4:

Тодорхой функцын дараа TLC.update () руу залгах шаардлагагүй. Дараахь бүх сувгийн тод байдал/ХОУХ -ны утгыг өөр өөр түвшинд тохируулдаг богино хэмжээний тойм зураг юм.

#include "Tlc5940.h" void setup () {Tlc.init (0); // TLC5940 -ийг эхлүүлж, бүх сувгийг унтраана уу}

хоосон давталт ()

{for (int i = 0; i <16; i ++) {Tlc.set (i, 1023); } Tlc.update (); саатал (1000); for (int i = 0; i <16; i ++) {Tlc.set (i, 2046); } Tlc.update (); саатал (1000); for (int i = 0; i <16; i ++) {Tlc.set (i, 3069); } Tlc.update (); саатал (1000); for (int i = 0; i <16; i ++) {Tlc.set (i, 4095); } Tlc.update (); саатал (1000); }

Суваг/LED тус бүрийн гэрэлтүүлгийг хянах чадвар нь RGB LED -ийг удирдахад тустай байж болох бөгөөд ингэснээр та элемент бүрийн өөр өөр гэрэлтүүлгийн түвшингээр шаардлагатай өнгийг хялбархан сонгох боломжтой болно. Видео бичлэг дээр жагсаал үзүүлэв.

Алхам 5: Хоёр ба түүнээс дээш TLC5940 -ийг ашиглах

Та илүү олон LED-ийг удирдахын тулд нэлээд хэдэн TLC5940-ийг гинжлэх боломжтой. Нэгдүгээрт - өгөгдөл Arduino -аас дамжих үед эхний TLC5940 -ийн SOUT зүү (17) -ийг хоёр дахь TLC5940 -ийн SIN зүү (26) -тай холбохоос бусад тохиолдолд дараагийн TLC5940 -ийг Arduino руу холбоно уу. Эхний TLC5940 хоёр дахь нь гэх мэт. Хэрэв танд гурав дахь нь байгаа бол процедурыг давтана уу. Гүйдлийг тохируулдаг resisotr -ийг бүү мартаарай!

Дараа нь TLC5940 номын сангийн хавтсанд байгаа tlc_config.h файлыг нээнэ үү. NUM_TLCS -ийн утгыг өөр хоорондоо холбогдсон TLC5940 -ийн тоо болгон өөрчилж, файлыг хадгалаад мөн нэг хавтсанд байрладаг Tlc5940.o файлыг устгана уу. Эцэст нь IDE -ийг дахин эхлүүлнэ үү. Дараа нь та хоёр дахь болон цаашдын TLC5940 сувгуудыг эхнийхээс нь дараалан үзэх боломжтой. Энэ нь эхнийх нь 0 ~ 15, хоёр дахь нь 16 ~ 29 гэх мэт.

Алхам 6: TLC5940 -ийн тусламжтайгаар сервосуудыг хянах

TLC5940 нь PWM (импульсийн өргөн модуляци) гаралтыг бий болгодог тул servo жолоодоход бас тохиромжтой. Яг л LED -ийн нэгэн адил та арван зургаа хүртэл удирдах боломжтой. Аалз шиг робот бүтээх, хачин цаг гаргах эсвэл чимээ гаргахад тохиромжтой.

Сервоо сонгохдоо үүнийг ажиллуулахдаа 120 мА -аас хэтрэхгүй байгаа эсэхийг шалгаарай (нэг суваг дээрх хамгийн их гүйдэл), мөн энэ гарын авлагын төгсгөлд байгаа "Гүйдэл ба дулааныг зохицуулах" хэсгийг анхаарч үзээрэй. Гадаад хүчийг servos ашиглан ашиглаарай, Arduino -ийн 5V шугамд бүү найд.

Серво холбох нь энгийн зүйл юм - GND шугам нь GND -тэй, 5V (эсвэл тэжээлийн хүчдэлийн тугалга) таны 5v (эсвэл бусад тохиромжтой тэжээлд), серво хяналтын зүү нь TLC5940 -ийн гаралтын аль нэгэнд холбогддог. Эцэст нь хэлэхэд энэ нь чухал юм - ашиглаж буй TLC5940 гаралтын зүү ба 5В -ийн хооронд 2.2 кОм эсэргүүцэл холбоно уу. Серво хянах нь LED -ээс ялгаатай биш юм. Ноорог эхлэхэд танд эхний хоёр мөр хэрэгтэй болно.

#"Tlc5940.h" оруулах#"tlc_servos.h" оруулах

дараа нь хүчин төгөлдөр бус тохиргоонд ():

tlc_initServos ();

Дараа нь дараах функцийг ашиглан аль servo (суваг) ажиллахыг, шаардлагатай өнцгийг (өнцөг) сонгоно уу.

tlc_setServo (суваг, өнцөг);

LED -ийн нэгэн адил та эдгээрээс цөөн хэдийг нь нийлүүлж, дараа нь дараах тушаалыг ажиллуулж болно.

Tlc.update ();

Тиймээс энэ бүгдийг үйл ажиллагаандаа харцгаая. Дараах жишээ ноорог нь 90 градусын дөрвөн servo -ийг шүүрддэг.

#"Tlc5940.h" оруулах#"tlc_servos.h" оруулах

хүчингүй тохиргоо ()

{tlc_initServos (); // Тэмдэглэл: энэ нь ХОУХ -ны давтамжийг 50 Гц хүртэл бууруулна. }

хоосон давталт ()

{for (int өнцөг = 0; өнцөг = 0; өнцөг--) {tlc_setServo (0, өнцөг); tlc_setServo (1, өнцөг); tlc_setServo (2, өнцөг); tlc_setServo (3, өнцөг); Tlc.update (); саатал (5); }}

Видео бичлэг дээр энэхүү тоймыг дөрвөн servo -той ажиллаж байгааг харуулж байна.

Хэрэв та servos нь зөв өнцгөөр эргэхгүй байгаа бол - жишээлбэл та 180 градусыг асуухад 90 градус хүртэл эргэж байвал ойролцоогоор нэмэлт ажил хийх шаардлагатай болно.

Та TLC5940 Arduino номын сангийн хавтсанд байгаа tlc_servos.h файлыг нээж, SERVO_MIN_WIDTH болон SERVO_MAX_WIDTH утгуудыг туршиж үзэх хэрэгтэй. Жишээлбэл, SERVO_MIN_WIDTH -ийг 200 -аас 203 болгож, SERVO_MAX_WIDTH -ийг 400 -аас 560 болгон өөрчилнө үү.

Алхам 7: Одоогийн болон дулааныг зохицуулах

Өмнө дурьдсанчлан, TLC5940 нь нэг сувагт хамгийн ихдээ 120 мА ажиллах чадвартай. Туршилт хийсний дараа TLC5940 дулаарч байгааг анзаарч магадгүй юм.

Хэсгийг устгахаас өмнө тарааж болох хүч чадлын дээд хязгаар байдаг гэдгийг анхаарна уу. Хэрэв та зүгээр л ердийн цэцэрлэгийн LED эсвэл жижиг servo ашиглаж байгаа бол тэжээл нь асуудал үүсгэхгүй. Гэсэн хэдий ч хэрэв та TLC5940 -ийг хамгийн дээд хэмжээнд ашиглахаар төлөвлөж байгаа бол номын сангийн зохиогчдын өгсөн тэмдэглэлтэй танилцана уу.

Дүгнэлт

Дахин нэг удаа та Arduino -тойгоо маш хэрэгтэй хэсгийг удирдах гэж байна. Зарим төсөөллийн тусламжтайгаар та бүх төрлийн харааны дэлгэцийг бүтээх эсвэл олон servo ашиглан зугаацах боломжтой.

Энэхүү бичлэгийг pmdway.com танд хүргэж байна. Энэ нь TLC5940 бүтээгдэхүүн, үйлдвэрлэгч, цахилгаан бараа сонирхогчдод зориулагдсан бүх зүйлийг санал болгож, дэлхий даяар үнэгүй хүргэж өгдөг.

Зөвлөмж болгож буй: