
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:52



Бул Нускамада мен сизге Arduino аркылуу чоң Nokia 5110 LCD дисплейи менен жарык эсептегичти кантип курууну көрсөтөм.
Жарык эсептегичти куруу - бул чоң үйрөнүү тажрыйбасы. Бул долбоорду куруп бүткөндөн кийин сиз жарык эсептегичтердин кандай иштээрин жакшыраак түшүнөсүз жана Arduino платформасынын канчалык күчтүү экенин иш жүзүндө көрөсүз. Бул долбоор база жана топтолгон тажрыйба менен келечекте татаал долбоорлорду оңой кура аласыз. Сиз бул долбоорду сиздин иш чөйрөңүздүн, өсүмдүктөрүңүздүн жарык шарттарын көзөмөлдөө үчүн колдоно аласыз. Эч кандай кечиктирбестен, баштайлы!
1 -кадам: Бардык бөлүктөрдү алыңыз

Бул долбоорду куруу үчүн керектүү бөлүктөр булар:
- Arduino Uno ▶
- BH1750 ▶
- Nokia 5110 LCD ▶
- Small Breadboard ▶
- Зымдар ▶
Долбоордун баасы 12 доллардын тегерегинде.
2 -кадам: BH1750 Light Sensor

BH1750 жарык сыйымдуулугу сенсор улуу жана колдонууга абдан оңой. Бул сынык тактасы санарип сигналын түз чыгара турган 16 биттик AD конвертери менен келет, татаал эсептөөлөрдүн кереги жок.
Бул такта чыңалууну гана чыгаруучу LDRге караганда жакшыраак. BH1750 Жарык Сенсорунун интенсивдүүлүгүн эсептөө жүргүзбөстөн, люксметр менен түз өлчөөгө болот. Бул сенсор чыгарган маалыматтар түздөн -түз Lux (Lx) чыгарылат.
Сенсор I2C интерфейсин колдонот, ошондуктан Arduino менен колдонуу абдан оңой. Сиз болгону 2 зым туташтырууңуз керек.
Ошондой эле сенсордун баасы өтө төмөн, ал 2 доллардын тегерегинде.
Аны бул жерден алсаңыз болот: ▶
3 -кадам: Nokia 5110 ЖК



Nokia 5110 менин Arduino долбоорлорумдун эң жакшы көргөн дисплейи.
Nokia 5110 - бул графикалык ЖК экраны, ал башында уюлдук телефон үчүн арналган. Бул PCD8544 контролерун колдонот, ал аз кубаттуу CMOS ЖК контролери/драйвери. Ушундан улам, бул дисплей таасирдүү кубаттуулукка ээ. Ал күйгөндө болгону 0.4mA колдонот, бирок арткы жарык өчүрүлгөн. Уйку режиминде болгондо 0.06mAдан аз колдонот! Бул дисплей менин сүйүктүү болушумдун себептеринин бири. PCD8544 сериялык автобус интерфейси аркылуу микроконтроллерлерге интерфейстер. Бул дисплейди Arduino менен колдонууну абдан оңой кылат.
Сиз болгону 8 зым туташтырып, төмөнкү китепкананы колдонушуңуз керек:
Бул таасирдүү китепкана Хеннинг Карлсен тарабынан иштелип чыккан, ал Ардуино коомчулугуна китепканалары менен алдыга жылууга жардам берүү үчүн көп күч жумшаган.
Мен Nokia 5110 LCD дисплейин Arduino менен кантип колдонуу боюнча деталдуу окуу куралын даярдадым. Мен бул видеону ушул Нускамада тиркеп койдум, ал дисплей жөнүндө пайдалуу маалыматтарды берет, андыктан аны кылдаттык менен көрүүгө чакырам.
Дисплейдин баасы 4 доллардын тегерегинде.
Бул жерден алсаңыз болот: ▶
4 -кадам: Жарык эсептегичти куруу

Эми бардык бөлүктөрдү бириктирели.
Башында биз BH1750 Light сенсор модулун туташтырабыз. Бул болгону 5 төөнөгүч бар, бирок биз алардын 4үн туташтырабыз.
Чыңалуу сенсорун туташтыруу
Vcc Pin Arduino 5Vге барат
GND Pin Ардуинонун GNDге барат
SCL Pin Arduino Uno Analog Pin 5ке барат
SDA Pin Arduino Uno аналогдук пин 4кө барат
Дарек пини туташпай турат
Кийинки кадам - Nokia 5110 LCD дисплейин туташтыруу.
Nokia 5110 LCD дисплейин туташтыруу
RST Ардуинонун Digital Pin 12ге барат
CE Ардуинонун Digital Pin 11ге барат
DC Arduino санарип пин 10го барат
DIN Arduino санарип пин 9га барат
CLK Arduino санарип пин 8ге барат
VCC Arduino 3.3V LIGHT Arduino GNDге барат (арткы жарык)
GND Arduino GNDге барат
Эми биз бардык бөлүктөрдү бириктиргенден кийин, кодду жүктөө гана калды. Экран бир нече секундада көрсөтүлөт, андан кийин биз реалдуу убакытта жарыктын интенсивдүүлүгүн өлчөй баштайбыз!
5 -кадам: Долбоордун коду



Долбоордун коду 3 файлдан турат.
splash.cui.c
ui.c
BH1750LightMeter.ino
Код - Splash Screen Image
Биринчи файлда splash.c, проекттин башталышында Nokia 5110 LCD дисплейинде чагылдырылган экрандын экилик мааниси бар. Сураныч, Arduino долбооруңузга жеке графикаңызды кантип жүктөө керек экенин көрүү үчүн мен даярдаган тиркелген видеону көрүңүз.
ui.c коду - Колдонуучу интерфейси
Ui.c файлында, колдонуучу интерфейсинин экилик баалуулуктары бар, алар долбоор экранда көрсөтүлгөндөн кийин пайда болот. Сураныч, Arduino долбооруңузга жеке графикаңызды кантип жүктөө керек экенин көрүү үчүн мен даярдаган тиркелген видеону көрүңүз.
UVMeter.ino Code - Негизги программа
Долбоордун негизги коду абдан жөнөкөй. Биз Nokia 5110 китепканасын киргизишибиз керек. Андан кийин биз кээ бир өзгөрмөлөрдү жарыялайбыз. Биз дисплейди баштапкы абалга келтиребиз жана экрандын экранын 3 секундга көрсөтөбүз. Андан кийин, биз ui сөлөкөтүн бир жолу басып чыгарабыз жана сенсордон 150 милисекундадан маанини окуйбуз. Бардык сыйкырчылык цикл функциясында болот:
void loop () {int stringLength = 0; uint16_t lux = lightSensor.readLightLevel (); // сенсор жарыгын окуу = Стринг (люкс); // String stringLength = light.length () конверсиясы; // Биз String Length lcd.clrScr () билишибиз керек; lcd.drawBitmap (0, 0, ui, 84, 48); printLight (stringLength); // дисплейдеги сапты басып чыгаруу lcd.update (); кечиктирүү (150); }
Мен кодду ушул Нускамага тиркеп койдум. Коддун акыркы версиясын жүктөө үчүн сиз долбоордун веб-баракчасына кире аласыз:
6 -кадам: Долбоорду тестирлөө


Эми код жүктөлгөндөн кийин биз Light Meterди үйдүн ичинде жана сыртында сынап көрө алабыз. Мен муну Грециядагы жаздын күнөстүү күнүндө сынап көрөм. Жыйынтык фантастикалык болсо. Биз жарыктын интенсивдүүлүгүн долбоорду оңой өлчөй алабыз.
Тиркелген сүрөттөрдөн көрүнүп тургандай, Light Meter жакшы иштейт. Бул долбоор ачык булак жабдуулары менен программалык камсыздоонун эмнеге жөндөмдүү экенинин эң сонун далили. Бир нече мүнөттүн ичинде мындай таасирдүү долбоорду курууга болот! Бул долбоор башталгычтар үчүн идеалдуу жана башында айтканымдай, бул долбоор чоң үйрөнүү тажрыйбасы. Бул долбоор боюнча сиздин пикириңизди уккум келет. Сиз муну пайдалуу деп эсептейсизби? Бул долбоорду ишке ашыра турган жакшыртуулар барбы? Сураныч, комментарийлериңизди же идеяларыңызды төмөндөгү комментарийлер бөлүмүнө жазыңыз!
Сунушталууда:
DIY дем алуу сенсору Arduino менен (өткөргүч токулган сунуу сенсору): 7 кадам (сүрөттөр менен)

DIY дем алуу сенсору Arduino менен (Өткөргүч токулган сенсор): Бул DIY сенсор өткөргүч трикотаж сунуу сенсорунун формасын алат. Ал көкүрөгүңүздү/ашказаныңызды ороп алат, жана көкүрөгүңүз/ашказаныңыз кеңейгенде жана контрактта болгондо, сенсор, демек, Arduinoго берилүүчү маалымат. Ошентип
Жарык сенсору (Фоторезистор) Ардуино менен Тинкеркадда: 5 кадам (Сүрөттөр менен)

Жарык сенсору (фоторезистор) Tinkercadдагы Arduino менен: Келгиле, фото резисторду, өзгөрмөлүү каршылыктын жарык сезгич түрүн, Ардуинонун Аналогдук Киргизүүсүн колдонуп окууну үйрөнөлү. Бул дагы LDR (жарыкка көз каранды каршылык) деп аталат. Буга чейин сиз Ардуинонун аналогдук чыгышы менен LEDди башкарууну үйрөнүп
Которулуучу жарык сезгич түнкү жарык: 8 кадам (сүрөттөр менен)

Которулуучу жарыкты сезүүчү түнкү жарык: Бул көрсөтмө мен түнкү жарык сенсорун кантип кол менен өчүрүп койгондугумду көрсөтөт. Кылдаттык менен окуңуз, ачык болгон бардык схемаларды эске алыңыз жана бирдикти тестирлөөдөн мурун, керек болсо, аймакты өчүрүп коюңуз
Үстөлдүн жарык жасалгасы жана эшиктин жарык белгиси: 8 кадам (сүрөттөр менен)

Үстөлдүн жарык жасалгасы жана эшиктин жарыгы белгиси: Бул үйрөткүч столдун жасалгасын кантип программалоону жана курууну көрсөтөт. Бул жарыктар бир сааттын ичинде түсүн өзгөртөт. Сиз ошондой эле программалоону жана коштогон эшик белгисин курууну үйрөнөсүз. Сиз эшикти колдоно аласыз
Кыймыл сенсору/эсептегич жарыктар: 7 кадам

Motion Sensor/Counter Controlled Lights: Бул долбоор Сан Полис, Сан Луис Обиспо (CPE 133) боюнча Санариптик Дизайн курсунун акыркы долбоору катары түзүлгөн .Эмнеге биз муну кылып жатабыз? Биз дүйнөдөгү жаратылыш ресурстарын сактоого жардам бергибиз келет. Биздин долбоор электр энергиясын үнөмдөөгө багытталган. Дагы бир нерсени сактоо менен