Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: "Украинские" часы - из китайских комплектующих)))

"Украинские" часы - из китайских комплектующих))) 07 янв 2018 21:41 #1

  • IvanUA
  • IvanUA аватар
  • Не в сети
  • new member
  • Я только учусь)))
  • Сообщений: 10
  • Спасибо получено: 17
Так уж получилось - задумки тут ни какой не было, но пришел мне с али экранчик двухцветный (желто/синий)
Собрал часики с термометром.
А потом подумал - а замечательно ведь получилось)))

Если есть желающие повторить:
- ESP-32(можно использовать и просто ESP8266) + (Espruino прошивка);
- SSD1306 - этот замечательный экранчик;
- BMP-280 - датчик температуры и давления.
Прошивка (ява скрипт) вот:
var ssid = 'Slava_Ukraini';
var password = 'Gerojam_Slava';
var wifi = require('Wifi');
var wifiStat = false;
var http = require("http");
var hour, minute, second, timestr="Ukraini Slava!!!", temp_act=2018, press_act=07.01;
I2C1.setup({scl:D22,sda:D21});
var bme = require("BMP280").connect(I2C1);
var g = require("SSD1306").connect(I2C1);


function ledPrint(){
  g.clear();
  g.setFontVector(24);
  if(wifiStat) timestr += ".";
  g.drawString(timestr,0,0);
  g.setFontVector(16);
  g.drawString("temp=" + temp_act + "C",8,28);
  g.setFontVector(12);
  g.drawString("press=" + press_act + "mmHg",0,48);
  g.flip();
}

function tempPrintConsol() {
  bme.readRawData();
  temp_act = (bme.calibration_T(bme.temp_raw)/100.0).toFixed(1);
  press_act = (bme.calibration_P(bme.pres_raw)/100.0*0.75006375541921).toFixed(1);
  console.log ("  Temperature: " + temp_act + "°C. Pressure: " + press_act + " mmHg");
}

function timePrint() {
  var date = new Date();
  hour = date.getHours();
  timestr = (hour < 10 ? "0" : "") + hour + ":";
  minute = date.getMinutes();
  timestr += (minute < 10 ? "0" : "") + minute + ":";
  second = date.getSeconds();
  timestr += (second < 10 ? "0" : "") + second;
  ledPrint();
}

//-----ПОДКЛЮЧЕНИЕ К WIFI
function getwifi(){
  console.log("Start connect WiFi!");
  wifi.connect(ssid, {password: password});
  wifi.on("connected", function(details) {
    console.log("Connected with IP " + details.ip);
    wifiStat = true;
    http.get("http://www.espruino.com", function(res) {
      setTime(Date.parse(res.headers.Date)/1000+3600*2);
      d= new Date();
      console.log(d,d.toString());
      res.on('data', function(data) {
      });
    });
  });
  wifi.on("disconnected", function(details) {
    wifiStat = false;
    console.log("Disconnected from WLAN " + ssid);
    wifi.connect(ssid, {password: password});
  });
  wifi.on("dhcp_timeout", function() {
    console.log("DHCP timeout!");
  });
}

ledPrint();
getwifi();
tempPrintConsol();
setInterval(tempPrintConsol, 30000);
setInterval(timePrint, 1000);

Маленькое видео с презентацией тут
Последнее редактирование: 07 янв 2018 22:16 от IvanUA.
Администратор запретил публиковать записи гостям.
Спасибо сказали: sergey380, Анатолій, Vakula

"Украинские" часы - из китайских комплектующих))) 07 янв 2018 22:40 #2

  • Igr44
  • Igr44 аватар
  • Не в сети
  • I live here
  • der tod der russischen schweinen
  • Сообщений: 1296
  • Спасибо получено: 57
С какой максимальной длинной проводов могут работать датчики типа бмп-бме280? Метров 5 они вытянут?
Администратор запретил публиковать записи гостям.

"Украинские" часы - из китайских комплектующих))) 07 янв 2018 22:57 #3

  • IvanUA
  • IvanUA аватар
  • Не в сети
  • new member
  • Я только учусь)))
  • Сообщений: 10
  • Спасибо получено: 17
Все ограничивается характеристиками шины I2C.
Думаю что и от типа провода и подтягивающих резисторов тоже зависит.
Ради интереса погуглил что пишут в нете, 5-10 метров.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Igr44

"Украинские" часы - из китайских комплектующих))) 07 янв 2018 23:06 #4

  • wolf2000
  • wolf2000 аватар
  • на форуме
  • Moderator
  • Слава Україні !!! Смерть ворогам
  • Сообщений: 873
  • Спасибо получено: 198
IvanUA пишет:
А потом подумал - а замечательно ведь получилось)))
Только бы развернуть, лани (жовтий) знизу
IvanUA пишет:
Прошивка (ява скрипт) вот:
SSID и Pass зачотні
"Борітеся — поборете!
Вам Бог помагає!
За вас правда, за вас слава
І воля святая!"
________________________
Save Ukraine! Stop Putin!
Последнее редактирование: 07 янв 2018 23:08 от wolf2000.
Администратор запретил публиковать записи гостям.

"Украинские" часы - из китайских комплектующих))) 07 янв 2018 23:30 #5

  • Igr44
  • Igr44 аватар
  • Не в сети
  • I live here
  • der tod der russischen schweinen
  • Сообщений: 1296
  • Спасибо получено: 57
та то индикаторы такие у шанхайцев они специально делают верхнюю часть другим цветом чтобы иконки вверху были более контрастны.
Администратор запретил публиковать записи гостям.

"Украинские" часы - из китайских комплектующих))) 15 янв 2018 16:02 #6

  • Анатолій
  • Анатолій аватар
  • Не в сети
  • new member
  • Сообщений: 8
Igr44 пишет:
та то индикаторы такие у шанхайцев .
Екран можна перевернути. І ще одна репліка, якщо годинник український може press замінити на тиск і т.д.
У вас царь, у нас демократия
Никогда мы не будем братьями.
Администратор запретил публиковать записи гостям.

"Украинские" часы - из китайских комплектующих))) 19 янв 2018 10:06 #7

  • IvanUA
  • IvanUA аватар
  • Не в сети
  • new member
  • Я только учусь)))
  • Сообщений: 10
  • Спасибо получено: 17
Все можливо. Тільки думаю для цього треба буде відмовитися від стардартних бібліотек, и написати щось своє, бо як я зрозумів, то бібліотека екрану не підтримує кіріліцу, та зміну куту відображення.

А в загалі, цей скрипт був тільки як приклад праці з екраном такого типу, та чуйником температури. Але як писав вище - просто так сталося, що файно виглядає))))
Последнее редактирование: 19 янв 2018 10:07 от IvanUA.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Oto, Анатолій

"Украинские" часы - из китайских комплектующих))) 21 янв 2018 21:57 #8

  • Анатолій
  • Анатолій аватар
  • Не в сети
  • new member
  • Сообщений: 8
Та я в програмуванні нуль, тому і думаю що все так просто.
У вас царь, у нас демократия
Никогда мы не будем братьями.
Администратор запретил публиковать записи гостям.
Модераторы: wolf2000, Vakula, Айнцвайдрайченко