Სარჩევი:

Arduino და TLC5940 PWM LED დრაივერის IC: 7 ნაბიჯი
Arduino და TLC5940 PWM LED დრაივერის IC: 7 ნაბიჯი

ვიდეო: Arduino და TLC5940 PWM LED დრაივერის IC: 7 ნაბიჯი

ვიდეო: Arduino და TLC5940 PWM LED დრაივერის IC: 7 ნაბიჯი
ვიდეო: არდუინო: შუქნიშანი 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- ების სიკაშკაშე PWM– ით (პულსის სიგანის მოდულაცია)-და თქვენ ასევე შეგიძლიათ მოაწყოთ ჯაჭვი ერთზე მეტ TLC5940– ზე კიდევ უფრო გასაკონტროლებლად.

ამ გაკვეთილის განმავლობაში ჩვენ ავუხსნით როგორ გავაკონტროლოთ ერთი ან მეტი TLC5940 IC ები LED- ებით და ასევე შევხედოთ საკონტროლო სერვისებს. ამ ეტაპზე, გთხოვთ გადმოწეროთ TLC5940 ასლი (.pdf), როგორც თქვენ მიმართავთ მას ამ პროცესის განმავლობაში. გარდა ამისა, გთხოვთ გადმოწეროთ და დააინსტალიროთ ალექს ლეონეს TLC5940 Arduino ბიბლიოთეკა, რომელიც შეგიძლიათ იხილოთ აქ. თუ არ ხართ დარწმუნებული როგორ დააინსტალიროთ ბიბლიოთეკა, დააწკაპუნეთ აქ.

ნაბიჯი 1: შექმენით TLC5940 სადემონსტრაციო წრე

შექმენით TLC5940 სადემონსტრაციო წრე
შექმენით TLC5940 სადემონსტრაციო წრე

შემდეგი წრე არის მინიმალური მოთხოვნა თქვენი Arduino– დან თექვსმეტი LED– ის გასაკონტროლებლად ან თავსებადი. თქვენ შეგიძლიათ გამოიყენოთ იგი სხვადასხვა ფუნქციის ექსპერიმენტისთვის და მიიღოთ წარმოდგენა რა არის შესაძლებელი. თქვენ დაგჭირდებათ:

  • Arduino Uno ან თავსებადი დაფა
  • 16 ნორმალური, ყოველდღიური LED- ები, რომლებსაც შეიძლება ჰქონდეთ წინსვლა 20 mA– მდე
  • 2 kΩ რეზისტორი (მიეცით ან მიიღეთ 10%)
  • კერამიკული 0.1uF და 4.7uF ელექტროლიტური კონდენსატორი

გაითვალისწინეთ LED ორიენტაცია-და დაიმახსოვრეთ TLC5940 არის საერთო ანოდიანი LED დრაივერი-ასე რომ ყველა LED ანოდი ერთმანეთთან არის დაკავშირებული და შემდეგ 5 ვ.

ნაბიჯი 2:

ამ კონკრეტული სქემისთვის, თქვენ არ გჭირდებათ გარე 5V კვების წყარო - თუმცა შეიძლება მომავალში დაგჭირდეთ. რეზისტორის დანიშნულებაა გააკონტროლოს დენის რაოდენობა, რომელიც შეიძლება გადიოდეს LED- ებში. საჭირო რეზისტორის მნიშვნელობა გამოითვლება შემდეგი ფორმულით:

R = 39.06 / Imax, სადაც R (ომში) არის რეზისტორის მნიშვნელობა და Imax (ამპერებში) არის დენის მაქსიმალური რაოდენობა, რომლის გადიდებაც გსურთ LED- ების საშუალებით.

მაგალითად, თუ თქვენ გაქვთ LED- ები 20 mA წინამდებარე დენით - რეზისტორის გაანგარიშება იქნება: R = 39.06 / 0.02 = 1803 Ohms. მას შემდეგ რაც ჩართავთ სქემას - გახსენით Arduino IDE და ატვირთეთ ესკიზი BasicUse.pde რომელიც არის TLC5940 ბიბლიოთეკის მაგალითის საქაღალდეში.

თქვენ უნდა წარმოადგინოთ ისეთი გამომავალი, როგორიც ვიდეოშია ნაჩვენები.

ნაბიჯი 3: TLC5940- ის კონტროლი

ახლა, როდესაც წრე მუშაობს, როგორ ვაკონტროლოთ TLC5940? პირველი, სავალდებულო ფუნქციები - შეიტანეთ ბიბლიოთეკა ესკიზის დასაწყისში:

#მოიცავს "Tlc5940.h"

და შემდეგ ბიბლიოთეკის ინიციალიზაცია შემდეგი მოქმედებების ბათილად დაყენებისას ():

Tlc.init (x);

x არის სურვილისამებრ პარამეტრი - თუ გსურთ ეს არხების დაწყებისთანავე დააყენოთ ყველა არხი გარკვეულ სიკაშკაშეზე, შეგიძლიათ Tlc.init () ფუნქციაში ჩადოთ მნიშვნელობა 0 -დან 4095 -მდე x- ისთვის.

ახლა ჩართეთ ან გამორთეთ არხი/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 () გამოძახება გასუფთავებული ფუნქციის შემდეგ. ქვემოთ მოცემულია ესკიზის სწრაფი მაგალითი, რომელიც ადგენს ყველა არხის სიკაშკაშე/PWM მნიშვნელობებს სხვადასხვა დონეზე:

#მოიცავს "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); }

თითოეული სინათლის/სინათლის ინდივიდუალური სიკაშკაშის კონტროლი ასევე შეიძლება სასარგებლო იყოს RGB LED- ების კონტროლისას - ამის შემდეგ თქვენ შეგიძლიათ მარტივად შეარჩიოთ საჭირო ფერები თითოეული ელემენტის სიკაშკაშის სხვადასხვა დონის საშუალებით. ვიდეოში ნაჩვენებია დემონსტრაცია.

ნაბიჯი 5: ორი ან მეტი TLC5940– ის გამოყენება

თქვენ შეგიძლიათ მოაწყოთ ჯაჭვი რამდენიმე TLC5940– ით ერთად მეტი LED– ების გასაკონტროლებლად. პირველი - შეაერთეთ შემდეგი TLC5940 არდუინოსთან, როგორც ნაჩვენებია სადემონსტრაციო წრეში - გარდა პირველი TLC5940- ის SOUT pin (17) მეორე TLC5940- ის SIN pin- თან (26) - მონაცემების არდუინოდან გავლით პირველი TLC5940 მეორეზე და ასე შემდეგ. შემდეგ გაიმეორეთ პროცესი, თუ თქვენ გაქვთ მესამე და ა.შ. არ დაივიწყოთ რეზისტორი, რომელიც ადგენს დენს!

შემდეგი, გახსენით ფაილი tlc_config.h, რომელიც მდებარეობს TLC5940 ბიბლიოთეკის საქაღალდეში. შეცვალეთ NUM_TLCS მნიშვნელობა TLC5940– ების რაოდენობამდე, რომლებიც თქვენ გაქვთ დაკავშირებული, შემდეგ შეინახეთ ფაილი და ასევე წაშალეთ ფაილი Tlc5940.o ასევე მდებარეობს იმავე საქაღალდეში. საბოლოოდ გადატვირთეთ IDE. ამის შემდეგ შეგიძლიათ მიმართოთ მეორე და შემდგომი TLC5940 არხებს თანმიმდევრობით პირველიდან. ანუ პირველი არის 0 ~ 15, მეორე არის 16 ~ 29 და ასე შემდეგ.

ნაბიჯი 6: სერვისების კონტროლი TLC5940– ით

რადგან TLC5940 გამოიმუშავებს PWM (პულსის სიგანის მოდულაციას) გამომუშავებას, ის ასევე შესანიშნავია სერვისების მართვისთვის. ისევე როგორც LED- ები - შეგიძლიათ ერთდროულად თექვსმეტამდე აკონტროლოთ. იდეალურია ობობის მსგავსი რობოტების, უცნაური საათების შესაქმნელად ან გარკვეული ხმაურის შესაქმნელად.

თქვენი სერვერის არჩევისას, დარწმუნდით, რომ ის არ ამოიღებს 120 mA- ზე მეტს მუშაობისას (მაქსიმალური დენი თითო არხზე) და ასევე მიაქციეთ ყურადღება "მიმდინარე და სითბოს მართვის" განყოფილებას ამ გაკვეთილის ბოლოს. და გამოიყენეთ გარე ძალა სერვოებთან ერთად, ნუ დაეყრდნობით არდუინოს 5 ვ ხაზს.

სერვოს დაკავშირება მარტივია - GND ხაზი უკავშირდება GND– ს, 5V (ან ძაბვის ძაბვა) უკავშირდება თქვენს 5 ვ (ან სხვა შესაფერის წყაროს) და სერვო კონტროლის პინი უკავშირდება ერთ TLC5940– ის ერთ გამოსავალს. დაბოლოს - და ეს მნიშვნელოვანია - შეაერთეთ 2.2kΩ რეზისტორი TLC5940 გამომავალ პინ (ებ) ს და 5 ვ. სერვოს კონტროლი დიდად არ განსხვავდება LED- სგან. ესკიზის დასაწყისში გჭირდებათ პირველი ორი სტრიქონი:

#მოიცავს "Tlc5940.h"#მოიცავს "tlc_servos.h"

შემდეგ შემდეგი void setup ():

tlc_initServos ();

შემდეგი, გამოიყენეთ შემდეგი ფუნქცია, რომ აირჩიოთ რომელი სერვო (არხი) იმუშაოს და საჭირო კუთხე (კუთხე):

tlc_setServo (არხი, კუთხე);

LED- ების მსგავსად, თქვენ შეგიძლიათ შეაგროვოთ რამდენიმე მათგანი ერთად და შემდეგ შეასრულოთ ბრძანება:

Tlc.update ();

მოდით ვნახოთ ეს ყველაფერი მოქმედებაში. ქვემოთ მოყვანილი ესკიზის მაგალითი ოთხ სერვისს მოიცავს 90 გრადუსზე:

#მოიცავს "Tlc5940.h"#მოიცავს "tlc_servos.h"

ბათილად დაყენება ()

{tlc_initServos (); // შენიშვნა: ეს შეამცირებს PWM სიხშირეს 50 ჰც -მდე. }

ბათილი მარყუჟი ()

{for (int angle = 0; angle = 0; angle--) {tlc_setServo (0, angle); tlc_setServo (1, კუთხე); tlc_setServo (2, კუთხე); tlc_setServo (3, კუთხე); Tlc.update (); დაგვიანება (5); }}

ვიდეოში ნაჩვენებია ეს ესკიზი მოქმედებაში ოთხი სერვისი.

თუ თქვენ სერვოები არ ბრუნავთ სწორ კუთხეზე - მაგალითად, თქვენ ითხოვთ 180 გრადუსს და ისინი მხოლოდ 90 – ზე ბრუნავს ან იქით, საჭიროა ცოტა მეტი მუშაობა.

თქვენ უნდა გახსნათ tlc_servos.h ფაილი, რომელიც მდებარეობს TLC5940 Arduino ბიბლიოთეკის საქაღალდეში და ექსპერიმენტი გაუკეთოთ მნიშვნელობებს SERVO_MIN_WIDTH და SERVO_MAX_WIDTH. მაგალითად შეცვალეთ SERVO_MIN_WIDTH 200 -დან 203 -მდე და SERVO_MAX_WIDTH 400 -დან 560 -მდე.

ნაბიჯი 7: მიმდინარე და სითბოს მართვა

როგორც უკვე აღვნიშნეთ, TLC5940 შეუძლია გაუმკლავდეს მაქსიმუმ 120 mA არხს. გარკვეული ექსპერიმენტების შემდეგ შეიძლება შეამჩნიოთ, რომ TLC5940 თბება - და ეს ნორმალურია.

გაითვალისწინეთ, რომ არსებობს მაქსიმალური ლიმიტი იმ ენერგიის ოდენობაზე, რომელიც შეიძლება დაიშალა ნაწილის განადგურებამდე. თუ თქვენ იყენებთ ჩვეულებრივ ბაღის ჯიშის LED- ებს ან მცირე ზომის სერვისებს, ძალა არ იქნება პრობლემა. თუმცა, თუ თქვენ გეგმავთ TLC5940– ის მაქსიმალურ გამოყენებას - გთხოვთ გადახედოთ ბიბლიოთეკის ავტორების მიერ მონიშნულ ჩანაწერებს.

დასკვნა

კიდევ ერთხელ მიდიხართ თქვენი არდუინოს წარმოუდგენლად სასარგებლო ნაწილის გასაკონტროლებლად. ახლა რაღაც ფანტაზიით შეგიძლიათ შექმნათ ყველა სახის ვიზუალური ჩვენება ან გაერთოთ ბევრ სერვისთან ერთად.

ეს პოსტი მოგიტანთ pmdway.com - რომელიც გთავაზობთ TLC5940 პროდუქტს ყველაფერთან ერთად შემქმნელებისთვის და ელექტრონიკის მოყვარულთათვის, უფასო მიწოდებით მთელს მსოფლიოში.

გირჩევთ: