payn

Пикабушник
поставил 82 плюса и 2 минуса
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу
1069 рейтинг 0 подписчиков 11 подписок 5 постов 1 в горячем

Помогите разобраться в чем проблема

Ребята помогите плиз. Есть скетч на Ардуино. Заключается в следующем: есть дальномер us100 работающий по uart. Но при включении питания он не показывает верные данные (расстояние), если расстояние от стены до датчика больше 30 см.
Его ребутить на кнопку reset нужно, чтобы он показывал верные значения, либо чтобы расстояние перед ним было меньше 30 см.
Как сделать одну перезагрузку при включении питания? У меня либо зацикливается и перезагружается постоянно, либо не работает совсем перезагрузка (((
Спасибо всем заранее !

Выкладываю код:

#include <SoftwareSerial.h>
#include <U8g2lib.h>

#define RX_PIN 2
#define TX_PIN 3
#define RX_PIN_2 7
#define TX_PIN_2 6

#define LED_RED_PIN 9
#define LED_GREEN_PIN 10
#define LED_BLUE_PIN 11

U8G2_SSD1306_128X64_NONAME_F_HW_I2C display(U8G2_R0);

int distance = 0;
int initial_distance = 0;

SoftwareSerial us100(RX_PIN, TX_PIN);


void setup() {
Serial.begin(9600);
us100.begin(9600);


pinMode(LED_RED_PIN, OUTPUT);
pinMode(LED_GREEN_PIN, OUTPUT);
pinMode(LED_BLUE_PIN, OUTPUT);

display.begin();
display.clearBuffer();
display.setFont(u8g2_font_ncenB08_tr);
display.setCursor(0, 10);
display.print("Distance:");
display.sendBuffer();
}

void loop() {
delay(100);
us100.write(0x55);
delay(50);

while (us100.available() < 2) {}

byte highByte = us100.read();
byte lowByte = us100.read();

int inches = highByte * 256 + lowByte;

if (initial_distance == 0) {
initial_distance = inches;
}

distance = inches - initial_distance;

display.clearBuffer();
display.setCursor(0, 30);
display.print(distance);
display.sendBuffer();

if (distance >= -500) {
analogWrite(LED_RED_PIN, 255); // включаем красный цвет
analogWrite(LED_GREEN_PIN, 0); // выключаем зеленый цвет
analogWrite(LED_BLUE_PIN, 0); // выключаем синий цвет
} else {
analogWrite(LED_RED_PIN, 0); // выключаем красный цвет
analogWrite(LED_GREEN_PIN, 255); // включаем зеленый цвет
analogWrite(LED_BLUE_PIN, 0); // выключаем синий цвет
}
Serial.write(highByte);
Serial.write(lowByte);

}

Показать полностью

Автоматизация Home Assistant Help!

Всем привет!
Подскажите, пожалуйста, установлен HA и подключен датчик расстояния.
Как можно сделать автоматизацию, точнее забирать информацию о расстоянии из HA в таблицу либо ещё куда?
Есть ли программы какие ? Или код на python?
Я просто не очень разбираюсь как можно забрать значения.
HA находится в одной сети, можно конечно и удаленно.

Гранд макет России

Решил посетить Гранд Макет России, т. к. многие основные крупные музеи были пройдены.


Скажу так , очень мне понравился, вся Россия как на ладони. Был там порядка 4 часов и то не все мелкие детали рассматривал. 

Всё как в реальной жизни, день сменяет ночь, люди тушат пожал, поезда передвигаются. 

Вот краткий ролик который снял, дальше батарейка села (( 

Всем спасибо ! и хорошей пятницы :)

Никто не терял ключ на 22 ?

Никто не терял ключ на 22 при съезде с КАДА на Дачный проспект ? А то он нашелся )))

Везунчик дня :)

Никто не терял ключ на 22 ? Авто, Гаечный ключ
Никто не терял ключ на 22 ? Авто, Гаечный ключ
Показать полностью 1
Отличная работа, все прочитано!