Мазмуну:
- Жабдуулар
- 1 -кадам: Окуя
- 2 -кадам: Теория жана методология
- 3 -кадам: Аппараттык орнотуу
- 4 -кадам: Программаны орнотуу
- 5 -кадам: түс сенсорунун Arduino коду
Video: Magicbitтен жөнөкөй DIY түстүү сенсор: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Бул үйрөткүчтө биз Arduino менен Magicbitти колдонуп жөнөкөй түстүү сенсорду кантип жасоону үйрөнөбүз.
Жабдуулар
- Magicbit
- USB-Aдан Micro-USB кабелине
1 -кадам: Окуя
Салам балдар, кээде кээ бир максаттар үчүн түстүү сенсорлорду колдонууга туура келет. Бирок, балким, алар кантип иштээрин билбейсиз. Ошентип, бул үйрөткүчтө сиз Arduino менен Magicbitти колдонуп, жөнөкөй DIY түс сенсорун кантип жасоону үйрөнөсүз. Баштайлы.
2 -кадам: Теория жана методология
Бул долбоордо биз сизге кызыл, жашыл жана көк түстөрдү аныктай турган түс сенсорун курууну үйрөтөбүз деп күтүп жатабыз. Бул абдан негизги мисал. Ошентип, муну кантип кылуу керек. Бул үчүн биз Magicbitтин RGB модулун жана курулган LDRди колдонобуз. Биринчиден, сиз кээ бир теорияны үйрөнүшүңүз керек. Бул жарыктын чагылуу өлчөмү жөнүндө. Эми мен сизден суроо берип жатам. Кандай түстүү бет кызыл түстөгү жарыкты көбүрөөк чагылдырат, ошондой эле көбүнчө жашыл жана көк жарыктарды чагылдырган беттер. Кичине ойлон. Бирок жооп жөнөкөй. Кызыл түстүү бет негизинен кызыл түстөгү жарыкты чагылдырат. Ошондой эле жашыл жана көк беттер жашыл жана көк чырактарды чагылдырат. Ошентип, бул долбоордо биз ошол теорияны колдонобуз. Түстү таануу үчүн биз бирден кызыл, жашыл жана көк жарыктарды чыгарабыз. Ар бир жолу биз LDR value. If жардамы менен чагылуу суммасын өлчөйбүз, эгерде кээ бир жарык башка эки жарыкка караганда көбүрөөк чагылса, анда бул бет негизинен түстүү бетке чагылдырылышы керек.
3 -кадам: Аппараттык орнотуу
Бул абдан жөнөкөй. RGB модулуңузду Magicbitтин жогорку оң портуна сайыңыз. Бул модулда WS2812B Neopixel LED бар. Бул LEDде 4 төөнөгүч бар. Экөө бийлик үчүн жана экөө Маалыматты киргизүү жана чыгаруу үчүн. Биз бир ледди колдонгонубуз үчүн, бизге кубат төөнөгүчтөрү жана пиндеги маалыматтар гана керек. Эгер ал модул жок болсо, сиз Neopixel модулун сатып ала аласыз. Эгер сиз мындай модулду сатып алган болсоңуз, анда Magicbitке туташтыргычтарды жана маалыматтарды туташтырышыңыз керек. Бул абдан оңой. Magicbitтин VCC жана GND'син RGB модулунун казыктарына жана D33 пинге маалымат пинине туташтырыңыз.
4 -кадам: Программаны орнотуу
Көбүнчө программалоо аркылуу жасалат. Биз Magicbitти программалоо үчүн Arduino IDE колдонобуз. Коддо биз эки китепкананы колдонобуз. Алар башкаруу Neopixel LED үчүн Adafruit Neopixel китепканасы жана OLED туткасы үчүн Adafruit OLED китепканасы. Орнотууда биз кириштерибизди жана чыгууларыбызды конфигурациялайбыз. Ошондой эле Magicbitке орнотулган OLED дисплейди конфигурациялаңыз. Укурукта биз Magicbitтин сол кол баскычы басылганын же басылбаганын текшеребиз. Эгер ал басылган болсо, анда кирүү сигналы 0. Анткени ал буга чейин такта тарабынан тартылган. Эгер ал басылган болсо, анда биз түстөрдү текшеребиз. Болбосо, экранда "түс жок" деген билдирүү пайда болот. Баскыч басылганда, автоматтык түрдө кызыл, жашыл жана көк жарыктарды бирден күйгүзүп, түстөрдүн чагылуусун үч өзгөрмөгө сактаңыз. Андан кийин биз ошол баалуулуктарды салыштырып, максималдуу түстүн түсүн чыгаруу түсү катары көрсөтүү үчүн тандап алдык.
Ошентип, Micro USB кабелин Magicbitке туташтырып, тактайдын түрүн жана портторун туура тандаңыз. Эми кодду жүктөңүз. Андан кийин сенсорубузду текшерүүгө убакыт келди. Муну текшерүү үчүн LDR жана RGB модулунда кызыл, жашыл же көк түстүү кагазды же баракты кармап, сол баскычты басыңыз. Андан кийин OLED дисплей бетинин түсүн көрсөтөт. Эгерде бул туура эмес болсо, анда кээ бир түстөрдүн жогорку жарык интенсивдүүлүгү бар. Мисал катары, ар бир жашыл беттин чыгышы кызыл түстө болсо, анда кызыл жарыктын жарыгын кандайдыр бир өлчөмдөн азайтуу керек. Анткени бул учурда кызыл жарыктын жарыгы өтө жогору. Ошентип, ал жогорку рефлексияга ээ. Эгерде сиз жарыкты кантип башкарууну билбесеңиз, анда төмөнкү шилтемеден окуу куралын караңыз.
magicbit-arduino.readthedocs.io/en/latest/
Бул шилтемеден сиз Magicbitтен RGB модулун кантип башкарууну таба аласыз. Ошондой эле сиз LDR менен кантип иштөөнү жана Magicbit аркылуу баскычты басууну таба аласыз. Бул документти окуп, түстүү сенсорду кантип жакшыртуу керектигин үйрөнүңүз. Анткени бул түстүү сенсорлордун иштешинин эң негизги мисалы. Көпчүлүк түстүү сенсорлор ушундай иштейт. Андыктан айланадагы жарык ызы -чууну жана башка үндөрдү жок кылуу менен муну жакшыртууга аракет кылыңыз.
5 -кадам: түс сенсорунун Arduino коду
#кошуу
33
#define LED_COUNT 1 Adafruit_NeoPixel LED (LED_COUNT, LED_PIN, NEO_RGB + NEO_KHZ800); #кошуу #кошуу #кошуу #аныктоо OLED_RESET 4 Adafruit_SSD1306 дисплейи (128, 64); #define LDR 36 #define Button 35 int R_value, G_value, B_value; void setup () {LED.begin (); LED.show (); pinMode (LDR, INPUT); pinMode (Баскыч, INPUT); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); кечигүү (1000); display.clearDisplay (); Serial.begin (9600); } void loop () {if (digitalRead (Button) == 0) {// if button is pressed when LED.setPixelColor (0, LED. Color (0, 50, 0)); // redcolour LED.show () боюнча; кечиктирүү (100); R_value = analogRead (LDR); // кызыл түскө ээ болуу LED.setPixelColor (0, LED. Color (150, 0, 0)); // greencolour LED.show () боюнча; кечиктирүү (100); G_value = analogRead (LDR); // жашыл чыракты алуу LED.setPixelColor (0, LED. Color (0, 0, 255)); // bluecolour LED.show () боюнча; кечиктирүү (100); B_value = analogRead (LDR); // көк түскө ээ болсо, анда (R_value> G_value && R_value> B_value) {// кызыл эң көп чагылдырылган Дисплей ("КЫЗЫЛ", 3); } else if (G_value> R_value && G_value> B_value) {// green эң чагылдырылган Дисплей ("ЖАШЫЛ", 3); } else if (B_value> R_value && B_value> G_value) {// blue эң көп чагылдырылган Дисплей ("КӨК", 3); } Serial.print ("КЫЗЫЛ ="); Serial.print (R_value); Serial.print ("GREEN ="); Serial.print (G_value); Serial.print ("КӨК ="); Serial.println (B_value); } башка {LED.setPixelColor (0, LED. Color (0, 0, 0))); // өчүрүү RGB LED.show (); Дисплей ("NO COLOR", 2); }} void Display (String commond, int size) {// дисплей маалыматтарды чагылдыруу.clearDisplay (); display.setTextSize (өлчөмү); // Жөнөкөй 1: 1 пиксел масштабдуу display.setTextColor (АК); // Ак текстти тартуу Display.setCursor (0, 20); // Дисплейдин жогорку сол бурчунан баштаңыз.println (commond); display.display (); }
Сунушталууда:
Magicbitтен жөнөкөй радар системасы: 6 кадам
Magicbitтен жөнөкөй радар системасы: Бул үйрөткүч HC-SR04 сенсорун жана Microbit dev тактасын иштетүү жана Arduino IDE менен жөнөкөй радар системасын кантип жасоону көрсөтөт
Музыка реактивдүү түстүү LED чырактары - Arduino үн аныктоочу сенсор - RGB LED тилкеси: 4 кадам
Музыка реактивдүү түстүү LED чырактары | Arduino үн аныктоочу сенсор | RGB LED Strip: Музыка реактивдүү көп түстүү LED чырактары долбоору. Бул долбоордо жөнөкөй 5050 RGB LED тилкеси (даректүү LED WS2812 эмес), Arduino үн аныктоочу сенсор жана 12V адаптер колдонулган
ЖК экран менен түстүү сенсор: 6 кадам
ЖК экраны бар түстүү сенсор: Максаты - түстүү кишилерге түстү көрбөй туруп түстөрдү аныктоого мүмкүндүк бере турган түзүлүштү түзүү. Сенсор менен ЖК экранды колдонуу түстү алып, анан ЖК экранга сөздөргө которулат. Бул түзмөк сиз
AIY Voice комплектинин негизинде сүйлөөчү түстүү сенсор: 4 кадам
AIY Voice комплектине негизделген сүйлөөчү түстүү сенсор: Жакында Брайль шрифти жөнүндө бир аз үйрөнгөндөн кийин, мен Raspberry Pi үчүн AIY үн комплектинин жардамы менен бир нерсе курсам болобу деп ойлонуп жүрдүм, ал көрүүсү начар адамдар үчүн реалдуу түрдө пайда алып келиши мүмкүн. . Төмөндө сүрөттөлгөн сиз прототипти таба аласыз
XBOX Case Mod ** жөнөкөй & Түстүү **: 5 кадам
XBOX Case Mod ** жөнөкөй & Түстүү **: бул менин биринчи үйрөтүүчү хммм. оңой табылган бөлүктөрдү колдонуу менен өтө жөнөкөй LED корпусу моду. бул Нускоо толугу менен артка кайтарылат, эгерде ал пландаштырылбаса … (бул кээ бир көргөн нерселерден кийин иш жүзүндө кепилдик)