Оглавление:

SmartClock: 6 шагов
SmartClock: 6 шагов

Видео: SmartClock: 6 шагов

Видео: SmartClock: 6 шагов
Видео: Lenovo Smart Clock - How To Setup and Use 2024, Июль
Anonim
SmartClock
SmartClock
SmartClock
SmartClock
SmartClock
SmartClock

SmartClock - это не просто часы, это еще и простой способ просматривать статистику социальных сетей и погоду.

Вы можете подключиться к facebook и получать свои лайки или подключиться к soundcloud и показать своих подписчиков вживую! Единственное, что вам нужно сделать, чтобы это увидеть, - это нажать кнопку режима.

На этом устройстве есть несколько датчиков, которые постоянно собирают информацию и хранят эту информацию в базе данных. Вы можете просмотреть эти данные на красивом графике на сайте.

Вы также можете воспроизводить музыку, которую выбираете на устройстве или на веб-сайте.

Запасы

- Распберри Пи

- Ардуино Уно

- Колонки с усилителем

- 4 * 7-сегментный дисплей

- DHT 11

- LM35 (опционально)

- LDR

- MCP3008

- ЖК-дисплей 16x2

- 5 нормально разомкнутых моностабильных переключателей

- резисторы 100к, 220, 1к и 5к

- Источник питания

- Множество соединительных кабелей, мужчина / женщина и женщина / женщина

Шаг 1: Распиновка DHT 11

Распиновка DHT 11
Распиновка DHT 11
Распиновка DHT 11
Распиновка DHT 11
Распиновка DHT 11
Распиновка DHT 11

Существует 2 типа DHT11, в зависимости от купленной версии у вас будет 3 или 4 контакта.

Vcc идет на 3,3 В, сигнал идет на GPIO4 Если у вас 4-контактная версия, вам нужно поместить резистор 4 кОм между vcc и сигнальным контактом. Если у вас 3-контактная версия, все в порядке.

Шаг 2: MCP3008 с переключателями LDR, LM35 и Pulldown

MCP3008 с переключателями LDR, LM35 и Pulldown
MCP3008 с переключателями LDR, LM35 и Pulldown
MCP3008 с переключателями LDR, LM35 и Pulldown
MCP3008 с переключателями LDR, LM35 и Pulldown
  • VDD - 3,3 В
  • Vref - 3,3 В
  • AGND - Земля
  • CLK - GPIO9
  • DOUT - GPIO MISO
  • DIN - GPIO MOSI
  • CS - CS0
  • DGND - Земля

CH0 находится между резистором 10k и ldr

CH1 идет к среднему выводу Lm35

Шаг 3: ЖК-дисплей

ЖК дисплей
ЖК дисплей

Чтобы ваш ЖК-дисплей заработал, подключите первый контакт к заземлению, а второй к + 5 В. Третий контакт должен быть подключен через резистор 5 кОм к земле или потенциометр, если вы хотите изменить яркость.

Вывод RS идет на GPIO22, RW идет прямо на землю. На этом этапе вы должны увидеть на вашем дисплее линию черных прямоугольников. теперь просто подключите 8 контактов данных к контактам GPIO, которые у вас есть, и подключите LED + к 5 В, LED- к земле.

Шаг 4: 4 * 7-сегментный дисплей

4 * 7-сегментный дисплей
4 * 7-сегментный дисплей

Ваш дисплей может быть общим анодом / общим катодом. Это не имеет значения, как вы его подключаете, но полезно знать, какой у вас тип. Убедитесь, что контакт RX0 оставлен свободным, так как нам нужно будет подключить его к TX0 на RPI. Остальные соединения значения не имеют, так как код пишется потом.

Шаг 5: Строительство

Строительство
Строительство
Строительство
Строительство

Чтобы создать эту установку на макете, вам понадобится много места. Я бы порекомендовал припаять MCP с LM35 и другими резисторами на тестовом отпечатке и добавить несколько заголовков. Таким образом, вы можете просто подключить его с помощью нескольких перемычек типа «мама» / «мама». Обязательно подключите заземление raspberri и arduino. Будьте осторожны, не перепутайте 3,3 В с 5 В.

Шаг 6: программное обеспечение

Программное обеспечение
Программное обеспечение
Программное обеспечение
Программное обеспечение

Я использовал Python с флягой в качестве бэкэнда. HTML, css / less и javascript как интерфейс и код arduino для arduino.

На Raspberry pi также работает база данных, в которой хранятся данные датчиков, а также установленные вами сигналы тревоги и информация о пользователе. Эта база данных работает на сервере MariaDB. Запросы на получение данных из этого написаны на моем сервере на python. Это преобразует данные в json на настраиваемых конечных точках. Мы можем получить эти данные в нашем интерфейсе, отправив запрос GET на наш сервер. Здесь мы можем делать с данными все, что захотим. Я выбрал для графиков, созданных с помощью chart.js, который является расширением javascript.

Рекомендуемые: