прошу помочь с переводом скетча на блоки flprog

управление нагрузками через пк uart

Ответить
kyt
Рядовой
Сообщения: 2
Зарегистрирован: 08.10.2018{, 22:13}
Репутация: 0
Имя: koba

прошу помочь с переводом скетча на блоки flprog

#1

Сообщение kyt » 09.10.2018{, 11:09}

/*
Простой скрипт для Arduino Uno для подключения к ПК и для работы с PyroignitionControle по адресу http://blamaster.bplaced.net/Joomla/
СпойлерПоказать
*/

const int cue1 = 2;
const int cue2 = 3;
const int cue3 = 4;
const int cue4 = 5;
const int cue5 = 6;
const int cue6 = 7;
const int cue7 = 8;
const int cue8 = 9;
const int cue9 = 10;
const int cue10 = 11;
const int cue11 = 12;
const int cue12 = 13;

long fire_delay = 100; // Время, в течение которого электричество проходит через реле или MOSFET. Обычно для профессиональных зажигалок используется 100 MS, если используются вискозажигатели, по крайней мере, 2 секунды.
byte input[4]; // Здесь мы будем хранить входящие последовательные данные. Поскольку мы работаем с 12 каналами, мы делаем массив из 2 байтов.

void setup() {

pinMode(cue1, OUTPUT); //Kanaal 1
pinMode(cue2, OUTPUT); //Kanaal 2
pinMode(cue3, OUTPUT); //Kanaal 3
pinMode(cue4, OUTPUT); //Kanaal 4
pinMode(cue5, OUTPUT); //Kanaal 5
pinMode(cue6, OUTPUT); //Kanaal 6
pinMode(cue7, OUTPUT); //Kanaal 7
pinMode(cue8, OUTPUT); //Kanaal 8
pinMode(cue9, OUTPUT); //Kanaal 9
pinMode(cue10, OUTPUT); //Kanaal 10
pinMode(cue11, OUTPUT); //Kanaal 11
pinMode(cue12, OUTPUT); //Kanaal 12

Serial.begin(9600);
}

void loop()
{



Serial.flush();

while( Serial.available() < 4 )
{
// Подождите, пока не будет получено 4 символа.
}
for (int i=0; i < 4; i++)
{
input = Serial.read(); // Поместите символы в массив.
}

delay(10);

switch (input[2])
{

case 1:
digitalWrite(cue1,HIGH);
delay(fire_delay);
digitalWrite(cue1,LOW);

break;

case 2:
digitalWrite(cue2,HIGH);
delay(fire_delay);
digitalWrite(cue2,LOW);
break;

case 3:
digitalWrite(cue3,HIGH);
delay(fire_delay);
digitalWrite(cue3,LOW);
break;

case 4:
digitalWrite(cue4,HIGH);
delay(fire_delay);
digitalWrite(cue4,LOW);
break;

case 5:
digitalWrite(cue5,HIGH);
delay(fire_delay);
digitalWrite(cue5,LOW);
break;

case 6:
digitalWrite(cue6,HIGH);
delay(fire_delay);
digitalWrite(cue6,LOW);
break;

case 7:
digitalWrite(cue7,HIGH);
delay(fire_delay);
digitalWrite(cue7,LOW);
break;

case 8:
digitalWrite(cue8,HIGH);
delay(fire_delay);
digitalWrite(cue8,LOW);
break;

case 9:
digitalWrite(cue9,HIGH);
delay(fire_delay);
digitalWrite(cue9,LOW);
break;

case 10:
digitalWrite(cue10,HIGH);
delay(fire_delay);
digitalWrite(cue10,LOW);
break;

case 11:
digitalWrite(cue11,HIGH);
delay(fire_delay);
digitalWrite(cue11,LOW);
break;

case 12:
digitalWrite(cue12,HIGH);
delay(fire_delay);
digitalWrite(cue12,LOW);
break;

}
delay(10);
Serial.flush();
}

kyt
Рядовой
Сообщения: 2
Зарегистрирован: 08.10.2018{, 22:13}
Репутация: 0
Имя: koba

прошу помочь с переводом скетча на блоки flprog

#2

Сообщение kyt » 14.10.2018{, 14:53}

работает по этому протоколу

1-й байт - стартовый всегда 0xFF (255); 1 byte - start always 0xFF (255);
2-й байт - номер модуля 0x01 - 0x20 (1 - 32); 2 byte - 0x01 unit number - 0x20 (1 - 32);
3-й байт - номер канала 0x01 - 0x20 (1 - 32); 3 byte - channel number 0x01 - 0x20 (1 - 32);
4-й байт - контрольная сумма CRC8 2-го и 3-го байта. 4 byte - checksum CRC8 of 2nd and 3rd byte.

Отправлено спустя 4 часа 6 минут 34 секунды:
что то подобное пытался создать
Вложения
рорпорп.png

Ответить

Вернуться в «Помогите, а то я "нимагу"»