Простой скрипт для 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();
}
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();
}