Страница 1 из 1

Помогите реализовать

Добавлено: 08 фев 2020, 21:02
paska
Добрый День!
Есть датчик расстояний TF mini plus
который определяет расстояние до 12м.

Есть для него стандартный рабочий код:
[spoiler]
Выдержка из скетча:
плата ESP8266 WeMos mini

SoftwareSerial swSer(2,3);
const int HEADER=0x59;
....
if (swSer.available())
{
if (swSer.read()==HEADER)
{
uart[0]=HEADER;
if (swSer.read()==HEADER)
{
uart[1]=HEADER;
for(i=2;i<9;i++)
{
uart=swSer.read();
}
check=uart[0]+uart[1]+uart[2]+uart[3]+uart[4]+uart[5]+uart[6]+uart[7];
if (uart[8]==(check&0xff))
{
dist=uart[2]+uart[3]*256;
strength=uart[4]+uart[5]*256;
...

Serial.print("Distance= ");
Serial.print(dist);
Serial.print('\t');
Serial.print("Strength= ");
Serial.print(strength);
Serial.print('\n');
delay(50);

[/spoiler]
Как правильно реализовать этот код в программе FlProg ? или может просто вписать его после компиляции?

Полный тестовый скетч:
[spoiler]
Описание:
Определяем расстояние, и если оно меньше 1 м, то включается pin 'foto"

#include <SoftwareSerial.h>

#define BAUD_RATE 115200

SoftwareSerial swSer(2,3);


int uart[9];
int dist;
int strength;
int check;
int i;
const int HEADER=0x59;
int minimum;
int maximum;
int a;
int b;
int foto = 0;


void setup() {
pinMode(foto, OUTPUT);
Serial.begin(115200);

minimum = 0;
maximum = 100;




// Подключаем СофтСериал
swSer.begin(115200);

Serial.println("\nSoftware serial test started");
}

void loop() {

if (swSer.available())
{
if (swSer.read()==HEADER)
{
uart[0]=HEADER;
if (swSer.read()==HEADER)
{
uart[1]=HEADER;
for(i=2;i<9;i++)
{
uart=swSer.read();
}
check=uart[0]+uart[1]+uart[2]+uart[3]+uart[4]+uart[5]+uart[6]+uart[7];
if (uart[8]==(check&0xff))
{
dist=uart[2]+uart[3]*256;
strength=uart[4]+uart[5]*256;

if (dist < minimum or dist > maximum){
Serial.println("ALARM");
digitalWrite(foto,HIGH);
}
else{
digitalWrite(foto,LOW);
Serial.print("Distance= ");
Serial.print(dist);
Serial.print('\t');
Serial.print("Strength= ");
Serial.print(strength);
Serial.print('\n');
delay(50);
}
}



}
}

}


}
[/spoiler]

Помогите реализовать

Добавлено: 09 фев 2020, 21:18
paska
Отвечу себе )
Попробовал сделать ПБ (Пользовательский блок) - с первой попытки удалось, вставил рабочий скетч, и всё заработало.
Теперь хотелось бы правильно прикрутить вход (SoftwareSerial) на который приходит информация с датчика.
Выкладываю своё творение ПБ здесь, для его дальнейшего допиливания.
Никакого описание кк нему пока не делал, т.к. надеюсь он (этот ПБ) станет более "правильным" и функциональным.
ПБ радар.jpg

Помогите реализовать

Добавлено: 09 фев 2020, 22:47
rw6cm
paska писал(а): 09 фев 2020, 21:18 Теперь хотелось бы правильно прикрутить вход (SoftwareSerial) на который приходит информация с датчика.
Не понял :smile37:
В блоке уже прикручен к датчику софт на 2,0,пин
О каком софте еще речь? Может Вы хотели вывести пины софта в настройку блока?

Помогите реализовать

Добавлено: 09 фев 2020, 23:01
paska
rw6cm писал(а): 09 фев 2020, 22:47 О каком софте еще речь? Может Вы хотели вывести пины софта в настройку блока?
О-Да, чтобы не привязываться к пинам, а иметь возможность настроить их под себя.
И чтобы SoftwareSerial также не был бы жёстко прописан в самом блоке.

Помогите реализовать

Добавлено: 09 фев 2020, 23:39
rw6cm
paska писал(а): 09 фев 2020, 23:01 Да, чтобы не привязываться к пинам, а иметь возможность настроить их под себя.
Двойной клик по блоку и меняйте в настройке.
Radar_TF_mini_(CODE).ubi
paska писал(а): 09 фев 2020, 23:01 И чтобы SoftwareSerial также не был бы жёстко прописан в самом блоке.
для этого нужен другой блок под Хард сериал
Radar_TF_mini_Hard_(CODE).ubi

Помогите реализовать

Добавлено: 09 фев 2020, 23:50
paska
rw6cm писал(а): 09 фев 2020, 23:39
paska писал(а): 09 фев 2020, 23:01 Да, чтобы не привязываться к пинам, а иметь возможность настроить их под себя.
Двойной клик по блоку и меняйте в настройке.
Radar_TF_mini_(CODE).ubi
paska писал(а): 09 фев 2020, 23:01 И чтобы SoftwareSerial также не был бы жёстко прописан в самом блоке.
для этого нужен другой блок под Хард сериал
Спасибо за помощь!
^_^

Помогите реализовать

Добавлено: 09 фев 2020, 23:55
rw6cm
[ref]paska[/ref],
Добавил выше на нард сериал

Помогите реализовать

Добавлено: 10 фев 2020, 08:12
Ingwar
Осталась решить, кто из вас перенесет/создаст тему в соответствующем разделе).

Помогите реализовать

Добавлено: 10 фев 2020, 09:55
paska
rw6cm писал(а): 09 фев 2020, 23:55 Добавил выше на нард сериал
:yes: Спасибо, вечером посмотрю!
Ingwar писал(а): 10 фев 2020, 08:12 Осталась решить, кто из вас перенесет/создаст тему в соответствующем разделе).
Оттестирую, обязательно добавлю :peace:

Помогите реализовать

Добавлено: 14 фев 2020, 18:37
paska
Создал соответствующую ветку тут