Мазмуну:

Raspberry Pi Smart NightLight: 5 кадам
Raspberry Pi Smart NightLight: 5 кадам

Video: Raspberry Pi Smart NightLight: 5 кадам

Video: Raspberry Pi Smart NightLight: 5 кадам
Video: sasur bahu ki kahani 1 |sasur bahu|sasur aur bahu ki kahani| kahani | 2024, Ноябрь
Anonim
Raspberry Pi Smart NightLight
Raspberry Pi Smart NightLight

Жакында мен эрте турдум, көп учурда сыртта күндөр дагы эле караңгы, бирок мен аялымдын эс алуусуна таасир этүү үчүн жарыкты күйгүм келбейт, ошондуктан түнкү чырак сатып алууну ойлонуп жүргөм. Мен көп түнкү дүкөндөрдү издедим, бирок мен каалагандай эмес деп ойлойм, бирок Raspberry Pi тарабынан башкарылуучу Amazon дүкөнүндө DockerPi аттуу түнкү чыракты көрдүм. Бул абдан жакшы жана DIY өзгөчөлүктөрүн камсыз кыла алат. Мен бул продукттун вики сүрөттөмөсүн окудум, аны Linux системасын колдонуучу программист катары түздөн -түз буйрук сабы көзөмөлдөй алат, менимче, бул абдан сонун, ошондуктан мен аны кайра сатып алып, бул долбоорду баштадым.

1 -кадам: 1 -кадам: Бардык нерселерди даярдаңыз

1 -кадам: Бардык нерселерди даярдаңыз
1 -кадам: Бардык нерселерди даярдаңыз

Кутудан кутулгандан кийин, мен акрил табактагы коргоочу капкакты алып салам, андан кийин бул DockerPi модулун Raspberry Pi -ге screwws жана жез таякча менен орнотом. ал туруктуу болуп калды.

2 -кадам: 2 -кадам: Акыркы Rasbpian OS сүрөтүн SD картка жаркылдатыңыз

2 -кадам: Акыркы Rasbpian OS сүрөтүн SD картага чагылдыруу
2 -кадам: Акыркы Rasbpian OS сүрөтүн SD картага чагылдыруу
2 -кадам: Акыркы Rasbpian OS сүрөтүн SD картага чагылдыруу
2 -кадам: Акыркы Rasbpian OS сүрөтүн SD картага чагылдыруу
2 -кадам: Акыркы Rasbpian OS сүрөтүн SD картага чагылдыруу
2 -кадам: Акыркы Rasbpian OS сүрөтүн SD картага чагылдыруу

Мен акыркы Raspbian сүрөтүн жүктөп алам:

анан сүрөттү: etcher аттуу программалык камсыздоо аркылуу жаркылдатыңыз

бул жерден жүктөп алсаңыз болот:

gzip пакетинен сүрөт файлын ачып, сиз *.img файлына ээ болосуз, сүрөттү тандап, компьютериңиз TF картасын тааныган дискти тандаңыз, жөн эле "Flash" баскычын басып, бир нече мүнөт күтө туруңуз.

анан TF картасын алып салыңыз жана аны Raspberry Pi'ге салып, күйгүзүңүз.

3-кадам: 3-кадам: Raspi-configден I2C функциясын күйгүзүңүз

3-кадам: Raspi-configден I2C функциясын күйгүзүңүз
3-кадам: Raspi-configден I2C функциясын күйгүзүңүз
3-кадам: Raspi-configден I2C функциясын күйгүзүңүз
3-кадам: Raspi-configден I2C функциясын күйгүзүңүз
3-кадам: Raspi-configден I2C функциясын күйгүзүңүз
3-кадам: Raspi-configден I2C функциясын күйгүзүңүз
3-кадам: Raspi-configден I2C функциясын күйгүзүңүз
3-кадам: Raspi-configден I2C функциясын күйгүзүңүз

Raspberry pi иштей баштаганда, мен терминалды ачтым жана бул буйрукту тердим: sudo raspi-config

жана "Interfacing Options" ге өтүп, "I2C" тандап, аны иштеттиңиз. эмне үчүн мен бул буйрукту колдонушум керек?

Анткени DockerPi түнкү модулу Raspberry Pi менен I2C протоколун колдонот.

4 -кадам: 4 -кадам: Акрил панелин оюкка сайыңыз

4 -кадам: Акрил панелин оюкка сайыңыз
4 -кадам: Акрил панелин оюкка сайыңыз
4 -кадам: Акрил панелин оюкка сайыңыз
4 -кадам: Акрил панелин оюкка сайыңыз
4 -кадам: Акрил панелин оюкка сайыңыз
4 -кадам: Акрил панелин оюкка сайыңыз

Бул тешикке абдан ылайыктуу, жана сиз акрил панели уячасында дагы эле тура ала турган сүрөттү көрө аласыз.

кийинки кадам туура иштеп жатканын текшерүү үчүн тест кодун иштетүү болуп саналат.

Мен githubдан мисал кодун бул команданы raspberry Piдеги терминалга терүү аркылуу жүктөп алдым.

cd ~

git clone

cd dockerpi/Nightlight/

sudo./Nightligh.sh

анан түнкү жарыгым күйүп, жаркырайт.

Мен викидеги көрсөтмөнү окуп чыктым жана LED жарыгынын регистр картасынын диаграммасын таптым.

кийинки кадам эң күлкүлүү бөлүк болот, мен адамдын денесине инфракызыл пироэлектрдик сенсорду кошкум келет, бул кичинекей түнкү жарыкка күйүп жатканымды аныктасын ~

5 -кадам: 5 -кадам: Infrared Pyroelectric сенсорун орнотуу

5 -кадам: Infrared Pyroelectric сенсорун орнотуу
5 -кадам: Infrared Pyroelectric сенсорун орнотуу
5 -кадам: Infrared Pyroelectric сенсорун орнотуу
5 -кадам: Infrared Pyroelectric сенсорун орнотуу
5 -кадам: Infrared Pyroelectric сенсорун орнотуу
5 -кадам: Infrared Pyroelectric сенсорун орнотуу

Бул жерде биз PIR кыймыл сенсорун колдонуп жатабыз. PIR пассивдүү инфракызылды билдирет. Бул кыймыл сенсору фрезель линзасынан, инфракызыл детектордон жана колдоочу аныктоо схемасынан турат. Сенсордогу линза анын айланасында болгон инфракызыл нурланууну инфракызыл детекторго багыттайт. Биздин денелерибиз инфракызыл жылуулукту пайда кылышат жана натыйжада бул жылуулукту кыймыл сенсору алат. Сенсор адамдын бар экенин аныктаганда эле 5 м сигналды бир мүнөткө чыгарат. Ал болжол менен 6-7 метр диапазонду сунуштайт жана өтө сезимтал. PIR кыймыл сенсору адамды аныктаганда, ал GPIO аркылуу Raspberry Piге 5V сигналын чыгарат жана биз Raspberry Pi эмне кылышы керектигин аныктайбыз, анткени ал Python коддоосу аркылуу кирген адамды аныктайт. Бул жерде биз жөн гана "Кирүүчү табылды" деп басып чыгарып жатабыз.

Raspberry Pi түзгөндөн кийин, биз анын GPIO казыктары менен аралашып баштайбыз. Бул жерде биз Python скриптин колдонуп LEDди күйгүзүүгө аракет кылабыз. Төмөнкү кодду Raspberry Piге көчүрүп чаптаңыз. Сиз муну Raspberry Piңиздеги "баракчаны" текст редакторун ачуу жана бул кодду ага көчүрүү жана муну Python файлы катары сактоо менен кыла аласыз: nightlight.py:

#импорт либерарлары.

GPO катары RPi. GPIO импорттоо

импорттоо убактысы

smbus импорттоо

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings (False)

GPIO.setmode (GPIO. BOARD)

GPIO.setup (11, GPIO. IN) #Окуу PIR кыймыл сенсорунан чыгат

bus = smbus. SMBus (DEVICE_BUS) i2c түзмөгүнүн смбусунун # мисалы, түн жарыгын билдирет.

чын болсо:

аракет кыл:

i = GPIO.input (11)

эгер мен == 0: #Кыймыл сенсорунан чыгаруу ТӨМӨН болгондо

басып чыгаруу ("Кирүүчүлөр жок", i)

i үчүн диапазондо (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0x00) #Өчүрүү LED

убакыт.уйку (0.2)

убакыт.уйку (0.1)

elif i == 1: #Кыймыл сенсорунан чыгаруу ЖОГОРУ болгондо

басып чыгаруу ("Кирүүчү табылды", i)

i үчүн диапазондо (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF) #Өчүрүү LED

убакыт.уйку (0.2)

убакыт.уйку (0.1)

KeyboardInterruptдон башка e:

басып чыгаруу ("Циклден чыгуу")

анан аны сактап, аны малина пи жүктөө учурунда иштетип коюңуз.

sudo vim.tiny /etc/rc.local

жана 0 чыккандан мурун бул сапты кошуңуз:

sudo python /home/pi/nightlight.py &

анан аны сактап, Piңизди өчүрүп күйгүзүңүз, ал туура иштейт …

Көргөнүңүз үчүн рахмат ~

Сунушталууда: