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

Вопросы от новичков
Ответить
paska
Рядовой
Сообщения: 20
Зарегистрирован: 20 янв 2018, 20:59

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

Сообщение 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]
paska
Рядовой
Сообщения: 20
Зарегистрирован: 20 янв 2018, 20:59

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

Сообщение paska »

Отвечу себе )
Попробовал сделать ПБ (Пользовательский блок) - с первой попытки удалось, вставил рабочий скетч, и всё заработало.
Теперь хотелось бы правильно прикрутить вход (SoftwareSerial) на который приходит информация с датчика.
Выкладываю своё творение ПБ здесь, для его дальнейшего допиливания.
Никакого описание кк нему пока не делал, т.к. надеюсь он (этот ПБ) станет более "правильным" и функциональным.
ПБ радар.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

paska писал(а): 09 фев 2020, 21:18 Теперь хотелось бы правильно прикрутить вход (SoftwareSerial) на который приходит информация с датчика.
Не понял :smile37:
В блоке уже прикручен к датчику софт на 2,0,пин
О каком софте еще речь? Может Вы хотели вывести пины софта в настройку блока?
Win10-64, FLProg (portable)
paska
Рядовой
Сообщения: 20
Зарегистрирован: 20 янв 2018, 20:59

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

Сообщение paska »

rw6cm писал(а): 09 фев 2020, 22:47 О каком софте еще речь? Может Вы хотели вывести пины софта в настройку блока?
О-Да, чтобы не привязываться к пинам, а иметь возможность настроить их под себя.
И чтобы SoftwareSerial также не был бы жёстко прописан в самом блоке.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

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

Сообщение rw6cm »

paska писал(а): 09 фев 2020, 23:01 Да, чтобы не привязываться к пинам, а иметь возможность настроить их под себя.
Двойной клик по блоку и меняйте в настройке.
Radar_TF_mini_(CODE).ubi
paska писал(а): 09 фев 2020, 23:01 И чтобы SoftwareSerial также не был бы жёстко прописан в самом блоке.
для этого нужен другой блок под Хард сериал
Radar_TF_mini_Hard_(CODE).ubi
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
paska
Рядовой
Сообщения: 20
Зарегистрирован: 20 янв 2018, 20:59

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

Сообщение paska »

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

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

Сообщение rw6cm »

[ref]paska[/ref],
Добавил выше на нард сериал
Win10-64, FLProg (portable)
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

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

Сообщение Ingwar »

Осталась решить, кто из вас перенесет/создаст тему в соответствующем разделе).
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
paska
Рядовой
Сообщения: 20
Зарегистрирован: 20 янв 2018, 20:59

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

Сообщение paska »

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

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

Сообщение paska »

Создал соответствующую ветку тут
Ответить

Вернуться в «Начинающим»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя