Ви не увійшли.
Да мои бока! )))))
Спасибо переписал код без delay в SerialEvent ВСЕ РАБОТАЕТ!!!!!!!!!!!
Попробую подогнать код ...
iakoff, скидуй "новую почту" вышлю ПИВО!!! Моя благодарность!
void serialEvent() прерывание?
а delay наверное где то ожидает прерывания от таймера? ))))
а так как ардуино не умеет выполнять прерывание в прерывании, то благополучно и отваливается usb
если так - то рабочая версия
Спасибо! Попробую убрать delay из serial через флаг в Loop().
Позже отпишусь!
P.S. iakoff - Ваш ответ "нов", моя благодарность, надеюсь сработает!
digitalWrite (12,LOW);
delay(200);//open rele
digitalWrite (12,HIGH);
чтобы инд. катушка сработала!
распиновка по реле правильная
какая маркировка на relay?
по хорошему datasheet покажите и номера контактов которые вы используете
delay(200) в сериал евенте ставить не нужно.
serialEvent должен выполнятся как можно быстрее, и сатвить там 200мс задержку нельзя.
Если нужно долго что то обрабатывать после serialEvent, то лучше в нем взвести флаг и потом в лупе по флагу обработать.
с лампочкой работает Ок (12в).
Как убрать перегрузку питания если источник и так уже внешний с запасом (12в 5А)
скорее всего у Вас что то очень сильно погружает питание, ищите "сопли" на плате
вместо реле поставьте лампочку, посмотрите что будет
а что вы вообще хотите сделать?
Почему плохо работает схема:
И зависает USB порт с Arduino когда использую с код:
(Я уже просто заеб.........)
int btnSost=LOW;
char send_mess;
byte flag;
void setup() {
pinMode(12, OUTPUT);
Serial.begin(9600);
Serial.setTimeout(250);
pinMode(2,INPUT);
digitalWrite(12, HIGH);
}
void loop() {
if (flag==0){
btnSost=digitalRead(2);
send_mess='0';
if (btnSost==HIGH){send_mess='1';}
}else{
Serial.println(send_mess);
flag=0;
}
delay(600);
}
void serialEvent(){
if (Serial.available()>0){
char sread=Serial.read();
switch (sread){
case '6': //openCash
send_mess='0';
if (btnSost==HIGH){send_mess='1';}
break;
case '7': //init;
send_mess='3';
break;
case '8': //open
if (btnSost==HIGH){
digitalWrite (12,LOW);
delay(200);//open rele
digitalWrite (12,HIGH);
//delay(300);
send_mess='9';
} else {send_mess='2';}
break;
}
flag=1;
}
}
ПОМОГИТЕ!!!!!!!!!!!!!!