Түсүн өзгөртүү LED: 13 кадам
Түсүн өзгөртүү LED: 13 кадам
Anonim
Түсүн өзгөртүү LED
Түсүн өзгөртүү LED
Түсүн өзгөртүү LED
Түсүн өзгөртүү LED
Түсүн өзгөртүү LED
Түсүн өзгөртүү LED

Мага өндүрүштү чыгаруу үчүн кандайдыр бир сенсордун жардамы менен прототип түзүү тапшырылды. Мен айланадагы жарыктын көлөмүн өлчөөчү фотоэлементтерди жана чыгуучу катары RGB LEDди колдонууну чечтим. Мен LEDдин ар кандай түстөрдү көрсөтүү жөндөмүн киргизгим келгенин билчүмүн, анткени бул кызыктуу болот деп ойлогом. Эгерде мен каалаган өндүрүштү түзө алсам, анда мен аны мүмкүн болушунча түстүү кылып алам деп ойлогом.

Болжолдуу наркы:

$ 37 - Elegoo Super Starter комплект (бардык жабдыктар камтылган)

$ 53 - Бардык жабдыктарды жекече сатып алуу

Пайдалуу шилтемелер:

RGB LED -

create.arduino.cc/projecthub/muhammad-aqib…

Фотоэлемент -

create.arduino.cc/projecthub/MisterBotBreak/how-to-use-a-photoresistor-46c5eb

Arduino программалык камсыздоо -

www.arduino.cc/en/software

Elegoo Super Start комплект -

www.amazon.com/gp/product/B01D8KOZF4/ref=p…

Жабдуулар

- 1 RGB LED

- 1 фотоэлемент (ака фоторезистор)

- 1 Arduino UNO башкармалыгы

- 1 нан

- 1 USB кабели Arduino үчүн

- 7 секирүүчү зым

- 3 220 омдук резистор

- 1 10k Ом каршылыгы

- Arduino программасы (акысыз жүктөп алуу)

Милдеттүү эмес

- жуп ийне мурундун кычкачы

1 -кадам: LEDди Breadboardго орнотуңуз

LEDди Breadboardго орнотуңуз
LEDди Breadboardго орнотуңуз
LEDди Breadboardго орнотуңуз
LEDди Breadboardго орнотуңуз
LEDди Breadboardго орнотуңуз
LEDди Breadboardго орнотуңуз

Биринчиден, RGB светодиодун тактага туура орнотуу керек

Төрт буттун ар бири менен светодиодду ошол эле тилкенин өзүнчө тешиктерине коюңуз (тамгалар менен көрсөтүлгөн). Эң узун бут жогору жактан экинчи бут болушу керек.

Эң узун бутунун катарында (сандар менен көрсөтүлгөн), секирүүчү зымдын бир учун сайыңыз.

Үч кыска буттун ар бири үчүн бир 220 омдук резисторду коюңуз. Ар бир резистордун эки буту тең LED буттары менен бир катарда болушу керек. Бул жерде мен ийне мурундун кычкачын колдонмокмун, анткени резисторлордун буттарын колго туташтыруу кыйын болушу мүмкүн.

Светодиоддун карама -каршы жагындагы үч секирүүчү зымды сайыңыз. Бул үч катар үчүн бир секирүүчү зым, бир каршылык жана LEDдин бир буту болушу керек.

2 -кадам: LEDди Arduinoго орнотуңуз

LEDди Arduinoго орнотуңуз
LEDди Arduinoго орнотуңуз
LEDди Arduinoго орнотуңуз
LEDди Arduinoго орнотуңуз
LEDди Arduinoго орнотуңуз
LEDди Arduinoго орнотуңуз
LEDди Arduinoго орнотуңуз
LEDди Arduinoго орнотуңуз

Эми LED туура нан панелине орнотулгандыктан, аны Arduino менен туташтыруу керек.

Эң узун бутка туташкан биринчи секирүүчү зым (LEDдин экинчи сабы болушу керек) жерге туташтырылышы керек, бул Arduinoдо "GND" менен көрсөтүлгөн.

Калган үч секирүүчү зым, төмөндөө иретинде, 11, 10 жана 9 -портторго туташтырылышы керек. Үстүнкү катардагы зым 11ге, кийинки зым ылдый (үчүнчү катар болушу керек) 10го туташтырылышы керек., жана акыркы зым 9га туташат. Бул үч зым бири -бирине параллель болуп, бири -бирине дал келбеши керек.

3 -кадам: Breadboardго Photocell орнотуу

Breadboardго Photocell орнотуу
Breadboardго Photocell орнотуу
Breadboardго Photocell орнотуу
Breadboardго Photocell орнотуу
Breadboardго Photocell орнотуу
Breadboardго Photocell орнотуу

LED айлана -чөйрөнүн жарыктыгына жооп бериши үчүн, сенсордон маалымат алышы керек.

Фотоэлементти нандын тактайына эки буту менен бир эле мамычага туташтырыңыз.

10k Ом резисторун бир буту менен фотоэлементтин астыңкы буту менен бир жерге сайыңыз. Ошол эле мамычанын ичинде резистордун экинчи бутун алысыраак жерге сайыңыз.

4 -кадам: Photocell'ди Arduino менен туташтырыңыз

Photocell'ди Arduino менен туташтырыңыз
Photocell'ди Arduino менен туташтырыңыз
Photocell'ди Arduino менен туташтырыңыз
Photocell'ди Arduino менен туташтырыңыз
Photocell'ди Arduino менен туташтырыңыз
Photocell'ди Arduino менен туташтырыңыз
Photocell'ди Arduino менен туташтырыңыз
Photocell'ди Arduino менен туташтырыңыз

10к Ом резистору менен бир катарда бир секирүүчү зымды сайыңыз, бирок ошол эле катарда фотоэлементте эмес.

Бул секирүүчү зымдын экинчи учун Arduinoдогу жерге (GND) туташтырыңыз.

Фотоэлемент буттарынын ар бири менен бир катарда болгон эки башка секирүүчү зымдарды сайыңыз.

Ардуинодогу 5В портуна эң алыскы зымды сайыңыз.

Зымды түбүнө чейин Arduinoдогу A0 портуна сайыңыз.

5 -кадам: Arduino сайыңыз

Arduino сайыңыз
Arduino сайыңыз
Arduino сайыңыз
Arduino сайыңыз
Arduino сайыңыз
Arduino сайыңыз
Arduino сайыңыз
Arduino сайыңыз

Эми нан тактасы орнотулуп, Arduino менен туташып калганда, USB туташтыргычын колдонуп, Arduino компьютериңизге туташыңыз.

6 -кадам: Кодуңузду баштаңыз

Кодуңузду баштаңыз
Кодуңузду баштаңыз
Кодуңузду баштаңыз
Кодуңузду баштаңыз

Arduino программасын колдонуу менен жаңы эскиз түзүңүз.

Комментарийде аты -жөнүңүздү, эскиз тууралуу кээ бир деталдарды жазыңыз жана колдонгон бардык ресурстарыңызды байланыштырыңыз.

Жараксыз орнотуунун үстүндө глобалдык өзгөрмөлөрдү орнотуңуз. Төмөндөгү кодду көчүрүп, чаптаңыз. Сиз кодду жазып жатканда, кээ бир бөлүктөрү башка түстөргө айланат. Бул болушу керек.

int red_light_pin = 11; int green_light_pin = 10; int blue_light_pin = 9; int photocellReading = 0; int photocell = 5;

Эгер байкасаңыз, бул өзгөрмөлөргө берилген сандар Arduino тактасында зымдар туташтырылган жерге дал келет.

7 -кадам: Void Setup

Жараксыз орнотуу
Жараксыз орнотуу

Чыгуу катары RGB LEDди орнотуңуз.

pinMode (red_light_pin, OUTPUT); pinMode (green_light_pin, OUTPUT); pinMode (blue_light_pin, OUTPUT);

Фотоэлементтин көрсөткүчтөрүн көрүү үчүн сериялык мониторду иштетиңиз.

Serial.begin (9600); Serial.println ("Сериялык монитор башталды"); кечигүү (500); Serial.println ("."); кечигүү (500); Serial.println ("."); кечигүү (500); Serial.println ("."); кечигүү (500);

Жараксыз орнотуу коду бир тармал кашаанын ичинде камтылганын текшериңиз {}

8 -кадам: Void Loop

Void Loop
Void Loop
Void Loop
Void Loop

Void loop бөлүмүнүн кодун жазыңыз.

Биринчи сүрөттөгү код фотоцеллдин окууларын айрым саптарга басып чыгарат. Бул окууну жеңилдетет.

int мааниси = analogRead (A0); photocellReading = analogRead (photocell); Serial.println (photocellReading); кечиктирүү (40);

Экинчи сүрөттөгү код - бул LEDдин кайсы түскө дал келгенине белгилүү бир окуу баалуулуктары туура келет.

if (photocellReading 0) {RGB_color (255, 0, 0); // Кызыл} if (photocellReading 99) {RGB_color (255, 255, 0); // Сары} if (photocellReading 199) {RGB_color (0, 255, 0); // Жашыл} if (photocellReading 299) {RGB_color (0, 0, 255); // Көк} if (photocellReading 399) {RGB_color (255, 0, 255); // кызгылт}

RGB_color (0s жана 255s) сандарынын маанилерин өзгөртүү кайсы түс көрсөтүлөрүн өзгөртөт. Бул мен барган түстөр, бирок аларды каалагандай өзгөртүп же алмаштырып коюңуз.

Боштуктун айлануу бөлүмү тармал кашаанын ичинде экендигин текшериңиз {}

9 -кадам: Түстөрдү өзгөртүү

Түстөрдү өзгөртүү
Түстөрдү өзгөртүү

Бул мурунку кадам үчүн тандоо үчүн дагы бир нече түстөр. Мен бул кодду эскизиме шилтеме катары колдондум.

10 -кадам: Акыркы RGB LED коду

Акыркы RGB LED коду
Акыркы RGB LED коду

Эскиздин аягында, боштук циклинин сыртында, бул кодду Arduinoдогу кайсы порт кызыл жарыктын, жашыл жарыктын жана жашыл жарыктын маанисин билдирерин аныктоо үчүн киргизиңиз.

жараксыз RGB_color (int red_light_value, int green_light_value, int blue_light_value) {analogWrite (red_light_pin, red_light_value); analogWrite (green_light_pin, green_light_value); analogWrite (blue_light_pin, blue_light_value); }

Боштукту орнотуу жана боштук цикл бөлүмдөрүндөй эле, бул бөлүмдүн тармал кашаанын ичинде камтылганын текшериңиз {}

11 -кадам: Жарыктарды сынап көрүңүз

Жарыктарды сынап көрүңүз!
Жарыктарды сынап көрүңүз!
Жарыктарды сынап көрүңүз!
Жарыктарды сынап көрүңүз!
Жарыктарды сынап көрүңүз!
Жарыктарды сынап көрүңүз!

Программада жүктөө баскычын басуу менен кодду Arduino тактасына жүктөңүз. Эгер сиз муну туура кылсаңыз, LED айланадагы жарыктын көлөмүнө жараша түстү көрсөтүшү керек.

Кызыл - эң караңгы чөйрө, эң төмөнкү фотоэлементтердин көрсөткүчү.

Сары - бир аз жарык чөйрө/фотоцеллдин жогорку көрсөткүчү. Сүрөттө жашыл түскө окшош, бирок ал адамга сары түстө жаркырап көрүнгөн.

Кийинки үч түс, жашыл, көк жана кызгылт көк, фотоэлементтен барган сайын жогорку көрсөткүчтөргө дал келет.

12 -кадам: Мүчүлүштүктөрдү оңдоо

Мүчүлүштүктөрдү оңдоо
Мүчүлүштүктөрдү оңдоо

Эгерде түстөр өзгөрбөсө, же түстөр өзгөрүшү үчүн өтө чоң өзгөрүүлөрдү талап кылса, сериялык монитордогу фотоэлементтердин көрсөткүчтөрүн текшериңиз. Ар бир чөйрөдө жарыктын ар кандай деңгээли бар, андыктан бул коддун чагылдырылышы маанилүү.

Arduino программасынын үстүндөгү Куралдарга басыңыз -> Сериялык Мониторго басыңыз.

Сандардын үзгүлтүксүз тизмесин көрсөткөн терезе ачылышы керек. Void Loop кадамынан if билдирүүлөрүнүн сандарын тууралаңыз.

13 -кадам: Акыркы продукт

Акыркы продукт
Акыркы продукт

Бул кадамдардын бардыгын жасоо менен, сиз айланаңыздын жарыктыгына жараша түсүн өзгөрткөн жарык менен бүтүшүңүз керек.

Мен үчүн, менин бөлмөмдүн орточо жарыктыгында, жарык жашыл түстө жаркырайт, бирок мен фотоэлементти жаап же жарыктын көлөмүн көбөйтүү менен түсүн оңой өзгөртө алам.

Сунушталууда: