Съдържание:

RGB индикатор за температура (с XinaBox): 5 стъпки (със снимки)
RGB индикатор за температура (с XinaBox): 5 стъпки (със снимки)

Видео: RGB индикатор за температура (с XinaBox): 5 стъпки (със снимки)

Видео: RGB индикатор за температура (с XinaBox): 5 стъпки (със снимки)
Видео: Как управлять RGB светодиодом при помощи датчика температуры 2024, Юли
Anonim
RGB индикатор за температура (с XinaBox)
RGB индикатор за температура (с XinaBox)

Това официално е първата ми статия за Instructables, така че ще призная, че използвам тази възможност точно сега, за да я изпробвам. Усетете как функционира платформата, цялата страна на потребителското изживяване. Но докато го правя, реших, че мога да използвам и възможността да споделя за един прост проект, върху който работя днес (използвайки продуктите от XinaBox, който между другото се произнася като „X-in-a- Кутия ).

В тази проста инструкция с 5 стъпки ще разгледам следните теми:

  • Необходими компоненти
  • Свързване на различните xChips заедно.
  • Настройване на IDE средата на Arduino.
  • Писане на кода
  • И накрая, изпробвайте идеята

Какво няма да споделя в тази инструкция:

  • Колкото и да обичам да се задълбавам да обяснявам какво може да направи всеки от тези xChips и как можете да ги манипулирате, за да изпълняват определени функционалности, това не би било целта на тази инструкция. Планирам да публикувам други Instructables в близко бъдеще, които ще се потопят във всеки от различните xChips, които са достъпни чрез продуктовия каталог на XinaBox.
  • Няма да навлизам в основите на кода на Arduino, тъй като предполагам, че вече имате известно ниво на опит с използването на Arduino IDE, както и разбиране на основно ниво за програмиране на C/C ++.

Стъпка 1: Какво ви трябва …

От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…
От какво имаш нужда…

Технически повечето основни уроци за продукти обикновено започват с „Hello World!“пример или дори пример за „Blink“, който може би вече сте много добре запознати, тъй като сте работили с Arduino или Raspberry Pi в един момент. Но не искам да започвам с това, защото всички вече правят едно и също нещо, което го прави малко скучно.

Вместо това исках да започна с практическа идея за проект. Нещо, което е достатъчно просто и мащабируемо в по -сложна идея за проект, ако искате.

Ето елементите, от които ще се нуждаем (вижте снимките, предоставени за този раздел на инструкциите):

  1. IP02 - усъвършенстван USB интерфейс за програмиране
  2. CC03 - Arm Cortex M0+ Core
  3. SW02 - VOC и сензор за времето (който използва сензора BME680 от BOSCH)
  4. xBUS конектори - за активиране на I2C комуникация между различните xChips (x2)
  5. xPDI конектор - за активиране на програмиране и отстраняване на грешки (x1)

Стъпка 2: Свързване на парчетата

Свързване на парчетата
Свързване на парчетата
Свързване на парчетата
Свързване на парчетата
Свързване на парчетата
Свързване на парчетата

За да свържем всички части заедно, първо ще започнем с 1 част от конектора xBUS и конектора xPDI.

Следвайки предоставените от мен изображения, забележете ориентацията на xChips и къде ще отидат конекторите.

Между IP02 и CC03 xChips е доста лесно да се идентифицират свързващите точки.

За CC03 това ще бъде южната страна. За IP02 това ще бъде северната страна на xChip.

След като това стане, ще добавим още един xBUS конектор към западната страна на CC03 xChip.

Свършен?

Сега просто свържете 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.

От главното меню изберете „Sketch“> „Include Library“> „Add. ZIP Library…“

Повторете същия процес и за двата библиотечни файла.

След това ще трябва да изберем съответния „Board“, както и „Port“. (Забележете, че също съм подчертал необходимите селекции с помощта на оранжева кутия.

  • Дъска: "Arduino/Genuino Zero (Native USB Port)"
  • Порт: "COMXX" (това трябва да е според COM порта, който се отразява на вашата машина. Моят използва COM31)

Добре! Знам, че сте били нетърпеливи да преминете към кодирането, така че в следващата стъпка върху това ще се съсредоточим.

Стъпка 4: Време за кодиране

В този раздел ще започна със споделяне на фрагменти от код от завършения код на проекта. И накрая ще публикувам пълния източник, което ще ви улесни просто да копирате и поставите кода във вашия Arduino IDE изходен файл.

Заглавни файлове:

#include /* Това е библиотеката за основните функции на XinaBox Core. */

#include /* Това е библиотеката за VOC & Weather Sensor xChip. */

Определяне на някои константи за управление на RGB Led сигнали:

#define redLedPin A4

#дефинирайте зеленLedPin 8 #дефинирайте синLedPin 9

След това трябва да декларираме прототип на функция за предаване на RGB стойностите

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

Деклариране на SW02 обект:

xSW02 SW02;

Методът setup ():

void setup () {

// Стартирайте I2C Communication Wire.begin (); // Стартирайте SW02 сензора SW02.begin (); // Закъснение за сензора за нормализиране на забавяне (5000); }

Сега за основния цикъл ():

void loop () {

поплавък tempC; }

След това ще трябва да анкетираме с помощта на обекта SW02, който сме създали по -рано в програмата, за да започнем нашата комуникация със сензорния чип:

// Четене и изчисляване на данни от сензора SW02SW02.poll ();

Сега четем, за да получим отчитане на температурата на сензора

tempC = SW02.getTempC ();

След като имаме четенето, последното нещо, което ще направим, е да използваме поредица от if … else … контролни изявления за определяне на температурния диапазон и след това да извикаме функцията setRGBColor ()

// Можете да регулирате температурния диапазон според вашия климат. За мен живея в Сингапур, // която е тропическа през цялата година, а температурният диапазон тук може да бъде доста тесен. if (tempC> = 20 && tempC = 25 && tempC = 30 && tempC = 32 && tempC = 35) {setRGBColor (255, 0, 0); }

Забележка: Ако се интересувате да знаете какви са съответните стойности на RGB за определен цвят, препоръчвам ви да направите търсене в Google за „Стойности на цвета на RGB“. Има много налични сайтове, където можете да използвате селектор за цвят, за да изберете желания от вас цвят

// Ако желаете и е по избор, можете също да добавите закъснение между анкетирането за показанията на сензора.

забавяне (DELAY_TIME);

Разбира се, можете да декларирате константата DELAY_TIME в началото на програмата, по този начин трябва да промените стойността й само веднъж, а не на няколко места в програмата. И накрая, имаме нужда от функцията за управление на нашия RGB LED:

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

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

Окончателна програма

#включва

#include #define redLedPin A4 #define greenLedPin 8 #define blueLedPin 9 void setRGBColor (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 за получаване на измерване на температурата и съхраняване в // температурната променлива 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.

Когато приключите, защо да не го изключите и да го извадите за пробно пускане.

Препоръчано: