Мазмұны:

RGB температура индикаторы (XinaBox көмегімен): 5 қадам (суреттермен)
RGB температура индикаторы (XinaBox көмегімен): 5 қадам (суреттермен)

Бейне: RGB температура индикаторы (XinaBox көмегімен): 5 қадам (суреттермен)

Бейне: RGB температура индикаторы (XinaBox көмегімен): 5 қадам (суреттермен)
Бейне: ATtiny13 + датчик температуры DS18B20. Выводим температуру на светодиодный индикатор 2024, Шілде
Anonim
RGB температура индикаторы (XinaBox көмегімен)
RGB температура индикаторы (XinaBox көмегімен)

Бұл ресми түрде менің нұсқаулықтар туралы алғашқы мақалам, сондықтан мен бұл мүмкіндікті дәл қазір пайдаланып көру үшін пайдаланатынымды мойындаймын. Платформаның қалай жұмыс жасайтынын, оның бүкіл қолданушы тәжірибесі туралы біліңіз. Бірақ мен мұны істей отырып, мен бүгін жұмыс жасап жатқан қарапайым жоба туралы бөлісуге мүмкіндігімді пайдалана аламын деп ойладым (айтпақшы «X-in-a-» деп айтылатын XinaBox өнімдерін қолдана отырып). Қорап »).

Бұл қарапайым 5 қадамдық нұсқаулықта мен келесі тақырыптарды қарастырамын:

  • Қажетті компоненттер
  • Әр түрлі xChips -ті біріктіру.
  • Arduino IDE ортасын орнату.
  • Кодты жазу
  • Соңында, идеяны сынау

Бұл нұсқаулықта мен бөліспеймін:

  • Мен xChips -тің әрқайсысы не істей алатынын және оларды белгілі бір функцияларды орындау үшін қалай басқаруға болатынын түсіндіруді ұнатамын, бірақ бұл нұсқаулықтың мақсаты болмайды. Мен жақын арада XinaBox өнімдерінің каталогында қол жетімді әр түрлі xChips -ке енетін басқа нұсқаулықтарды шығаруды жоспарлап отырмын.
  • Мен Arduino кодының негіздеріне тоқталмаймын, себебі сізде Arduino IDE қолдану тәжірибесі бар, сонымен қатар C/C ++ бағдарламалаудың негізгі деңгейі бар деп ойлаймын.

1 -қадам: Сізге не қажет …

Сізге не қажет…
Сізге не қажет…
Сізге не қажет…
Сізге не қажет…
Сізге не қажет…
Сізге не қажет…

Техникалық тұрғыдан алғанда, өнімге арналған негізгі оқулықтардың көпшілігі әдетте «Сәлем әлемі!» мысалы, немесе сіз «Arduino» немесе Raspberry Pi -мен бір уақытта жұмыс істегендіктен сізге бұрыннан таныс болуы мүмкін «Blink» мысалы. Бірақ мен бұнымен бастағым келмейді, өйткені бәрі қазірдің өзінде бір нәрсені істеп жатыр, бұл оны шынымен жалықтырады.

Оның орнына мен практикалық жоба идеясынан бастағым келді. Егер сіз қаласаңыз, жеткілікті қарапайым және масштабты жоба идеясына айналатын нәрсе.

Міне, бізге қажет заттар (Нұсқаулықтың осы бөлімінде берілген суреттерді қараңыз):

  1. IP02 - жетілдірілген USB бағдарламалау интерфейсі
  2. CC03 - Arm Cortex M0+ Core
  3. SW02 - VOC және ауа райы сенсоры (BOSCH BME680 сенсорын қолданады)
  4. xBUS коннекторлары - әр түрлі xChips (x2) арасындағы I2C байланысын қосу үшін
  5. xPDI қосқышы - бағдарламалау мен күйін келтіруді қосу үшін (x1)

2 -қадам: бөліктерді қосу

Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу
Бөлшектерді қосу

Барлық бөлшектерді қосу үшін алдымен xBUS коннекторының 1 бөлігінен және xPDI қосқышынан бастаймыз.

Мен ұсынған суреттерден кейін xChips бағытын және қосқыштардың қайда кететінін байқаңыз.

IP02 мен CC03 xChips арасында байланыс нүктелерін анықтау өте оңай.

CC03 үшін бұл оңтүстік жағы болады. IP02 үшін бұл xChip -тің солтүстік жағы болады.

Бұл аяқталғаннан кейін біз CC03 xChip -тің батыс жағына басқа xBUS қосқышын қосамыз.

Орындалды ма?

Енді SW02 xChip -ті CC03 батыс жағына қосыңыз.

Ноутбукке IP02 салмас бұрын, екі қосқыш үшін келесі опциялар таңдалғанына көз жеткізіңіз:

  • B таңдалды (солға ауысу)
  • DCE таңдалды (оңға ауысу)

Ақырында, біз қазір ноутбукке IP02 енгізуге және Arduino IDE орнатуды бастауға дайынбыз.

3 -қадам: Arduino IDE орнату

Arduino IDE орнату
Arduino IDE орнату
Arduino IDE орнату
Arduino IDE орнату

Тағы да, мен бұл нұсқаулықта Arduino IDE ортасымен, сондай -ақ кітапханаларды даму ортасында қалай басқаруға болатынын білетін шығармын.

Бұл жобаны жүзеге асыру үшін бізге екі негізгі кітапхана қажет болады:

  • arduino-CORE-https://github.com/xinabox/arduino-CORE
  • SW02 кітапханасы -

Екі кітапхананы да жұмыс үстеліндегі орынға жүктеңіз.

Содан кейін Arduino IDE іске қосыңыз.

Негізгі мәзірден «Эскиз»> «Кітапхананы қосу»> «. ZIP кітапханасын қосу…» тармағын таңдаңыз.

Кітапхана файлдарының екеуіне де сол процесті қайталаңыз.

Әрі қарай, біз тиісті «Бортты» және «Портты» таңдауымыз керек. (Назар аударыңыз, мен қызғылт сары қораптың көмегімен қажетті таңдауларды бөліп алдым.

  • Тақта: «Arduino/Genuino Zero (жергілікті USB порты)»
  • Порт: «COMXX» (бұл сіздің компьютерде көрсетілген COM портына сәйкес болуы керек. Шахта COM31 қолданады)

Жақсы! Мен білемін, сіз кодтауға ұмтылдыңыз, сондықтан келесі қадамда біз оған назар аударамыз.

4 -қадам: кодтау уақыты

Бұл бөлімде мен аяқталған жоба кодынан код үзінділерін бөлісуден бастаймын. Ақырында мен кодты Arduino IDE бастапқы файлына көшіріп, қоюды жеңілдететін толық дереккөзді жариялаймын.

Тақырып файлдары:

#include /* Бұл XinaBox негізгі функцияларының кітапханасы. */

#include /* Бұл VOC & Weather Sensor xChip кітапханасы. */

RGB Led сигналдарын басқарудың кейбір тұрақтыларын анықтау:

#анықтаңыз redLedPin A4

#жасылLedPin 8 анықтаңыз #көкLedPin 9

Әрі қарай, біз RGB мәндерін беру үшін функция прототипін жариялауымыз керек

void setRGBColor (int redValue, int greenValue, int blueValue);

SW02 объектісін жариялау:

xSW02 SW02;

Setup () әдісі:

жарамсыз орнату () {

// I2C Communication Wire.begin () іске қосыңыз; // SW02 датчигін іске қосыңыз SW02.begin (); // Кешіктіруді қалыпқа келтіру үшін сенсордың кешігуі (5000); }

Енді негізгі цикл үшін ():

void loop () {

float tempC; }

Әрі қарай, сенсорлық чиппен байланысты бастау үшін біз бұрын бағдарламада жасаған SW02 объектісінің көмегімен сауалнама жүргізуіміз керек:

// SW02 сенсорынан деректерді оқу және есептеуSW02.poll ();

Енді біз сенсордың температуралық көрсеткішін алу үшін оқып жатырмыз

tempC = SW02.getTempC ();

Біз оқығаннан кейін, ең соңғы нәрсе - егер……… температуралық диапазонды анықтау үшін басқару мәлімдемелерін қолдану, содан кейін setRGBColor () функциясын шақыру

// Сіз климатқа сәйкес температура диапазонын реттей аласыз. Мен Сингапурда тұрамын

// бұл жыл бойы тропикалық, және мұнда температура диапазоны өте тар болуы мүмкін. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Ескерту: Егер сіз белгілі бір түске сәйкес келетін RGB мәндерінің не екенін білгіңіз келсе, мен сізге google -ден «RGB түс мәндері» бойынша іздеуді ұсынамын. Қажетті түсті таңдау үшін түстерді таңдауға болатын көптеген сайттар бар

// Егер сіз қаласаңыз және бұл міндетті емес болса, сенсордың көрсеткіштері үшін сұрау арасындағы кідірісті қосуға болады.

кідіріс (DELAY_TIME);

Сіз, әрине, бағдарламаның басында DELAY_TIME тұрақтысын жариялай аласыз, осылайша сіз оның мәнін бағдарлама бойынша бірнеше жерде емес, тек бір рет өзгертуіңіз керек. Ақырында, бізге RGB жарықдиодты басқару функциясы қажет:

жарамсыз setRGBColor (int redValue, int greenValue, int blueValue) {

analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Қорытынды бағдарлама

#қосу

#қосу #анықтаңыз redLedPin A4 #анықтаңыз greenLedPin 8 #анықтаңыз blueLedPin 9 жарамсыз жиынтығыRGBColor (int redValue, int greenValue, int blueValue); const int DELAY_TIME = 1000; xSW02 SW02; void setup () {// I2C Communication Wire.begin () іске қосыңыз; // SW02 датчигін іске қосыңыз SW02.begin (); // Кешіктіруді қалыпқа келтіру үшін сенсордың кешігуі (5000); } void loop () {// SW02 float tempC оқылатын деректерді сақтау үшін айнымалы жасау; tempC = 0; // SW02 сенсорынан SW02.poll () деректерін оқу және есептеу; // SW02 -ге температураны өлшеуді алуды және // temperatue айнымалы tempC = SW02.getTempC () сақтауға сұрау; if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); } // Сенсор арасындағы оқудың кешігуі арасындағы кішігірім кідіріс (DELAY_TIME); } void setRGBColor (int redValue, int greenValue, int blueValue) {analogWrite (redLedPin, redValue); analogWrite (greenLedPin, greenValue); analogWrite (blueLedPin, blueValue); }

Енді біздің бағдарлама дайын, xChip бағдарламасын жасайық! Жүктеу процесі Arduino тақталарына бағдарламаны жүктеу әдісімен дәл сәйкес келеді.

Аяқтаған соң, неге оны желіден ажыратып, тестілік іске қосуға болмайды.

Ұсынылған: