Голосовой запуск двигателя TAXI 2

Это мой первый проект и самый легкий из задуманных воплотить в жизнь.
Управлять голосом можно почти любыми приборами, функциями в авто.
езжу с удаленным замком зажигания уже месяц. полет нормальный, ни одного сбоя. если угонщик захочет угнать то он не найдет замок и фишки к нему. естественно кодовые слова можно запрограммировать любые, на любом языке. единственный минус это если угонщик додумается сказать “ниньдзя” то авто заведется. тембр голоса не учитывается. а, и еще… всё как в фильме… если в пути кто-то скажет слово “япошка” то авто заглохнет прямо на ходу… этого можно конечно избежать включив в цепь ручник, если он отпущен то микрофон не будет работать…
т.к видео сюда не вставить то вот ссылка

https://youtu.be/DsOwS0InxRk?si=xf0vjUaf1YwXzrUn

Этот раздел не для рекламы себя любимого. Поэтому вам нужно выложить здесь код и принципиальную схему устройства. Иначе тема не жилец.

1 лайк

в данном проекте одного универсального кода не может быть. это зависит от очень многих нюансов т.к каждый глушит авто по разному; кто-то вытащив ключ, кто-то нажав на старт/стоп, у кого-то после этих действий двигатель продолжает работать т.к встаёт на автозапуск и зажигание поддерживается сигнализацией. код зависит от модели авто, комплектации, типа сигнализации. Необходимо обойти сигнализацию, симитировать действия человека итд… поэтому код будет индивидуальным . но я выложу код который конкретно под моё авто, может кому-то это будет полезным. схему сделаю чуть позже т.к никогда этого не делал и опыта в рисовании нет.

/**


#include <SoftwareSerial.h>
#include “VoiceRecognitionV7.h”

uint8_t records[7]; // save record
uint8_t buf[64];

int led = 13;

#define onRecord (0)
#define offRecord (1)

/**
@brief Print signature, if the character is invisible,
print hexible value instead.
@param buf → command length
len → number of parameters
*/
void printSignature(uint8_t *buf, int len)
{
int i;
for(i=0; i<len; i++){
if(buf[i]>0x19 && buf[i]<0x7F){
Serial.write(buf[i]);
}
else{
Serial.print(“[”);
Serial.print(buf[i], HEX);
Serial.print(“]”);
}
}
}

/**
@brief Print signature, if the character is invisible,
print hexible value instead.
@param buf → VR module return value when voice is recognized.
buf[0] → Group mode(FF: None Group, 0x8n: User, 0x0n:System
buf[1] → number of record which is recognized.
buf[2] → Recognizer index(position) value of the recognized record.
buf[3] → Signature length
buf[4]~buf[n] → Signature
*/
void printVR(uint8_t *buf)
{
Serial.println(“VR Index\tGroup\tRecordNum\tSignature”);

Serial.print(buf[2], DEC);
Serial.print(“\t\t”);

if(buf[0] == 0xFF){
Serial.print(“NONE”);
}
else if(buf[0]&0x80){
Serial.print("UG ");
Serial.print(buf[0]&(~0x80), DEC);
}
else{
Serial.print(“SG “);
Serial.print(buf[0], DEC);
}
Serial.print(”\t”);

Serial.print(buf[1], DEC);
Serial.print(“\t\t”);
if(buf[3]>0){
printSignature(buf+4, buf[3]);
}
else{
Serial.print(“NONE”);
}
Serial.println(“\r\n”);
}

void setup()
{
/** initialize */
myVR.begin(9600);

Serial.begin(115200);
Serial.println(“Ele V3 Module\r\nControl LED sample”);

pinMode(12, OUTPUT);
pinMode(10, OUTPUT);

if(myVR.clear() == 0){
Serial.println(“Recognizer cleared.”);
}else{
Serial.println(“Not find VoiceRecognitionModule.”);
Serial.println(“Please check connection and restart Arduino.”);
while(1);
}

if(myVR.load((uint8_t)onRecord) >= 0){
Serial.println(“onRecord loaded”);
}

if(myVR.load((uint8_t)offRecord) >= 0){
Serial.println(“offRecord loaded”);
}
}

void loop()
{
int ret;
ret = myVR.recognize(buf, 50);
if(ret>0){
switch(buf[1]){
case onRecord:
/** turn on LED /
digitalWrite(12, HIGH);
digitalWrite(10, HIGH);//𠧮쪭󫠪墨ꍊ break;
case offRecord:
/
* turn off LED*/
digitalWrite(12, LOW);
delay(50);
digitalWrite(10, LOW); //񮬪� ꮭ��ꍊ delay(1500);
digitalWrite(10, HIGH); //𠧮쪭󫠪墨ꍊ break;
default:
Serial.println(“Record function undefined”);
break;
}
/** voice recognized */
printVR(buf);
}
}

Если это не ваш проект, то за каким лешим вы его сюда притащили?

каким образом вы решили, что это не мой проект? он у меня на руках дома, выложен на авито

С ваших слов. Я их процитировал.

Т.е. вы повторили чужой проект и выложили его на продажу. Значит эта тема - просто реклама. Ну и зачем она здесь?

ЗЫ: особенно умиляют соединения на дюпонах в готовом устройстве, которое работает в автомобиле, и от которого зависит безопасность :joy:

3 лайка

полностью согласен. на этапе постоянных перепрошивок, снятия/установки мне нужны были быстросъёмные соединения, в планах хотел все соединения пропаять. но и ни одного сбоя не происходит по сей день

Первый же сбой может стать последним. И ладно, если только для вас, но кроме вас на дороге и другие люди есть

1 лайк

еще один проект в котором соосность отверстий проверяют пальцем

1 лайк

а найух там две ардуинки то? для надежности?

Конструктивная особенность

Он ошибочно предположил, что вот этот комментарий Вы не сами написали.

Но мы то с Вам знаем, что он не прав, проект Ваш и комментарий тоже Ваш, правда?

3 лайка

видимо ТС японец однако

ну найдите по совпадению кода в интернете ))) хоть в самой японии.
я код скопировал с ноута и отправил себе на смарт, вставил сюда, возможно при этих манипуляциях кодировка и поменялась. кто найдет такой же проект на планете я лично подарю свой нашедшему

Ну что, спалился? А как же импортозамещение?

Оно нам надо?

Или Вы готовы заказать поиск и оплатить работу?

1 лайк

а мне оно надо оправдываться как буд-то я у кого-то скопировал??? при том, что даже не удосужились посмотреть видео, дойти до 98ой строки кода и посмотреть какой комент я там записал на русском языке… беспочвенно обвинять много ума не надо. влом же скопировать эти японские слова и вставить в переводчик и понять,что обвинения в мой адрес являются ошибочными.
вместо того, чтоб поинтересоваться подробностями кому интересно…

странный получается японец, одно слово якобы на японском, а следующее слово на англ. как-будто он не может определиться “на каком же языке закоментить…”