Mundarija:

SmartClock: 6 qadam
SmartClock: 6 qadam

Video: SmartClock: 6 qadam

Video: SmartClock: 6 qadam
Video: Основные ошибки при возведении перегородок из газобетона #5 2024, Iyul
Anonim
Smart soat
Smart soat
Smart soat
Smart soat
Smart soat
Smart soat

SmartClock - bu nafaqat soat, balki ijtimoiy tarmoqlar statistikasi va ob -havo ma'lumotlarini ko'rishning oson usuli.

Siz Facebook -ga ulanishingiz, yoqtirishlaringizni olishingiz yoki soundcloud -ga ulanishingiz va izdoshlaringizni jonli ko'rsatishingiz mumkin! Buni ko'rish uchun faqat rejim tugmachasini bosish kerak.

Ushbu qurilmada doimiy ravishda ma'lumotlarni to'playdigan va ma'lumotlar bazasida saqlaydigan bir nechta sensorlar mavjud. Siz ushbu ma'lumotlarni veb -saytdagi yaxshi grafikda ko'rishingiz mumkin.

Bundan tashqari, siz qurilmada yoki veb -saytda tanlagan musiqani ijro etishingiz mumkin.

Ta'minotlar

- Raspberri Pi

- Arduino Uno

- Kuchaytirgichli dinamiklar

- 4*7 segmentli displey

- DHT 11

- LM35 (ixtiyoriy)

- LDR

- MCP3008

- 16x2 o'lchamli LCD displey

- 5 ta oddiy ochiq turg'un kalit

- 100k, 220, 1k va 5k rezistorlar

- Quvvatlantirish manbai

- Ko'p o'tish kabellari, erkak/ayol va ayol/ayol

1 -qadam: DHT 11 pinout

DHT 11 -ni aniqlash
DHT 11 -ni aniqlash
DHT 11 -ni aniqlash
DHT 11 -ni aniqlash
DHT 11 -ni aniqlash
DHT 11 -ni aniqlash

DHT11 ning 2 turi mavjud, siz sotib olgan versiyaga qarab, sizda 3 yoki 4 pin bo'ladi.

Vcc 3.3V ga o'tadi, signal GPIO4 ga o'tadi Agar sizda 4pinli versiya bo'lsa, siz vcc va signal pimi orasiga 4k7 rezistorni qo'yishingiz kerak.

2 -qadam: LDR, LM35 va Pulldown kalitlari bilan MCP3008

MCP3008 LDR, LM35 va Pulldown kalitlari bilan
MCP3008 LDR, LM35 va Pulldown kalitlari bilan
MCP3008 LDR, LM35 va Pulldown kalitlari bilan
MCP3008 LDR, LM35 va Pulldown kalitlari bilan
  • VDD - 3.3V
  • Vref - 3.3V
  • AGND - er
  • CLK - GPIO9
  • DOUT - GPIO MISO
  • Din - GPIO MOSI
  • CS - CS0
  • DGND - tuproq

CH0 10k rezistor va ldr o'rtasida bo'ladi

CH1 Lm35 ning o'rta piniga o'tadi

3 -qadam: LCD displey

LCD displey
LCD displey

LCD displeyni ishga tushirish uchun birinchi pinni yerga, ikkinchisini +5V ga ulang, agar siz yorqinlikni o'zgartirishni xohlasangiz, 5k rezistor orqali 5k rezistor orqali ulanishi kerak.

RS pin GPIO22 ga o'tadi, RW to'g'ridan -to'g'ri gnd -ga o'tadi. Bu vaqtda siz displeyda qora to'rtburchaklar chizig'ini ko'rishingiz kerak. Endi 8 ta ma'lumot pinini GPIO pinlariga ulang va siz LED+ ni 5V ga, LEDni erga ulang.

4 -qadam: 4*7 segmentli displey

4*7 segmentli displey
4*7 segmentli displey

Sizning displeyingiz umumiy anod / umumiy katod bo'lishi mumkin. Buni qanday ulashingiz muhim emas, lekin qanday turga ega ekanligingizni bilish yaxshidir. RX0 pinini bo'sh saqlashga ishonch hosil qiling, chunki biz uni RXIda TX0 ga ulashimiz kerak bo'ladi. Qolgan ulanishlar muhim emas, chunki kod keyin yoziladi.

5 -qadam: qurilish

Qurilish
Qurilish
Qurilish
Qurilish

Bu sozlamani taxtada yaratish uchun sizga ko'p joy kerak bo'ladi. Men tavsiya qilaman, MCPni LM35 va al rezistorlar bilan lehimlang va bir nechta sarlavhalarni qo'shing. Shunday qilib, siz uni bir nechta ayol/ayol o'tish simlari bilan ulashingiz mumkin. Raspberri va arduino maydonchalarini ulaganingizga ishonch hosil qiling. 3.3V ni 5V ga aralashtirmaslik uchun ehtiyot bo'ling

6 -qadam: dasturiy ta'minot

Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot
Dasturiy ta'minot

Men Python -dan foydalanardim, uning orqa qismi uchun idishni. Html, css/less & javascript arduino uchun frontend va arduino kodi sifatida.

Raspberry pi -da ishlaydigan ma'lumotlar bazasi mavjud, u sensor ma'lumotlarini, shuningdek siz o'rnatgan signallarni va foydalanuvchi ma'lumotlarini saqlaydi. Ushbu ma'lumotlar bazasi MariaDB serverida ishlaydi. Ma'lumot olish uchun so'rovlar mening orqa tarafimda, pythonda yozilgan. Bu ma'lumotni maxsus so'nggi nuqtalarda jsonga o'zgartiradi. GET so'rovini orqa tomonimizga yuborish orqali biz bu ma'lumotlarni old tomondan olishimiz mumkin. Bu erda biz ma'lumotlar bilan xohlagan narsani qilishimiz mumkin. Men javascript kengaytmasi bo'lgan chart.js tomonidan tuzilgan grafiklarni tanladim.

Tavsiya: