Съдържание:
- Консумативи
- Стъпка 1: История
- Стъпка 2: Теория и методология
- Стъпка 3: Настройка на хардуера
- Стъпка 4: Настройка на софтуера
- Стъпка 5: Код на сензора за цвят на Arduino
Видео: Прост DIY цветен сензор от Magicbit: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
В този урок ще научим как да направите прост цветен сензор, използвайки Magicbit с Arduino.
Консумативи
- Magicbit
- USB-A към Micro-USB кабел
Стъпка 1: История
Здравейте момчета, понякога трябва да използвате цветни сензори за някои цели. Но може би не знаете как работят. Така че в този урок ще научите как да направите прост DIY цветен сензор, използвайки Magicbit с Arduino. Да започнем.
Стъпка 2: Теория и методология
В този проект очакваме да ви научим да изграждате цветен сензор, който може да открива червени, зелени и сини цветове. Това е много основен пример. И така, как да направите това. За тази цел използваме RGB модул на Magicbit и вграден LDR. Първо трябва да научите за някаква теория. Това е количеството отражение на светлината. Сега задавам въпрос от вас. Каква цветна повърхност, която най -много отразява светлината на червения цвят? Също какви повърхности, които отразяват най -вече зелените и сините светлини. Помислете малко. Но отговорът е прост. Червената повърхност отразява най -вече червената светлина. Също така зелените и сините повърхности ще отразяват зелените и сините светлини. Така че в този проект ние използваме тази теория. За да разпознаем цвета, ние излъчваме червени, зелени и сини светлини една по една. Всеки път, когато измерваме количеството на отражение, използвайки LDR стойност. Ако някаква светлина ще даде най -голямо отражение от другите две светлини, тогава тази повърхност трябва да бъде най -вече отразена цветна повърхност.
Стъпка 3: Настройка на хардуера
Това много просто. Включете вашия RGB модул в горния десен порт на Magicbit. Този модул има WS2812B Neopixel LED. Този светодиод има 4 пина. Две за захранване и две за вход и изход на данни. Тъй като използваме един светодиод, имаме нужда само от захранващи щифтове и данни в пин. Ако нямате този модул, можете да си купите и Neopixel модул. Ако сте закупили такъв модул, трябва да свържете захранващи щифтове и данни в пин към Magicbit. Това е много лесно. Свържете VCC и GND на Magicbit към захранващи щифтове на RGB модул и D33 щифт към извод за данни.
Стъпка 4: Настройка на софтуера
По -голямата част се извършва от програмирането. Използваме Arduino IDE за програмиране на нашия Magicbit. В кода използваме няколко библиотеки. Те са библиотека Adafruit Neopixel за управление на Neopixel LED и библиотека Adafruit OLED за дръжка OLED. В настройката ние конфигурираме нашите входове и изходи. Също така конфигурирайте вградения OLED дисплей на Magicbit. В цикъла проверяваме дали левият бутон е натиснат или не на Magicbit. Ако е натиснат, входният сигнал е 0. Тъй като вече е изтеглен от платката. Ако е натиснато, правим проверка на цвета. Ако не, тогава екранът ще покаже изявление "без цвят". Когато бутонът е натиснат, автоматично се включват червени, зелени и сини светлини един по един и се съхраняват количеството отражение на цветовете в три променливи. След това сравнихме тези стойности и избрахме цвят с максимална стойност, който да се показва като изходен цвят.
Така че свържете микро USB кабел към Magicbit и изберете правилно типа платка и com портовете. Сега качете кода. Тогава е време да тестваме нашия сензор. За да проверите това, дръжте червената, зелената или синята хартия или лист върху модула LDR и RGB и натиснете левия бутон. Тогава OLED дисплеят ще покаже какъв е цветът на повърхността. Ако това е грешка, причината е, че някои цветове имат висока интензивност на светлината. Като пример във всяка зелена повърхност изходът е червен, тогава трябва да намалите яркостта на червената светлина от известно количество. Тъй като червената светлина има много висока яркост в този случай. Така че те имат силно отражение. Ако не знаете как да контролирате яркостта, вижте урока в линка по -долу.
magicbit-arduino.readthedocs.io/en/latest/
В тази връзка можете да намерите как да управлявате този RGB модул от Magicbit. Освен това можете да откриете как да работите с LDR и бутон с помощта на Magicbit. Прочетете този документ и проучете допълнително как да подобрите сензора за цвят. Защото това е много основен пример за това как работят сензорите за цвят. Повечето видове цветни сензори работят по този начин. Затова се опитайте да подобрите това, като премахнете шума от околната светлина и други шумове.
Стъпка 5: Код на сензора за цвят на Arduino
#включва
#дефинирайте LED_PIN 33
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #include #include #include #define OLED_RESET 4 Adafruit_SSD1306 дисплей (128, 64); #дефинира LDR 36 #дефинира бутон 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.show (); pinMode (LDR, INPUT); pinMode (Бутон, ВХОД); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); забавяне (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// ако бутонът е натиснат LED.setPixelColor (0, LED. Color (0, 50, 0)); // на redcolour LED.show (); забавяне (100); R_value = analogRead (LDR); // получавам червен LED LED.setPixelColor (0, LED. Color (150, 0, 0)); // на greencolour LED.show (); забавяне (100); G_value = analogRead (LDR); // получавам светодиод за зелено монтиране.setPixelColor (0, LED. Color (0, 0, 255)); // на bluecolour LED.show (); забавяне (100); B_value = analogRead (LDR); // получавам син монтаж, ако (R_value> G_value && R_value> B_value) {// червеното е най -отразено Display ("RED", 3); } иначе ако (G_value> R_value && G_value> B_value) {// зеленото е най -отразено Display ("GREEN", 3); } иначе ако (B_value> R_value && B_value> G_value) {// синьото е най -отразено Display ("BLUE", 3); } Serial.print ("RED ="); Serial.print (R_value); Serial.print ("ЗЕЛЕН ="); Serial.print (G_value); Serial.print ("СИН ="); Serial.println (B_value); } else {LED.setPixelColor (0, LED. Color (0, 0, 0)); // изключен RGB LED.show (); Дисплей ("NO COLOR", 2); }} void Display (String commond, int size) {// показване на данни display.clearDisplay (); display.setTextSize (размер); // Нормален дисплей в мащаб 1: 1 пиксел.setTextColor (БЯЛ); // Начертайте бял текстов дисплей.setCursor (0, 20); // Старт в горния ляв ъгъл display.println (commond); display.display (); }
Препоръчано:
Урок: Как да използвате RGB сензор за цветен детектор TCS230 с Arduino UNO: 3 стъпки
Урок: Как да използваме сензор за цветен детектор RGB TCS230 с Arduino UNO: Описание: Този урок ще ви покаже няколко прости стъпки за това как да използвате сензор за детектор за цвят RGB с помощта на Arduino Uno. В края на този урок ще получите редица резултати от сравнения между няколко цвята
Цветен сензор с LCD екран: 6 стъпки
Цветен сензор с LCD екран: Целта е да се създаде устройство, което да позволи на далтонистите да откриват цветове, без да се налага да виждат цвета. Използвайки LCD екрана със сензора, цветът се улавя и след това се прехвърля в думи върху LCD екрана. Това устройство ще
RFID + Цветен сензор IoT проект: 7 стъпки
RFID + Цветен сензор IoT проект: Идеята на този проект е да възнагради хората, които пият от чаши за кафе, и да ги изхвърли правилно. Вземете например компания като Тим Хортънс; през 2014 г. те записаха сервиране на 2 милиарда чаши кафе годишно. Въпреки че чашите им могат да се рециклират
ПРОСТ СЕНЗОР НА СЛЪНЧЕВА СЕНЗОР: 6 стъпки (със снимки)
ПРОСТ СЕНЗОР НА СЛЪНЧЕВА СЛЪНЧЕТ: Следвайте стъпките, за да изградите успешно свой собствен сензор за светлина. Много полезен в автоматична система за осветление. Компоненти: 7805 регулатор IC SL100 транзисторен светодиод (за предпочитане червен) 150ohm резистор 9V захранващо реле (6V) LDR (общодостъпно такова) Свързване wi
Flotcher - Прост цветен монитор: 8 стъпки (със снимки)
Flotcher - Simple Flower Monitor: Flotcher = Flower + Watcher Надявам се, че има смисъл, но се страхувам, че не е;) Добре дошли в тази инструкция, тук ще ви покажа как можете да направите свой собствен монитор за цветя, който ще ви информира, когато цветето ви ще има нужда от вода. Това е доста важно