Re: Запуск автомобиля с голоса
Короче появилась идея как запускать двигатель без слова триггера не в ущерб безопасности:D нужно просто поменять алгоритм так вот как только я снимаю с сигнализации и подается питание на ардуино нужно что бы она сразу выключала звук на магнитофоне поймет это по лампочке зарядки (она в этот момент горит) опять нажимаем педаль тормоза и можно сразу же пускать двигатель как только он завелся лампочка зарядки потухла можно включать магнитолу и так же в обратном порядке вдруг машина заглохнет на перекрестке лампочка зарядки загорелась звук автоматически выключился все нажали тормоз пускаем двигатель. Время с момента как сел водитель в автомобиль до пуска двигателя сокращается и становится более удобно:p еще загорелся идеей сделать сенсорные ручки :cool:
идея
https://www.youtube.com/watch?featur...&v=qrXS9Lnolaw
Re: Запуск автомобиля с голоса
Re: Запуск автомобиля с голоса
реализация
https://www.youtube.com/watch?v=y7oeYCI4MF0
снаружи пока не задумывался а вот изнутри вариант и привязать все это к датчику скорости что бы на ходу не открывались)))
коментируем:rolleyes:
Re: Запуск автомобиля с голоса
А если машина будет в грязи?
Re: Запуск автомобиля с голоса
так я про внутреннее пространство как в порше:)
Re: Запуск автомобиля с голоса
я связывался с хозяином первого видео он все это реализует на простых чипах attiny13 но на мой вопрос можно ли все это привязать к датчику скорости он ответил что нет вот и решил реализовать это на ардуинке))))
Re: Запуск автомобиля с голоса
Чип парился с кодом после добавления в код строчек
PHP код:
void loop() // run over and over again
{
if(digitalRead(4)==LOW)
{
flag=true;
digitalWrite(Mute, HIGH);
}
только есть один ниуанс
я хотел что бы после запуска магнитола автоматически включалась и все начинало работать в штатном режиме т. е. через тишину и так далее
если я добавляю еще несколько строк
PHP код:
void loop() // run over and over again
{
if(digitalRead(4)==LOW)
{
flag=true;
digitalWrite(Mute, HIGH);
}
if(digitalRead(4)==HIGH)
{
flag=false;
digitalWrite(Mute, LOW);
}
то будет работать автоматически но тогда пропадает вообще тишина :confused:
как мне сделать что бы моя идея заработала как надо????
вот весь скетч
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=true;
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(digitalRead(4)==LOW)
{
flag=true;
digitalWrite(Mute, HIGH);
}
if(digitalRead(4)==HIGH)
{
flag=false;
digitalWrite(Mute, LOW);
}
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(stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW
)
{
digitalWrite(Start, HIGH);
delay(100);
digitalWrite(Start, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x12:
if(stopflag && digitalRead(2)==LOW && digitalRead(4)==HIGH
)
{
digitalWrite(Stopi, HIGH);
delay(1000);
digitalWrite(Stopi, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x14:
if (stopflag)
{
digitalWrite(Opening, HIGH);
delay(700);
digitalWrite(Opening, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x13:
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
}
}
}
}
Re: Запуск автомобиля с голоса
сегодня методом проб и ошибок добился того алгоритма которого хотел а всего то надо было убрать две фигурные скобки:rolleyes:
вот скетч последней редакции
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=true;
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 (digitalRead(4)==LOW)
{
flag=true;
digitalWrite(Mute, HIGH);
if ( digitalRead(4)==HIGH )
flag=false;
digitalWrite(Mute, LOW);
}
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(stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW
)
{
digitalWrite(Start, HIGH);
delay(100);
digitalWrite(Start, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x12:
if(stopflag && digitalRead(2)==LOW && digitalRead(4)==HIGH
)
{
digitalWrite(Stopi, HIGH);
delay(1000);
digitalWrite(Stopi, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x14:
if (stopflag)
{
digitalWrite(Opening, HIGH);
delay(700);
digitalWrite(Opening, LOW);
flag=false;
digitalWrite(Mute, LOW);
com=0;
}
break;
case 0x13:
flag=false;
digitalWrite(Mute, LOW);
com=0;
break;
}
}
}
}
осталось найти время установить все обратно:o
Re: Запуск автомобиля с голоса
чип какой сенсор лучше подойдет для реализации сенсорных ручек?
Re: Запуск автомобиля с голоса
Сенсоры бывают разными, тебя какой больше интересует? Оптический, емкостной, тактильный или др.?