Агуулгын хүснэгт:

Намайг сэрээ - ухаалаг сэрүүлэгтэй цаг: 6 алхам
Намайг сэрээ - ухаалаг сэрүүлэгтэй цаг: 6 алхам

Видео: Намайг сэрээ - ухаалаг сэрүүлэгтэй цаг: 6 алхам

Видео: Намайг сэрээ - ухаалаг сэрүүлэгтэй цаг: 6 алхам
Видео: 🎶 ДИМАШ "ОПЕРА 2". История выступления и анализ успеха | Dimash "Opera 2" 2024, Арваннэгдүгээр
Anonim
Намайг сэрээгээрэй - ухаалаг сэрүүлэгтэй цаг
Намайг сэрээгээрэй - ухаалаг сэрүүлэгтэй цаг

Намайг сэрээгээрэй гэдэг бол ухаалаг сэрүүлэг бөгөөд үүнийг ухаалаг гэрэл болгон ашиглаж болно.

Баригдсан LED зурвас нь танай өрөөнд орж ирж буй байгалийн гэрлийг дуурайдаг. Энэ нь таны өдрийг тайван, байгалийн аргаар эхлүүлэх боломжийг олгодог.

Сэрүүлгийн цаг нь цагийг унших зориулалттай 4*7 сегмент бүхий дэлгэц, дуртай хөгжмөөрөө сэрэх чанга яригч, товчлуур, LED зурвасын тод байдлыг тохируулах ldr, температур мэдрэгчээр тоноглогдсон байдаг. танай өрөөний температур.

Хангамж

Миний яг төлсөн үнийн жагсаалтыг эндээс олж болно.

Микроконтроллер ба компьютер:

Raspberry Pi 4I нь бөөрөлзгөнө pi 4 4GB ашигласан боловч 3+ бөөрөлзгөнө pi загвар нь сайн байх ёстой

Ардуино Уно

Arduino нь 4*7 сегментийн цагны дэлгэцийг хянахад ашиглагддаг.

Мэдрэгч:

  • TMP36: температур мэдрэгч
  • LDR: Хөнгөнөөс хамааралтай резистор

Хөдөлгүүрүүд:

  • WS2801: Тус тусад нь хаягдах зурвас
  • LCD дэлгэц: 16*2 хэмжээтэй LCD дэлгэц.
  • 4*7 сегментийн цагны дэлгэц

IC:

  • 74HC595: LCD дэлгэцийн Shiftregister
  • MCP3008: 8 битийн аналоги тоон хөрвүүлэгч
  • Логик түвшний хөрвүүлэгч: raspi болон arduino хооронд харилцахад ашигладаг

Бусад зүйлс:

  • Чанга яригчийг тэжээх adafruit MAX9744 өсгөгч
  • Ямар ч чанга яригч, би Visaton 4Ohm 8Watt бүрэн хэмжээний чанга яригч ашигладаг байсан (Урлаг. 2240)
  • Өсгөгчийг тэжээх 9 вольтын цахилгаан хангамж
  • 5 вольтын цахилгаан хангамж нь зурвас болон бусад эд ангиудыг нийлүүлдэг. LED зурвас дахь туяа тус бүр 60 мА живж чаддаг тул таны цахилгаан хангамж хангалттай байгаа эсэхийг шалгаарай.
  • Хэд хэдэн 220 Ом эсэргүүцэл
  • Таны хайрцагт хийх жижиг талхны самбар.

Хэрэгсэл:

  • Гагнуурын төмөр.
  • Хэргийг хийх зүйл (модон эффект авахын тулд би PLA, PETG бүхий 3d принтер, винил наалт ашигласан.)

Алхам 1: Raspberry Pi -ийг тохируулах

Raspberry pi бол бидний гол микро хянагч юм.

Raspberry pi нь манай орон нутгийн вэб сервер, мэдээллийн баазыг ажиллуулдаг, LED зурвас, чанга яригч,…

1 -р хэсэг: Raspbian програмыг суулгах

Raspbian програмыг суулгахын тулд энэ хичээлийг ашиглана уу:

SSH идэвхжсэн эсэхийг шалгаарай

2 -р хэсэг: Холбогдох

Интернетэд холбогдохын тулд та бөөрөлзгөнө pi терминал руу нэвтрэх шаардлагатай. Би шаваас ашиглахыг зөвлөж байна. Терминалын төрөлд:

wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf

"YourNetwork" нь таны wifi сүлжээний нэр бөгөөд "YourSSID" нь сүлжээний нууц үг юм.

Сүлжээг нэмсний дараа Raspberry Pi -ийг дахин ачаалахыг оролдоорой.

'Ping 8.8.8.8' командыг бичээрэй, хэрэв танд хариу өгөх юм бол сүлжээг тохируулж, ажиллаж байгаа бол google сервер рүү пакет илгээх болно.

3 -р хэсэг: Шаардлагатай програмуудыг суулгана уу

Энэ төслийг ажиллуулахын тулд бидэнд зарим нэмэлт програм суулгах шаардлагатай болно.

Эхлэхээсээ өмнө бүх зүйлийг сайжруулсан эсэхийг шалгахын тулд эдгээр 2 тушаалыг ажиллуулна уу.

sudo apt update

sudo apt upgrade

Үүнд хэсэг хугацаа шаардагдаж магадгүй.

Apache

sudo apt install apache2 -y

sudo apt суулгах php libapache2-mod-php -y

MariaDB

sudo apt install mariadb-server mariadb-client -y

sudo apt суулгах php -mysql -y

PHPMyAdmin

sudo apt суулгах phpmyadmin -y

Python пип

Зарим питон номын санг идэвхжүүлэхийн тулд бид pip суулгах хэрэгтэй

pip3 mysql-connector-python суулгана уу

pip3 колбо-сокетийг суулгана уу

pip3 колбо-корс суурилуулна

pip3 gevent суулгах

pip3 gevent-websocket суулгах

Алхам 2: Электроникийг холбох

Электроникийг холбох
Электроникийг холбох
Электроникийг холбох
Электроникийг холбох

Би 2 схем нэмсэн, 1 нь туршилтын зориулалттай талхны схем юм. Би эхний схемийг бүтээж, кодыг ажиллуулахыг хичээхийг зөвлөж байна.

Би доорх фризинг файлуудыг нэмсэн.

Алхам 3: Өгөгдлийн сангийн дизайн

Өгөгдлийн сангийн дизайн
Өгөгдлийн сангийн дизайн

Энэ бол миний хийсэн мэдээллийн сангийн схем юм. Энэ үг нь Голланд хэл дээр байгаа боловч би хүснэгт бүрийг нарийвчлан тайлбарлах болно.

Хүснэгт 1: tblMuziek

Энэ бол нэлээд энгийн хүснэгт юм. Энэ нь зураачийн нэр, дууны нэр, дууны файлын нэрийг хадгалдаг.

Хүснэгт 2: tblLedstrip

Энэхүү хүснэгт нь зурвасын өнөөгийн байдлыг хянадаг бөгөөд энэ нь зурвасын байдлыг хадгалдаг. Ухаалаг гэрлийн функцэд бидэнд энэ хэрэгтэй.

Хүснэгт 3: tblSensoren

Энэхүү хүснэгт нь бидний сэрүүлэгт байгаа мэдрэгчийг хянаж байдаг. Бид мэдрэгчийн нэр болон MCP3008 сувгийн нэрийг хадгалдаг

Хүснэгт 4: tblMeting

Энэхүү хүснэгтэд бидний мэдрэгчийн үнэ цэнийг цаг хугацаатай нь хамт хадгалдаг.

Хүснэгт 5: tblWekker

Энэ хүснэгтэд таны сэрүүлгийн цагийн нууц үг, нэрийг хадгалдаг (жишээлбэл унтлагын өрөө)

Хүснэгт 6: tblAlarm

Энэ бол магадгүй хамгийн чухал хүснэгт юм. Энэ нь таны тавьсан сэрүүлэг, цаг юу хийх ёстойг хянаж байдаг (ямар дуу тоглуулах, дарааллыг удирдсан, хэдэн өдөр унтраах ёстой вэ …). 2 огноог бүртгэх нь маш чухал юм. Сэрүүлэг хэдэн цагт унтрах ёстойг хадгалахад 1 огноог ашигладаг. Нөгөөх нь хамгийн сүүлд хэзээ сэрүүлэг дуугарсныг хянадаг. Ажлын өдөр хэдэн цаг болох ёстойг мэдэхийн тулд би 7 цифр агуулсан варчар ашигласан. Эхний цифр нь Даваа гариг, хоёр дахь Мягмар гараг,… Хэрэв энэ нь 1 бол унтрах ёстой, 0 бол энэ нь байх ёсгүй. Жишээ: 1111100 нь энэ дохиолол Даваа, Мягмар, Лхагва, Пүрэв, Баасан гаригт унтарна гэсэн үг юм.

Алхам 4: Arduino -ийн тохиргоо

Энэ алхам нь маш амархан. Дараагийн алхамд миний github -ийн линк байх бөгөөд та arduino файлыг татаж авах боломжтой.

Хөтөлбөр юу хийдэг вэ?

Хөтөлбөр нь pi -ээс цуваа өгөгдөл ирэхийг хүлээж байна.

Өгөгдлийг хүлээн авмагц мөрөнд задлан шинжилж, баталгаажуулалтыг pi руу илгээдэг.

Мөр нь иймэрхүү байх болно: '1201' гэдэг нь 12:01 болж байна гэсэн үг юм. Би нийтлэг анод 7 сегментийн дэлгэц ашигласан нь тоонууд өндөр байх ёстой бөгөөд тэдгээрийг асаахын тулд A, B, C, D, E, F, G, DP бага байх ёстой гэсэн үг юм. Хэрэв та нийтлэг катод ашигладаг бол HIGH -ийг LOW, LOW -ийг HIGH болгож өөрчлөх хэрэгтэй.

Энд 7 сегментийн дэлгэц хэрхэн ажилладаг талаар дэлгэрэнгүй мэдээлэлтэй холбоос байна. (номын сангийн тусламжтайгаар):

www.instructables.com/id/Using-a-4-digit-7…

Номын сан ашиглахгүйгээр 7 сегментийн дэлгэцийн талаархи холбоос энд байна.

create.arduino.cc/projecthub/SAnwandter1/p…

Алхам 5: Raspberry Pi Backend

Raspberry Pi арын хэсэг
Raspberry Pi арын хэсэг

Та миний кодыг Github ашиглан татаж авах боломжтой. (https://github.com/VanHevelNico/WakeMeUp)

Програмыг хэрхэн суулгах вэ:

Арын дэвсгэрийг колбо ашиглан питоноор бичсэн болно. Та энэ програмыг (app.py) автоматаар эхлүүлэх үйлчилгээ хийх боломжтой.

Та урд талын кодыг өмнө нь татаж авсан apache серверийн html файлд оруулах ёстой. (/var/html)

Хөтөлбөр хэрхэн ажилладаг вэ?

Сэрүүлгийг асаахад цагийнхаа IP хаяг руу очно уу (энэ нь lcd дээр харагдах болно).

Та хөтөчийнхөө IP хаягаар ормогц таны компьютер үйлчлүүлэгч холбогдсон байна гэж сокет.io хүсэлт илгээх болно. Арын хэсэг үүнийг хүлээн авмагц миний доор тайлбарлах хэдэн утас эхлэх болно.

Тохируулах

Энэ нь шаардлагатай бүх объектыг харуулдаг.

GetTemp

Энэ нь mcp3008 суваг 0 -ийг уншиж, хоёртын өгөгдлийг бодит температурт хөрвүүлж, одоогийн огноо, цагийг мэдээллийн санд оруулна.

GetTempGrafiek

Энэ нь температур мэдрэгчийн өнгөрсөн 20 утгыг олж, урд талын урд талд гаргадаг.

tijd_sturen

Энэ арга нь одоогийн цагийг авч, минут өөрчлөгдсөн эсэхийг шалгадаг. Хэрэв програм өөрчлөгдсөн бол шинэ цагийг arduino руу цуваа холболт ашиглан илгээдэг

checkAlarmen

Энэ бол хамгийн чухал арга юм. Энэ нь асаалттай байгаа бүх дохиоллыг авч, эдгээр сэрүүлгийн аль нэг нь 5 -аас 5 минутын өмнө дуусах ёстой эсэхийг шалгадаг (энэ нь дохиолол шаардлагатай үед унтарч байгаа эсэхийг шалгах буфер юм). Хэрэв сэрүүлгийг унтраах шаардлагатай бол бид хөгжим, LED зурвасыг эхлүүлнэ … Бид хүч мэдрэмтгий резисторыг тасралтгүй уншиж, утга 1000 -аас доош унахад (fsr дарагдсан хэсгийг уншина уу) Бид сэрүүлгээ эргүүлж, дохиоллыг шинэчилдэг. мэдээллийн сан. Бид хамгийн сүүлд сэрүүлэг дуугарсан огноог одоогийн байдлаар тохируулсан.

statusLight

Энэ арга нь LED зурвасын утгыг гаргаж, шаардлагатай бол LED зурвасыг асаана.

lichtAanpassen

Энэ бол LED зурвас ба дохиоллын гэрэл хоорондоо зөрчилдөхгүй байх нэмэлт арга юм.

Алхам 6: Кейс

Кейс
Кейс
Кейс
Кейс
Кейс
Кейс

Миний файлуудын холбоосыг эндээс олж болно:

Бүрхүүлийг хэвлэхийн тулд би 3d принтер ашигласан. Үүнийг 4 өөр хэсэгт хэвлэв:

  1. Урд талын хавтан нь чанга яригчийн нүхтэй, 7 сегментийн дэлгэцийн зарим ханатай
  2. Ил тод PETG дахь LED зурвасын гаднах цагираг.
  3. Дунд хэсэг
  4. Арын хавтан нь lcd, кабелийн нүхтэй.

Анхны загварт 7 сегментийн дэлгэцийн нүх байхгүй байсан ч үүнийг хийх шаардлагатай байдаг, эс тэгвээс 7 сегментийн дэлгэцийн гэрэл тусахгүй.

Бүх бүрэлдэхүүн хэсгүүдийг оруулсны дараа би эцсийн үр дүнг илүү сайн харагдуулахын тулд модон хэлбэртэй винил наалт ашигласан. Цагийн дэлгэц нь наалт дээр гэрэлтдэг бөгөөд энэ нь маш сайхан харагдах эффектийг бий болгодог.

Зөвлөмж болгож буй: