чип сегодня совместными усилиями с manu_245 добили код на условие прерывания с датчика скорости
PHP код:
#include <MsTimer2.h>
int Mute = 19; // Pin 19 - Mute
int Start = 18; // Pin 18 - Start
int Stopi = 17; // Pin 17 - Stop
int Opening = 15; // Pin 15 - Open
int Light = 16; // Pin 16 - Light
int Lampbattery = 4;
int Stopisignal = 2;
int Speedisensor = 3;
int tick = 0 ;
byte com = 0; //reply from voice recognition
boolean running = false;
boolean flag=false;
boolean stopflag=false;
void Time()
{
tick++;
}
void flash()
{
if(tick<2){stopflag=true;}
else {stopflag=false;}
tick=0;
}
void setup() {
// initialize the digital pins as output
pinMode(Mute, OUTPUT);
pinMode(Start, OUTPUT);
pinMode(Stopi, OUTPUT);
pinMode(Opening, OUTPUT);
pinMode(Light, OUTPUT);
pinMode(Lampbattery, INPUT);
digitalWrite(Lampbattery, HIGH);
pinMode(Stopisignal, INPUT);
digitalWrite(Stopisignal, HIGH);
pinMode(Speedisensor, INPUT);
digitalWrite (Speedisensor, HIGH);
attachInterrupt(1, Time, FALLING);
MsTimer2::set(500, flash);
MsTimer2::start();
Serial.begin(9600); // Start serial communication at 9600bps
delay(2000);
Serial.write(0xAA);
Serial.write(0x37);
delay(1000);
Serial.write(0xAA);
Serial.write(0x21);
}
void loop() // run over and over again
{
if(Serial.available())
{
com = Serial.read();
if(com==0x13 && !flag)
{
flag=true;
digitalWrite(Mute, HIGH);
com=0;
}
if(flag)
{
switch(com)
{
case 0x15:
running = !running;
digitalWrite(Light, running);
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
case 0x11:
if(digitalRead(2)==LOW && digitalRead(4)==LOW
&& stopflag=false)
{
digitalWrite(Start, HIGH);
delay(1000);
digitalWrite(Start, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x12:
if(digitalRead(2)==LOW && digitalRead(4)==HIGH
&& stopflag=false)
{
digitalWrite(Stopi, HIGH);
delay(1000);
digitalWrite(Stopi, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x14:
if (stopflag=false)
digitalWrite(Opening, HIGH);
delay(1000);
digitalWrite(Opening, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
case 0x13:
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
}
}
}
}
возник вопрос по поводу библиотеки короче я копирую архив открываю его в новую папку потом содержимое копирую в папку
с программой на ардуино в папку libraries (которую я предворительно создал) в папке hardware вот но вот эти 3 строчки все равно остаются черными
#include <MsTimer2.h>
MsTimer2::set(500, flash);
MsTimer2::start();
а должны быть первая оранжевой а вторая и третья синими если все хорошо, что я сделал не так???