Гэр / Компьютер эзэмших / Arduino ашиглан ухаалаг чийдэн. Фоторезистор ба реле дээрх гэрлийн мэдрэгчийн схем

Arduino ашиглан ухаалаг чийдэн. Фоторезистор ба реле дээрх гэрлийн мэдрэгчийн схем

Өдрийн мэнд, оройн мэнд, сайн байна уу? Өнөөдөр би жижигхэн шөнийн гэрэл хийх зааврыг хуваалцах болно. Үүний үндэс нь шатсан LED гэрлийн чийдэнгийн царцсан диффузор байх болно. Дотор нь бид Arduino Pro Mini болон SW2812 LED-ийг байрлуулах болно. Би зөвхөн нэг ноорог оруулах болно, гэхдээ өнгө эсвэл цус сэлбэх олон сонголт байж болно. Ердийнх шигээ шаардлагатай зүйлсийн жагсаалтаас эхэлцгээе.

LED чийдэнгийн диффузор, суурь E27
- 5V цахилгаан хангамж
- Arduino Pro Mini 5V
- USB-TTL (ардуино руу ноорог байршуулах)
- WS2812 LED
- Нимгэн хуванцар
- Хоёр талт соронзон хальс
- Утаснаас цэнэглэх шаардлагагүй, гэхдээ ажиллаж байна
- гагнуурын төмөр
- Утаснууд
- Гагнуур, жилий
- Халуун цавуу буу

Алхам 1. Хэрэг үүсгэх.
Эхлээд бид диффузор авах хэрэгтэй. Бид E27 суурьтай LED гэрлийн чийдэнг авдаг. Мэдээжийн хэрэг, аль хэдийн ажиллаж байсан чийдэнг авах нь дээр.

Нэг гараараа бид гэрлийн чийдэнг суурь ба хуванцар хайрцагнаас барьж, нөгөө гараараа сарниулагчийг аваад гэрлийн чийдэнг эвддэг. Диффузор нь зөвхөн чигжээс дээр тулгуурладаг тул биеэсээ амархан холдох ёстой.

Одоо бид LED нааж болох суурийг хийх хэрэгтэй. Үүнийг хийхийн тулд бид нимгэн хуванцар авдаг, хуванцар хавтаснаас бүрээс нь тохиромжтой. Одоо бид diffuser суурилуулах нүхний дотоод диаметрийг хэмжиж, мөн диффузорын гүнийг хэмжих хэрэгтэй. Суурь хийх ажил руугаа явцгаая. Энэ нь цилиндр хэлбэртэй байх бөгөөд диаметр нь диффузор суурилуулах нүхний дотоод диаметрээс 5 мм-ээс бага байх ёстой. Мөн өндөр нь диффузорын гүнээс 7 мм-ээр бага байна. Энэ нь иймэрхүү харагдах ёстой:

Одоохондоо энийг дуусгая.

Алхам 2 Цахилгаан
Өмнө нь хэлсэнчлэн хянагч нь 5 вольтын хувилбар болох Arduino Pro Mini байх болно. LED туузыг маш энгийнээр холбосон тул та + 5V контактыг 5 вольтын тэжээлийн эх үүсвэрээс нэмэх, GND-ийг хасах руу холбох хэрэгтэй. DIN зүүг (оролт) Arduino-ийн 6-р зүү рүү холбоно уу. Соронзон хальсны холболтын портыг зураг дээрх аль ч тохиромжтой болгон өөрчилж болно. Arduino нь ижил тэжээлийн эх үүсвэрээс тэжээгддэг. Бид тогтворжсон тэжээлийн хангамжийг ашиглах тул цахилгаан тэжээлээс нэмэх хэсгийг Arduino дээрх 5V зүү рүү холбоно. Цахилгаан хангамжийн хасах нь Arduino-ийн GND-д холбогдсон байх ёстой. Энэ схем нь:

Тиймээс нэг LED нь бүх гурван өнгөний хамгийн их гэрэлд 60 мА зарцуулдаг. Би 25-тай таарч байгаа тул:

25 x 60 мА = 1500 мА = 1.5 А

Өөрөөр хэлбэл, надад 5 В, 1.5 А тэжээлийн хангамж хэрэгтэй байна. Энэ нь бүх гурван өнгөний хамгийн их гэрэлтүүлгийн горимд бүх LED асаалттай байх үеийн хамгийн их гүйдлийн хүч юм.

Цахилгаан хангамжийн хувьд хуучин цэнэглэгчийг утаснаас аваарай. Цахилгаан хангамжийг 5 вольтоор сонгох ёстой бөгөөд эрчим хүчний хувьд хэдэн LED багтааж болохыг тооцоол.

Бид залгуурыг нь таслаад утсыг соронзон хальс руу шууд гагнаж, туйлшралыг шалгагч эсвэл мультиметрээр шалгахаа бүү мартаарай. Та мөн Arduino-г тэжээхэд зориулж утас хийх хэрэгтэй. Мөн туузаас Arduino руу дохионы утас.

Дотор нь гагнасан утас бүхий соронзон хальсны контактуудыг дамжуулахын тулд бид цилиндрийн доод хэсэгт нүх гаргадаг.

Би соронзон хальсны төгсгөлийг утсаар үүрэнд хийж, халуун цавуугаар засаарай. Дараа нь туузыг тойрог хэлбэрээр нааж, бага зэрэг дээш өргөөд, спираль туузыг олж авна. Бид мөн туузыг цилиндрийн дээд хэсэгт нааж, диодын тоо нь диаметрээс хамаарна, би дээд тал нь диагональ байдлаар хамгийн ихдээ хоёр LED байсан бөгөөд контактууд нь унжсан байв.

Хэрэв та мөн адил зүйл хийсэн бол сэтгэлээр унах хэрэггүй, зүгээр л ирмэг дээр өлгөөтэй туузыг хайчилж, утсыг LED дээр шууд гагнах хэрэгтэй. Холбоо барих утас WS2812:

Анхаар, WS2812B дээрх LED зурвас нь чиглэлтэй, нэг талаас (эхлэл эсвэл оролт) DIN, + 5V, GND контактуудтай. Мөн нөгөө талд (төгсгөл эсвэл гарах) DO, +5V, GND. Хэрэв LED дээр шууд гагнах юм бол контактуудын байршлыг анхаарч, түлхүүр дээр анхаарлаа хандуулаарай (булангийн зүсэлт). Суулгацыг хялбарчлахын тулд туузан дээр сум зурж, чиглэлийг зааж өгдөг. Дээд тал руу шилжихэд онцгой анхаарал хандуулаарай, энэ нь маш хурц гулзайлт болж хувирдаг, туузыг эвдэх магадлал өндөр байдаг. Би үүнийг ингэж авсан:


Дээрээс нь LED дээр шууд гагнах:

Дунд хэсэгт, хоёр дахь түвшинд, хэд хэдэн LED:

Найдвартай байхын тулд утсыг халуун цавуугаар дүүргэ.

Одоо бид гэрлийн чийдэнгээс бөмбөгний дотор LED бүхий цилиндрээ оруулна. Халуун цавуу ашиглан бид бөмбөгний доторх цилиндрийг тойрог хэлбэрээр засна.

Цахилгааны утсыг гаргахын тулд үүр хийхээ бүү мартаарай.

Алхам 3. Орчны орчин, програм хангамжийг бэлтгэ.
Ноорог (эсвэл програм хангамж) байршуулахын тулд бид Arduino IDE ашиглана. Албан ёсны хувилбараас хамгийн сүүлийн хувилбарыг татаж аваад суулгана уу.

Үүнийг хийхийн тулд эхлээд архивыг татаж аваарай. Дараа нь энэ архивыг задлаарай. Мөн задалсан файлуудыг Arduino IDE суулгасан хавтсанд байрлах "номын сангууд" хавтас руу зөөнө үү. Үүнийг илүү хялбар болгох боломжтой. Arduino IDE-г ажиллуулна уу. Татаж авсан архивыг задалж болохгүй. Arduino IDE-ийн баруун талд Sketch - Connect Library цэсийн зүйлийг сонгоно уу. Унждаг жагсаалтын хамгийн дээд хэсэгт "Zip Library нэмэх" зүйлийг сонгоно уу. Харилцах цонх гарч ирэх ёстой. Дараа нь манай Adafruit_NeoPixel-master номын санг сонгоно уу. Жаахан хүлээх нь зүйтэй. Sketch - Connect Library цэсийн зүйлийг дахин нээнэ үү. Одоо унадаг цэсний хамгийн доод хэсэгт та шинэ номын санг харах болно. Arduino IDE-г дахин эхлүүлсний дараа номын санг ашиглаж болно.

Миний ноорог татаж авч байна:

Зургийг Arduino дээр байршуулахад л үлдлээ. Бид Arduino Pro Mini ашиглаж байна. Алдартай Arduino-ийн энэ хувилбарт самбар дээр гагнасан USB-TTL чип байхгүй. Тиймээс, компьютертэй холбогдож, ноорог байршуулахын тулд та тусдаа USB-TTL ашиглах ёстой. Дараах схемийн дагуу холболт.

Arduino-USB-TTL
RX (P0) - TX
TX (P1) - RX
GND-GND

USB-TTL тэжээл нь компьютерийн USB портоос байх болно. Arduino нь USB-TLL-ээс тэжээгдэж эсвэл гадны тэжээлийн эх үүсвэрийг ашиглаж болно. Хамгийн гол нь USB-TTL болон Arduino-ийн GND зүү холбогдсон байна. Ихэнхдээ DTR зүү гаралтгүй USB-TTL-ийг худалдаанд гаргадаг. Зургийг байршуулахаас өмнө автоматаар дахин тохируулахын тулд DTR зүү нь Reset Arduino-д холбогдсон байх ёстой. Хэрэв танд над шиг ийм дүгнэлт байхгүй бол ноорог байршуулахаас өмнө гараар дахин ачаалах ёстой. Бид ингэж ажилладаг: дээр дурдсан схемийн дагуу бид бүгдийг холбож, Arduino IDE-г нээж, татаж авсан ноорогоо нээж, "Татаж авах" товчийг дарж доор бичсэн зүйлийг харна уу. "Эмхтгэл" хийгдэж байх үед бид юу ч хийхгүй, "татаж авах" мессеж гарч ирэхийг л хүлээж, Arduino дээрх Reset товчийг дарах хэрэгтэй. Хэрэв самбар дээрх товчлуурыг дарахад тохиромжгүй бол GND болон Reset-д холбогдсон товчлуурыг гаргаж болно. Эсвэл зүгээр л утсыг ижил дүгнэлтэд хүргэж, зөв ​​цагт нь хаа.

Шөнийн гэрлийг гэрэлтүүлэх олон сонголт байгаа гэдгийг хэлмээр байна, би зураг дээр өөртөө таалагдсан цөөн хэдэн зүйлийг л бичсэн. Та өөрийн хүссэнээр ноорог засах боломжтой. Туршилт хийж, хамгийн их таалагдсан зүйлээ сонго.

Сайн уу! Би Артем Лужецкий бөгөөд би Ухаалаг гэр ба IoT (зүйлсийн интернет) сэдвээр цуврал нийтлэл хөтлөх болно. Бид бие даан эсвэл хүний ​​тусламжтайгаар ажиллах олон төрлийн төхөөрөмжөөс гэрийн сүлжээг бий болгох гайхалтай аргуудыг авч үзэх болно. За? Эхэлцгээе!

Эхний нийтлэл нь танилцуулга бөгөөд би хамгийн түгээмэл самбар, модулиудтай ажиллах болно гэдгийг ойлгохыг хүсч байна, ингэснээр ихэнх хүмүүс IoT хөгжүүлэлт дээр гараа туршиж үзэх боломжтой болно.

Тиймээс, эхлэгчдэд бидэнд ашиглах хоёр микроконтроллер хэрэгтэй болно: ба.

Arduino UNO

Би танд энэ самбарыг танилцуулах шаардлагагүй гэж бодож байна, энэ нь эхлэгчдэд болон DIY сонирхогчдын дунд маш их алдартай. Энэ самбарын боломж хязгаарлагдмал, UNO нь https протоколтой ажиллах боломжгүй, ATmega328P микроконтроллерийн тооцоолох хүчин чадал хангалтгүй гэж би хэлж чадна, тиймээс бид микроконтроллер болон https протоколтой ажиллах шаардлагатай үед бид програмчлах болно. ESP8266.

ESP8266

Би Amperka-ийн Troyka-модуль ESP8266-тай ажиллах болно, гэхдээ та ердийн ESP 8266 модулийг аюулгүй ашиглаж болно, тэдгээр нь бараг ялгаагүй, холбохдоо гол зүйл бол тээглүүрүүдийн утгыг харж, ESP нь түүний дагуу ажилладаг гэдгийг санаарай. 3.3 вольтын логиктой тул та 5 вольтоор холбох хэрэгтэй, гэхдээ хүчдэлийн зохицуулагчийг хэлхээнд холбох эсвэл зүгээр л 3.3 вольтын хүчдэлтэй зүү ашиглана уу.

Энэхүү микроконтроллер нь ерөнхий зах зээл дээрх Espressif цувралын хамгийн хүчирхэг нь биш боловч хамгийн хямд бөгөөд хамгийн түгээмэл нэг юм. Энэ нь бидний IoT хөгжүүлэлтийн үндэс суурь болно.

Нэмэлт мэдээлэл

Мөн бид бүх туршилтыг хийх шаардлагатай болно:

  1. LED
  2. фоторезистор
  3. Термистор
  4. хэт авианы хүрээ илрүүлэгч
  5. Пьезо чанга яригч
  6. Мини серво
  7. IR мэдрэгч
  8. IR алсын удирдлага

IoT-тэй ажиллахын тулд эдгээр бүх модулиуд байх шаардлагагүй, гэхдээ ирээдүйн бүх төслийг хэрэгжүүлэхийн тулд бид бүгдийг нь худалдаж авах шаардлагатай болно.

Хөтөлбөр ба номын сан

Эхлээд - ESP8266 ашигладаг бол Arduino IDE дээр ажиллахад тань туслах номын санг татаж аваарай - http://wiki.amperka.ru/_media/iot-m:iot-m-libs.zip

Хоёрдугаарт, IoT-тэй илүү сайн танилцахын тулд бидэнд өгөгдөл илгээх боломжийг олгодог вэбсайтууд хэрэгтэй болно.

  1. www.dweet.io
  2. maker.iftt.com
  3. narodmon.ru
  4. гэх мэт.

Гуравдугаарт, төрөл бүрийн андройд програмууд бас хэрэг болно, ингэснээр бид утсаа ашиглан ухаалаг гэрийг удирдах боломжтой болно.

  1. нээлттэй төв
  2. Анивчих
  3. гэх мэт.

Бид дараагийн төслүүдээр бүх арга, хөтөлбөр, сайтуудтай дэлгэрэнгүй танилцах болно.

2. "Ухаалаг чийдэн" хийх

Би чамайг аль хэдийн уйтгартай болгосон уу? Өрөө харанхуй байвал асах хамгийн энгийн ухаалаг чийдэнг хийцгээе.

Үнэн хэрэгтээ та үүнд UNO хэрэггүй, та дижитал захиалгат гэрэл зургийн мэдрэгч ашиглаж болно, гэхдээ ирээдүйд бид энэ төслийг танигдахааргүй өөрчлөх болно, тиймээс та хаа нэг газар эхлэх хэрэгтэй.

Хэрэв та 220 вольтын цахилгаантай ажиллахад бэлэн гэдэгтээ итгэлгүй байгаа бол гар чийдэнгийн оронд ердийн LED хэрэглээрэй. Эхэндээ би хуучин TLI - 204 чийдэнгээ авсан, эдгээр нь бараг бүх дэлгүүрт байдаг (би үүнийг сүлжээнээс урьдчилан салгасан).

Дэнлүү нь хоёр төрлийн ажилтай (асаах / унтраах), би юу хийхийг хүсч байна, би түүний үйл ажиллагааг нэмэгдүүлэхийг хүсч байна, чийдэнг бүрэн асаах, унтраах чадварыг үлдээхийг хүсч байна.

Фоторезисторыг өөр унтраалга ашиглахгүйгээр хэлхээнд ямар нэгэн байдлаар зэрэгцээ холбох нь ажиллахгүй тул хоёр байрлалтай унтраалга биш гурван байрлалтай унтраалга тавихаар шийдсэн.

Ерөнхий цахилгаан хэлхээ нь дараах байдлаар харагдах ёстой.

Хэрэв бүх зүйл зөв хийгдсэн бол шилжүүлэгчийн гуравдахь байрлалд та микроконтроллероос реле рүү гүйдэл өгснөөр чийдэнг асааж болно.

Фоторезисторыг arduino-д холбоно. Схем нь дараах байдлаар харагдаж байна.

3. "Ухаалаг гэрэл"-ийн код

Одоо өрөөнд харанхуй бол реле рүү гүйдэл дамжуулах кодыг бичье.

#define SHINE 5 //PIN OF PHOTORESISTOR #define REL 13 //PIN ON RLElay void setup()( pinMode(SHINE, OUTPUT); pinMode(REL, OUTPUT); Serial.begin(9600); ) void loop()() хэрэв (аналог унших(SHINE)<600) // Если света в комнате мало, то включаем лампу { digitalWrite(REL, HIGH) } else // если много, то выключаем { digitalWrite(REL, LOW); } Serial.printIn(analogRead(SHINE)); selay(500); }

Бүх зүйлийг холбохдоо гэрэл зургийн мэдрэгчийг ламаас салгахаа бүү мартаарай, эс тэгвээс гэрлийн шоу таныг хүлээж байх болно. Бүх зүйл ажиллах ёстой.

Дараагийн удаа бид кодыг төвөгтэй болгож, хэд хэдэн функц нэмэхийг хичээх болно. Удахгүй уулзацгаая!

Дараагийн төсөлдөө бид фоторезистор ашиглах болно. Унтлагын өрөөнд шөнийн гэрлийг хэрэгжүүлэх талаар авч үзэх болно, энэ нь харанхуй болоход автоматаар асч, гэрэлтэй болоход унтардаг.

Фоторезисторын эсэргүүцэл нь гэрэл тусахаас хамаарна. Фоторезисторыг ердийн 4.7 кОм эсэргүүцэлтэй хослуулан ашигласнаар гэрлийн түвшнээс хамаарч фоторезистороор дамжин өнгөрөх хүчдэл өөр өөр байдаг хүчдэл хуваагчийг олж авдаг.

Хуваагчаас авсан хүчдэлийг бид Arduino ADC оролтод хэрэглэнэ. Тэнд бид хүлээн авсан утгыг тодорхой босготой харьцуулж, дэнлүүг асааж, унтраадаг.

Хуваагчийн хэлхээний диаграммыг доор үзүүлэв. Гэрэлтүүлэг нэмэгдэхэд фоторезисторын эсэргүүцэл буурч, үүний дагуу хуваагдлын гаралтын (мөн ADC-ийн оролт) хүчдэл нэмэгддэг. Гэрэл унтарвал эсрэгээрээ.

Доорх зураг нь талхны самбар дээрх угсарсан хэлхээг харуулж байна. 0V ба 5V хүчдэлийг Arduino-аас авдаг. A0 зүүг ADC оролт болгон ашигладаг.

Arduino тойм зургийг доор үзүүлэв. Энэ зааварт бид зүгээр л Arduino самбарт суурилуулсан LED-ийг асааж, унтраадаг. Илүү тод LED бол та 13-р зүү (~220 ом эсэргүүцэлээр) холбогдож болно. Хэрэв та улайсдаг чийдэн гэх мэт илүү хүчирхэг ачааллыг холбосон бол үүнийг реле эсвэл тиристороор холбох хэрэгтэй.

Програмын кодонд тайлбартай хэсгүүд байдаг бөгөөд тэдгээр нь дибаг хийх зориулалттай. ADC утгыг (0-ээс 1024 хүртэл) хянах боломжтой болно. Мөн та код дахь 500-ийн утгыг (босгыг асаах, унтраах) гэрэлтүүлгийг өөрчилснөөр эмпирик байдлаар сонгосон утгыг өөрчлөх шаардлагатай.

/* ** Шөнийн гэрэл ** ** www.hobbytronics.co.uk */ int sensorPin = A0; // ADC-ийн оролтын хөлийг тохируулах unsigned int sensorValue = 0; // фоторезисторын дижитал утга void setup() ( pinMode(13, OUTPUT); Serial.begin(9600); // цуваа өгөгдлийн гаралтыг эхлүүлэх (туршилтын хувьд) ) хүчингүй давталт() (sensorValue = analogRead(sensorPin); / / хэрэв фоторезистороос утгыг уншина уу (sensorValue<500) digitalWrite(13, HIGH); // включаем else digitalWrite(13, LOW); // выключаем // Для отладки раскомментируйте нижеследующие строки //Serial.print(sensorValue, DEC); // вывод данных с фоторезистора (0-1024) //Serial.println(""); // возврат каретки //delay(500); }

Фоторезистор дээр суурилсан гэрлийн мэдрэгч (гэрэлтүүлэг) нь бодит arduino төслүүдэд ихэвчлэн ашиглагддаг. Тэдгээр нь харьцангуй энгийн, үнэтэй биш, ямар ч онлайн дэлгүүрээс олох, худалдан авахад хялбар байдаг. Ардуино фоторезистор нь гэрэлтүүлгийн түвшинг хянах, түүний өөрчлөлтөд хариу үйлдэл үзүүлэх боломжийг олгодог. Энэ нийтлэлд бид фоторезистор гэж юу болох, түүний үндсэн дээр гэрлийн мэдрэгч хэрхэн ажилладаг, мэдрэгчийг Arduino самбарт хэрхэн зөв холбох талаар авч үзэх болно.

Нэрнээс нь харахад фоторезистор нь бараг бүх электрон хэлхээнд байдаг резисторуудтай шууд холбоотой байдаг. Уламжлалт резисторын гол шинж чанар нь түүний эсэргүүцлийн утга юм. Хүчдэл ба гүйдэл нь үүнээс хамаардаг бөгөөд резисторын тусламжтайгаар бид бусад бүрэлдэхүүн хэсгүүдийн хүссэн горимыг тохируулдаг. Дүрмээр бол ижил үйл ажиллагааны нөхцөлд резисторын эсэргүүцлийн утга бараг өөрчлөгддөггүй.

Ердийн резистороос ялгаатай нь фоторезисторорчны гэрлийн түвшнээс хамаарч эсэргүүцлээ өөрчилж болно. Энэ нь электрон хэлхээний параметрүүд байнга өөрчлөгддөг гэсэн үг юм, юуны түрүүнд бид фоторезистор дээр унах хүчдэлийг сонирхож байна. Эдгээр хүчдэлийн өөрчлөлтийг arduino-ийн аналог зүү дээр тогтоосноор бид хэлхээний логикийг өөрчилж, улмаар гадаад нөхцөлд дасан зохицох төхөөрөмжийг бий болгож чадна.

Фоторезисторыг олон төрлийн системд өргөн ашигладаг. Хамгийн түгээмэл хэрэглээ бол гудамжны гэрэлтүүлэг юм. Хот дээр шөнө болж эсвэл үүлэрхэг бол гэрэл автоматаар асдаг. Та гэрийнхээ хэмнэлттэй гэрлийн чийдэнг фоторезистороос хийж болно, энэ нь хуваарийн дагуу биш, харин гэрэлтүүлгээс хамаарч асдаг. Гэрлийн мэдрэгч дээр үндэслэн хаалттай шүүгээ эсвэл сейфийг онгойлгож, гэрэлтүүлсний дараа шууд ажиллах хамгаалалтын системийг хийж болно. Ердийнх шиг аливаа arduino мэдрэгчийн хамрах хүрээ нь зөвхөн бидний төсөөллөөр хязгаарлагддаг.

Онлайн дэлгүүрүүдээс ямар фоторезистор худалдаж авах боломжтой

Зах зээл дээрх хамгийн алдартай, боломжийн мэдрэгчийн сонголт бол Хятадын компаниудын масс үйлдвэрлэлийн загварууд, VT бүтээгдэхүүний клонууд юм. Энэ эсвэл тэр ханган нийлүүлэгч нь яг хэн, юу үйлдвэрлэдэг вэ гэдэг нь үргэлж эвдэрч чадахгүй, гэхдээ хамгийн энгийн сонголт бол фоторезистортой ажиллахад тохиромжтой.

Шинэхэн arduinist-д дараах байдлаар харагдах бэлэн зургийн модулийг худалдаж авахыг зөвлөж болно.


Энэхүү модуль нь фоторезисторыг arduino самбарт хялбархан холбоход шаардлагатай бүх элементүүдтэй. Зарим модулиуд нь харьцуулагч хэлхээтэй ба дижитал гаралт, хянах зориулалттай шүргэгч байдаг.

Оросын радио сонирхогчдод Оросын FR мэдрэгч рүү хандахыг зөвлөж болно. Худалдааны боломжтой FR1-3, FR1-4 гэх мэт. - Зөвлөлтийн үед буцааж гаргасан. Гэсэн хэдий ч FR1-3 нь илүү нарийвчлалтай мэдээлэл юм. Эндээс үнийн зөрүү гарч ирнэ FR-ийн хувьд тэд 400 рубльээс илүүгүй байхыг шаарддаг. FR1-3 нь мянга гаруй рубльтэй байх болно.

Фоторезисторын тэмдэглэгээ

Орос улсад үйлдвэрлэсэн загваруудын орчин үеийн тэмдэглэгээ нь маш энгийн. Эхний хоёр үсэг нь PhotoResistor, зураасны дараах тоо нь хөгжүүлэлтийн дугаарыг илэрхийлнэ. FR -765 - photoresistor, хөгжүүлэлт 765. Ихэвчлэн хэсгийн бие дээр шууд тэмдэглэгдсэн байдаг

VT мэдрэгч нь тэмдэглэгээний схемд эсэргүүцлийн мужтай байдаг. Жишээлбэл:

  • VT83N1 - 12-100кОм (12К гэрэлтүүлэгтэй, 100К харанхуй)
  • VT93N2 - 48-500кОм (48К - гэрэлтүүлэгтэй, 100К - харанхуйд).

Заримдаа загваруудын талаархи мэдээллийг тодруулахын тулд худалдагч нь үйлдвэрлэгчээс тусгай баримт бичгийг өгдөг. Ажлын параметрүүдээс гадна хэсгийн нарийвчлалыг мөн тэнд зааж өгсөн болно. Бүх загваруудын хувьд мэдрэмжийн хүрээ нь спектрийн харагдах хэсэгт байрладаг. Цуглуулж байна гэрлийн мэдрэгчүйл ажиллагааны нарийвчлал нь болзолт ойлголт гэдгийг та ойлгох хэрэгтэй. Нэг үйлдвэрлэгчийн загваруудын хувьд ч гэсэн нэг багц, нэг худалдан авалт нь 50% ба түүнээс дээш ялгаатай байж болно.

Үйлдвэрт эд ангиудыг улаанаас ногоон гэрлийн долгионы уртад тохируулдаг. Үүний зэрэгцээ олонхи нь хэт улаан туяаны цацрагийг "хардаг". Ялангуяа нарийн нарийвчилсан мэдээлэл нь хэт ягаан туяаг хүртэл барьж чаддаг.

Мэдрэгчийн давуу болон сул талууд

Фоторезисторын гол сул тал бол спектрийн мэдрэмж юм. Туссан гэрлийн төрлөөс хамааран эсэргүүцэл нь хэд хэдэн дарааллаар өөрчлөгдөж болно. Сул талууд нь гэрэлтүүлгийн өөрчлөлтөд үзүүлэх хариу урвалын хурд багатай байдаг. Хэрэв гэрэл анивчих юм бол мэдрэгч нь хариу өгөх цаг байхгүй. Хэрэв өөрчлөлтийн давтамж нэлээд өндөр байвал резистор нь ерөнхийдөө гэрэлтүүлэг өөрчлөгдөж байгааг "хархаа" зогсооно.

Давуу талууд нь энгийн, хүртээмжтэй байдлыг агуулдаг. Түүн дээр унах гэрлээс хамааран эсэргүүцлийн шууд өөрчлөлт нь цахилгааны холболтын диаграммыг хялбарчлах боломжийг танд олгоно. Фоторезистор нь өөрөө маш хямд бөгөөд олон тооны arduino иж бүрдэл, дизайнеруудад багтдаг тул бараг бүх шинэхэн arduino ашиглах боломжтой.

Фоторезисторыг arduino-д холбох

Төсөлд arduinoФоторезисторыг гэрлийн мэдрэгч болгон ашигладаг. Үүнээс мэдээлэл хүлээн авснаар самбар нь реле асаах, унтраах, хөдөлгүүрийг эхлүүлэх, мессеж илгээх боломжтой. Мэдээжийн хэрэг, энэ тохиолдолд бид мэдрэгчийг зөв холбох ёстой.

Гэрлийн мэдрэгчийг arduino руу холбох схем нь маш энгийн. Хэрэв бид фоторезистор ашигладаг бол холболтын диаграммд мэдрэгчийг хүчдэл хуваагч болгон хэрэгжүүлдэг. Нэг мөр нь гэрэлтүүлгийн түвшингээс өөрчлөгддөг, хоёр дахь нь аналог оролт руу хүчдэл өгдөг. Хянагчийн чип дээр энэ хүчдэлийг ADC-ээр дамжуулан тоон өгөгдөл болгон хувиргадаг. Учир нь Хэрэв гэрэл тусах үед мэдрэгчийн эсэргүүцэл буурч байвал түүн дээр унах хүчдэлийн утга мөн буурна.

Бид фоторезисторыг хуваагчийн аль гарт байрлуулахаас хамаарч аналог оролтод нэмэгдсэн эсвэл буурсан хүчдэлийг хэрэглэнэ. Фоторезисторын нэг хөл нь газарт холбогдсон тохиолдолд хамгийн их хүчдэлийн утга нь харанхуйд тохирно (фоторезисторын эсэргүүцэл хамгийн их, бараг бүх хүчдэл унадаг), хамгийн бага утга нь сайнтай тохирно. гэрэлтүүлэг (эсэргүүцэл тэгтэй ойролцоо, хүчдэл нь хамгийн бага). Хэрэв бид фоторезисторын гарыг тэжээлд холбовол зан байдал нь эсрэгээрээ байх болно.

Самбарыг суурилуулах нь өөрөө хүндрэл учруулах ёсгүй. Фоторезистор нь туйлшралгүй тул та үүнийг ямар ч чиглэлд холбож, самбарт гагнах, хэлхээний самбар ашиглан утсаар холбох эсвэл ердийн хавчаар (матр) ашиглаж болно. Хэлхээний тэжээлийн эх үүсвэр нь arduino өөрөө юм. фоторезисторнэг хөлөөрөө газартай холбогдсон, нөгөө нь самбарын ADC-д холбогдсон (бидний жишээнд - AO). Бид 10 кОм резисторыг ижил хөлтэй холбодог. Мэдээжийн хэрэг, та фоторезисторыг зөвхөн аналог A0 зүүтэй төдийгүй бусад аль ч хэсэгт холбож болно.

Нэмэлт 10К резисторын талаар хэдэн үг хэлье.Энэ нь бидний хэлхээнд хоёр үүрэг гүйцэтгэдэг: хэлхээний гүйдлийг хязгаарлах, хэлхээнд хуваагчаар хүссэн хүчдэлийг бий болгох. Бүрэн гэрэлтүүлэгтэй фоторезистор нь эсэргүүцлийг эрс бууруулдаг нөхцөлд одоогийн хязгаарлалт шаардлагатай. Мөн хүчдэлийн хэлбэр нь аналог порт дээрх урьдчилан таамаглах боломжтой утгуудад зориулагдсан болно. Үнэн хэрэгтээ 1К эсэргүүцэл нь бидний фоторезистортой хэвийн ажиллахад хангалттай.

Резисторын утгыг өөрчилснөөр бид мэдрэмжийн түвшинг "харанхуй" ба "гэрэл" тал руу "шилжүүлж" чадна. Тиймээс 10 К нь гэрлийн эхлэлийг хурдан солих боломжийг олгоно. 1К-ийн хувьд гэрлийн мэдрэгч нь гэрэлтүүлгийн өндөр түвшинг илүү нарийвчлалтай илрүүлэх болно.

Хэрэв та бэлэн гэрлийн мэдрэгч модулийг ашиглавал холболт нь илүү хялбар болно. Бид VCC модулийн гаралтыг самбар дээрх 5V холбогч, GND - газард холбодог. Үлдсэн зүү нь arduino холбогчтой холбогдсон байна.

Хэрэв самбар нь дижитал гаралттай бол бид үүнийг дижитал зүү рүү илгээдэг. Хэрэв аналог бол аналог. Эхний тохиолдолд бид гэрэлтүүлгийн түвшингээс хэтэрсэн гох дохиог хүлээн авах болно (гох босго хэмжээг тааруулах резистор ашиглан тохируулж болно). Аналог тээглүүрүүдээс бид гэрэлтүүлгийн бодит түвшинтэй пропорциональ хүчдэлийн утгыг авч болно.

Фоторезистор дээрх гэрлийн мэдрэгчийн жишээ ноорог

Бид фоторезисторын хэлхээг arduino-д холбож, бүх зүйл зөв хийгдсэн эсэхийг шалгаарай. Одоо хянагчийг програмчлах л үлдлээ.

Гэрлийн мэдрэгчийн ноорог бичих нь маш энгийн. Бид мэдрэгчийг холбосон аналог зүүгээс одоогийн хүчдэлийн утгыг л авах хэрэгтэй. Үүнийг бид бүгдэд мэддэг analogRead() функцийг ашиглан хийдэг. Дараа нь бид гэрлийн түвшингээс хамааран зарим үйлдлийг хийж болно.

Дараах байдлаар холбогдсон LED-ийг асаах, унтраах гэрлийн мэдрэгчийн ноорог бичье.

Ажлын алгоритм нь дараах байдалтай байна.

  • Аналог зүүгээс дохионы түвшинг тодорхойлно.
  • Түвшинг босго утгатай харьцуул. Хамгийн их утга нь харанхуйд, хамгийн бага нь хамгийн их гэрэлтүүлэгтэй тохирно. 300-тай тэнцэх босго утгыг сонгоцгооё.
  • Хэрэв түвшин нь босго хэмжээнээс бага байвал - харанхуй бол та LED-ийг асаах хэрэгтэй.
  • Үгүй бол LED-ийг унтраа.
#PIN_LED 13-ыг тодорхойлох #PIN_PHOTO_SENSOR A0 хүчингүй тохиргоог тодорхойл () ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR); Serial.println вал< 300) { digitalWrite(PIN_LED, LOW); } else { digitalWrite(PIN_LED, HIGH); } }

Фоторезисторыг (гар эсвэл тунгалаг зүйлээр) тагласнаар бид LED-ийн асаалт, унтраалтыг ажиглаж болно. Код дахь босго параметрийг өөрчилснөөр бид чийдэнг өөр өөр гэрэлтүүлгийн түвшинд асаах / унтраахыг албадах боломжтой.

Суулгахдаа гэрэл мэдрэгч дээр тод LED-ээс бага гэрэл унахын тулд фоторезистор ба LED-ийг аль болох хол байрлуулахыг хичээ.

Орчны гэрлийн мэдрэгч ба арын гэрэлтүүлгийн жигд өөрчлөлт

LED-ийн тод байдал нь гэрэлтүүлгийн түвшнээс хамаарч өөрчлөгдөхийн тулд та төслийг өөрчилж болно. Бид алгоритмд дараах өөрчлөлтүүдийг нэмнэ.

  • Бид чийдэнгийн гэрлийг PWM-ээр сольж, analogWrite () ашиглан 0-ээс 255 хүртэлх утгыг LED бүхий зүү рүү илгээнэ.
  • Гэрэл мэдрэгчээс (0-ээс 1023 хүртэл) гэрлийн түвшний дижитал утгыг LED гэрлийн PWM мужид (0-ээс 255 хүртэл) хөрвүүлэхийн тулд бид map() функцийг ашиглана.

Ноорог жишээ:

#PIN_LED 10-ыг тодорхойлох #PIN_PHOTO_SENSOR A0 хүчингүй тохиргоог тодорхойл () ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) хүчингүй давталт() ( int val = analogRead(PIN_PHOTO_SENSOR); Serial.println(Poval); = map(val, 0, 1023, 0, 255); // Хүлээн авсан утгыг PWM дохионы түвшин болгон хөрвүүлнэ. Гэрлийн утга бага байх тусам бид LED-д PWM-ээр дамжуулан бага тэжээл хэрэгтэй болно. analogWrite(PIN_LED, ledPower) ); // гэрэлтүүлгийг өөрчлөх)

Аналог портын дохио нь гэрэлтүүлгийн зэрэгтэй пропорциональ байгаа холболтын өөр аргын хувьд утгыг дээд хэмжээнээс хасах замаар нэмэлт "урвуу" хийх шаардлагатай болно.

int val = 1023 - analogRead(PIN_PHOTO_RESISTOR);

Фоторезистор ба реле дээрх гэрлийн мэдрэгчийн схем

Релетэй ажиллах ноорог зургийн жишээг arduino дахь реле програмчлалын тухай нийтлэлд өгсөн болно. Энэ тохиолдолд бид нарийн төвөгтэй дохио зангаа хийх шаардлагагүй: "харанхуй" -ыг тодорхойлсны дараа бид зүгээр л реле асааж, түүний зүү дээр тохирох утгыг хэрэглэнэ.

#PIN_RELAY 10-г тодорхойлох #PIN_PHOTO_SENSOR-ийг тодорхойлох A0 хүчингүй тохиргоог () ( pinMode(PIN_RELAY, OUTPUT); digitalWrite(PIN_RELAY, HIGH); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR);< 300) { // Светло, выключаем реле digitalWrite(PIN_RELAY, HIGH); } else { // Темновато, включаем лампочку digitalWrite(PIN_RELAY, LOW); } }

Дүгнэлт

Фоторезистор дээр суурилсан гэрлийн мэдрэгч бүхий төслүүд нь маш энгийн бөгөөд үр дүнтэй байдаг. Тоног төхөөрөмжийн өртөг өндөр биш байхад та олон сонирхолтой төслүүдийг хэрэгжүүлэх боломжтой. Фоторезистор нь нэмэлт эсэргүүцэлтэй хүчдэл хуваагч хэлхээний дагуу холбогдсон байна. Мэдрэгч нь гэрэлтүүлгийн янз бүрийн түвшнийг хэмжихийн тулд аналог порттой холбогдсон эсвэл зөвхөн харанхуй байгаа нь бидэнд чухал бол дижитал руу холбогддог. Ноорог дээр бид аналог (эсвэл дижитал) портоос өгөгдлийг уншиж, өөрчлөлтөд хэрхэн хариу үйлдэл үзүүлэхээ шийддэг. Одоо ийм энгийн "нүд" таны төслүүдэд гарч ирнэ гэж найдаж байна.