Мазмуну:

Arduino RGB Color Picker - Чыныгы жашоо объектилеринен түстөрдү тандоо: 7 кадам (сүрөттөр менен)
Arduino RGB Color Picker - Чыныгы жашоо объектилеринен түстөрдү тандоо: 7 кадам (сүрөттөр менен)

Video: Arduino RGB Color Picker - Чыныгы жашоо объектилеринен түстөрдү тандоо: 7 кадам (сүрөттөр менен)

Video: Arduino RGB Color Picker - Чыныгы жашоо объектилеринен түстөрдү тандоо: 7 кадам (сүрөттөр менен)
Video: Урок 101. Использование ИК-пульта дистанционного управления для управления телевизором, лампочкой переменного тока с реле, двигателем постоянного тока и серводвигателем. 2024, Ноябрь
Anonim
Image
Image
RGB Color Picker Test Районун туташтыруу
RGB Color Picker Test Районун туташтыруу

Tinkercad долбоорлору »

Бул Arduino негизделген RGB түс тандагычы менен физикалык нерселерден түстөрдү оңой тандап алыңыз, бул сиздин компьютерде же мобилдик телефонуңузда чыныгы жашоодо көргөн түстөрдү кайра жаратууга мүмкүндүк берет. Жөн эле арзан TCS34725 түстүү сенсор модулун колдонуп, объектинин түсүн сканерлөө үчүн баскычты басыңыз жана сизге RGB түстүү баалуулуктар, ошондой эле RGB LEDдеги өлчөнгөн түстүн көрсөткүчү берилет.

Эгерде сиз бул Нускаманы жактырсаңыз, Make It Glow Конкурсунда ага добуш бериңиз.

Мен электрониканы түзмөктү портативдүү кылып, USB портуна, заряддагычка же кубат банкына туташтыруу үчүн жөнөкөй 3D басылган корпусту иштеп чыктым. Ошондой эле, дизайнды батарейканы жайгаштыруу үчүн, аны дагы портативдүү кылуу үчүн өзгөртө аласыз.

Мен көбүнчө Arduino Uno колдонууга аракет кылам, анткени бул эң кеңири колдонулган Arduino такталарынын бири, бирок бул аппаратты портативдүү кылуу үчүн ал Arduino Pro Micro тактасынын тегерегинде иштелип чыккан. Бирок, аны Uno, Леонардо же Мега сыяктуу жетиштүү IO бар башка Arduino шайкеш такталарында иштетүүгө ыңгайлаштырса болот.

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

Жабдуулар

  • Arduino Pro Micro (Же башка) - Бул жерден сатып алыңыз
  • TCS34725 RGB сенсор - Бул жерден сатып алыңыз
  • 16 x 2 ЖК панели - Бул жерден сатып алыңыз
  • Pushbutton - Бул жерден сатып алыңыз
  • 2 x 10K резисторлор - Бул жерден сатып алыңыз
  • 3 x 220Ω резисторлор - Бул жерден сатып алыңыз
  • 470Ω Резистор - Бул жерден сатып алыңыз
  • RGB LED - Бул жерден сатып алыңыз
  • 7 пин аялдын баш тилкеси (узундугуна чейин кесилген) - Бул жерден сатып алыңыз
  • 10K потенциометр - Бул жерден сатып алыңыз
  • Breadboard & Testing for Jumpers - Бул жерден сатып алыңыз
  • 3D принтер жана ак/кара жип (Турак жай үчүн кошумча) - Бул колдонулган

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

1 -кадам: RGB Color Picker Test Районун туташтыруу

RGB Color Picker Test Районун туташтыруу
RGB Color Picker Test Районун туташтыруу
RGB Color Picker Test Районун туташтыруу
RGB Color Picker Test Районун туташтыруу

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

Компоненттер схемада көрсөтүлгөндөй нан тактасына туташтырылган.

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

10K резисторлор баскыч баскычын туташтыруу үчүн колдонулат жана 220Ω каршылыгы Түс сенсорунун LED жана кызыл жана көк буттары RGB LED. 470Ω каршылыгы LEDдин жашыл буту үчүн реалдуураак түстөрдү түзүү үчүн анын жарыктыгын бир аз азайтуу үчүн колдонулат.

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

Эгерде сиз башка Arduino тактасын колдонуп жатсаңыз, анда Pro Microдо колдонулган ар бир пинге окшош функцияга ээ экениңизди текшериңиз. Мисалы, тандалган RGB түсүн окшоштуруу үчүн RGB LEDди башкаруу үчүн PWM иштетилген казыктар керек.

2 -кадам: Arduino RGB түс тандагычыңызды программалоо

Сиздин Arduino RGB түс тандагычын программалоо
Сиздин Arduino RGB түс тандагычын программалоо
Сиздин Arduino RGB түс тандагычын программалоо
Сиздин Arduino RGB түс тандагычын программалоо
Сиздин Arduino RGB түс тандагычын программалоо
Сиздин Arduino RGB түс тандагычын программалоо
Сиздин Arduino RGB түс тандагычын программалоо
Сиздин Arduino RGB түс тандагычын программалоо

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

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

Бул такта, Arduino Pro Micro сиздин компьютериңизге туташканда Леонардонун ролун аткарат, андыктан Arduino IDEде тактанын туура түрүн тандап алыңыз, антпесе сиз кодду жүктөп жатканда каталарды аласыз.

Бул жерде RGB түс тандоо кодуна шилтеме бар: RGB Түс тандоо кодун жүктөп алыңыз

Код ар бир бөлүмдүн эмне кылып жатканын түшүндүрүп берүү үчүн комментарийлерди камтыйт. Түстү аныктоо жана LED бөлүгү Adafruit colorview мисал кодуна негизделген. Эгерде сиз өзүңүздүн кодуңузду жазгыңыз келсе, анда бул иштөө жана баштоо үчүн пайдалуу мисал.

Сиз Adafruit китепканаларын орнотушуңуз керек. Бул оңой эле Tools -> IDEдеги китепканаларды башкарууну басып, издөө тилкесине "Adafruit TCS" терип, табылган китепкананы орнотуу менен оңой жасалат.

Коддон издеш керек болгон кээ бир нерселер:

ЖК дайындалган төөнөгүчтөр кызыктай тартипте (15, 14, 16, 4, 5, 8, 7). Мен көбүнчө казыктарды ырааттуу сактоого аракет кылам, бирок бул мисалда алар эки нерседен улам бир аз аралашып кетишкен, биринчиден, мен LED үчүн PWM казыктарын айланып өтүшүм керек, экинчиси Pro Microдогу казыктар баары эмес болгондуктан ырааттуу тартипте.

Түс сенсорунун LED жана баскычтары Pro Micro аналогдук киришине туташкан, алар санариптик IO катары колдонулат, анткени санариптик IO казыктары жетишсиз болгон. Алар дагы эле коддо стандарттык санариптик IO казыктары катары аныкталган.

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

Программа түстүү сенсор менен байланыш түзбөсө, орнотуудан өтпөйт, эгерде туташууну орното албаса, ал LCDиңизде "Сенсор катасы" болуп көрүнөт. Эгерде LED күйүп турган болсо, анда сенсордун кубатын көрсөтүп, анда SDA жана SCL туташууларыңызды текшериңиз жана туура Arduino казыктарын колдонуп жатканыңызды текшериңиз.

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

Андан кийин код баскыч баскычынын кирүүсүн сенсордон окуусун күтөт жана баалуулуктарды ЖКда жана LED аркылуу көрсөтөт. Учурдагы үч кечигүү, эгерде баскыч кайра бошотулганга чейин, кайталап окуудан алыс болуу үчүн, эгерде чыныгы окуу жана циклдин убактысы болжол менен 100 мс болсо, сиз дагы бул баалуулуктар менен ойной аласыз тезирээк же жайыраак.

3 -кадам: Компоненттерди корпуска орнотуу

Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу

Пайдалуу жана портативдүү түзмөк жасоо үчүн мен компоненттерди бириктирип, аларды жөнөкөй 3D басылган корпуска орнотууну чечтим.

Бул татаал схема, балким, ПХБга карата иштелип чыгышы керек, бирок көпчүлүктүн ПХБ өндүрүү кызматтарына мүмкүнчүлүгү жок, ошондуктан мен компоненттерди лента кабелинин бөлүктөрү менен кошо такап калдым.

4 -кадам: Корпусту 3D басып чыгаруу

3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу
3D тиркемесин басып чыгаруу

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

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

Мен корпусту ак PLA жана 20% толтуруу менен басып чыгардым, мен арткы панель үчүн түстүү жипти колдонуудан алыс болом, анткени сиз чагылган түстүү жарыкты тандалган бетке киргизгиңиз келбейт.

Турак жайдын өлчөмдөрү болжол менен 110мм (4.3 ") х 46мм (1.8") х 20мм (0.78 "), эки бөлүгү тең чогулган. Ар бир жарым бийиктиги 10 мм (0,39 ").

5 -кадам: Районду ширетүү

Circuit Solder
Circuit Solder
Circuit Solder
Circuit Solder
Circuit Solder
Circuit Solder

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

Ар бир компонентти Arduinoго ширетүүдөн баштаңыз, анткени сиз аны нан тактасынан алып саласыз жана бир убакта толук схеманы түзүү үчүн компоненттерди алып салууга аракет кылыңыз.

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

Туура Arduino IO портторуна туташууңузду камсыз кылуу үчүн ЖК панели жана Түс сенсоруна кам көрүңүз.

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

GND жана 5V менен бир нече байланыштарды жасоо керек жана бул аларды эки Arduino казыгына кошууга аракет кылуунун ордуна, аларды чоңураак борбордук пункттарга туташтырууну жеңилдетет. Мен алардын бардыгын ЖК потенциометринин эки сырткы бутуна туташтырдым, анткени бул болжол менен корпустун борборунда жана байланыштарды жасоо үчүн эң чоң бети бар.

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

Эгерде сиздин схемаңыз туура иштеп жатса, анда сиз компоненттериңизди 3D басып чыгарылган корпуска орното аласыз.

6 -кадам: Компоненттерди корпуска орнотуңуз

Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу
Компоненттерди корпуска орнотуу

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

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

Баскычты, ЖКны жана LEDди алдыңкы панелдеги тешиктер аркылуу орнотуп, корпустун ичине жабыштырыңыз.

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

Микро USB портуна корпустун капталынан оңой жетүү керек.

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

7 -кадам: Сиздин RGB түс тандагычын колдонуу

Сиздин RGB түс тандагычын колдонуу
Сиздин RGB түс тандагычын колдонуу
Сиздин RGB түс тандагычын колдонуу
Сиздин RGB түс тандагычын колдонуу
Сиздин RGB түс тандагычын колдонуу
Сиздин RGB түс тандагычын колдонуу
Сиздин RGB түс тандагычын колдонуу
Сиздин RGB түс тандагычын колдонуу

Түс тандагычты колдонуу үчүн, түстүү тандагычтын капталындагы портко микро USB кабелин туташтырыңыз.

Ишке кирүү ырааттуулугу иштеши керек, андан кийин сиз Түс тандоочу даяр менен көрсөтүлгөн түстү тандай аласыз.

Сенсорду тандап алгыңыз келген түстүн үстүнө коюп, түстү тандоо үчүн баскычты басыңыз. Сенсордогу LED жарыгы бир аздан кийин күйүп турушу керек, андан кийин сиз ЖКда RGB окууну аласыз жана LED тандалган түстү чагылдыруу үчүн өзгөрөт.

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

Эгерде сиз бул Нускаманы жактырсаңыз, Make It Glow Конкурсунда ага добуш бериңиз.

Көбүрөөк Arduino үйрөткүчтөрү, долбоорлору жана идеялары үчүн менин блогумду караңыз.

Жаркыраган конкурс кылыңыз
Жаркыраган конкурс кылыңыз
Жаркыраган конкурс кылыңыз
Жаркыраган конкурс кылыңыз

Муну жаркыратуу конкурсунда экинчи орунду ээледи

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