• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino bitvoicer irremote
#1
Witam
mam problem z arduino a dokładnie z programem. uzywam biblioteki bitvoicer i irremote. niestety gdy chcę przez komende głosową włączyć wysyłanie kodów przez ir to dioda (ir) mryga powoli tak jak by w każdy impuls był osobno. lecz gdy ten sam kod wyśle na arduino tylko z biblioteką irremote wszystko jest ok. próbowałem zmienić seral begin oraz timer w bibliotece irremote niestety nie przyniosło to rezultatu. również próbowałem wrzucać funkcje do loop efekt też ten sam
mam wrażenie że coś spowalnia biblioteke irremote. Jest w stanie ktoś pomóc? Korzystam z mikrofonu w kompie.

Kod:
#include <IRremote.h>
#include <IRremoteInt.h>


IRsend irsend;

#include <BitVoicer11.h>
//właczanie bita
BitVoicerSerial bvSerial = BitVoicerSerial();
byte dataType = 4;
int OutPutPins[] = {10,12,11,8};
int pinCount = 4;
int wl = 0 ;
void setup() {
 Serial.begin(115200);
 for(int activePin =0; activePin <pinCount; activePin++){
   pinMode(OutPutPins[activePin],OUTPUT);
 }  
  pinMode(7, OUTPUT);
  pinMode(9, OUTPUT);
  digitalWrite(7,HIGH);// put your setup code here, to run once:
pinMode(5,INPUT_PULLUP);

}


void loop() {
 //przekaxnik światło
 
if (bvSerial.strData == "glo")
for (int i = 0; i < 3; i++){
irsend.sendNEC(0x5EA158A7,32);
}
}
void serialEvent()
{
 

dataType = bvSerial.getData();

//Changes the value of sampleTest if the received data was
//the start/stop sampling command
if (dataType == BV_COMMAND)


//Signals BitVoicer's Speech Recognition Engine to start
//listening to audio streams after the engineRunning status
//was received
if (dataType == BV_STATUS && bvSerial.engineRunning == true)
  bvSerial.startStopListening();


if (dataType == BV_INT)
{
 int pinNumber = bvSerial.intData;
digitalWrite(pinNumber, !digitalRead(pinNumber));
delay(50);
}
// tutaj wartości string czyli pisane
if(dataType == BV_STR)
{
 if (bvSerial.strData == "okej")
 digitalWrite(7,LOW);
 delay(500);
digitalWrite(7,HIGH);

if (bvSerial.strData == "klas")
digitalWrite(9,HIGH);
delay(1);

if (bvSerial.strData == "klass")
digitalWrite(9,LOW);

if (bvSerial.strData == "komplet")
 irsend.sendNEC(0x5EA100FE, 32);
 delay(400);
 digitalWrite(7,LOW);
 delay(500);
 digitalWrite(7,HIGH);
 irsend.sendNEC(0x20DF10EF, 32);
 
if (bvSerial.strData == "wiez")
 irsend.sendNEC(0x7E8154AB, 32);
 
if (bvSerial.strData == "tv")

 irsend.sendNEC(0x20DF10EF, 32);


if (bvSerial.strData == "klim");
 irsend.sendNEC(0x8F758A7, 32);
 
if (bvSerial.strData == "h1")
irsend.sendNEC(0x5EA1E21C,32);

if (bvSerial.strData == "h2")
irsend.sendNEC(0x5EA152AC, 32);

if (bvSerial.strData == "h3")
irsend.sendNEC(0x5EA1B24C,32);

if (bvSerial.strData == "h4")
irsend.sendNEC(0x5EA10AF4,32);

if (bvSerial.strData == "mut")
irsend.sendNEC(0x5EA138C7,32);

if (bvSerial.strData == "rad")
irsend.sendNEC(0x5EA1609,32);

if (bvSerial.strData == "en")
irsend.sendNEC(0x5EA1C03E,32);
if (bvSerial.strData == "pc")
irsend.sendNEC(0x5EA100FE,32);
if (bvSerial.strData == "opt")
irsend.sendNEC(0x5EA1D628,32);
delay(400);
irsend.sendNEC(0x5EA1B946,32);
delay(400);
irsend.sendNEC(0x5EA17B84,32);
delay(400);
irsend.sendNEC(0x5EA17986,32);
delay(400);
irsend.sendNEC(0x5EA155AA,32);
delay(400);
irsend.sendNEC(0x5EA155AA,32);

if (bvSerial.strData == "hd")
irsend.sendNEC(0x5EA1D628,32);
delay(400);
irsend.sendNEC(0x5EA1B946,32);
delay(400);
irsend.sendNEC(0x5EA17B84,32);
delay(400);
irsend.sendNEC(0x5EA1F906,32);
delay(400);
irsend.sendNEC(0x5EA17B84,32);
delay(400);
irsend.sendNEC(0x5EA17B84,32);
if (bvSerial.strData == "opc")
irsend.sendNEC(0x5EA1D628,32);
if (bvSerial.strData == "cof")
irsend.sendNEC(0x5EA155AA,32);
delay(200);
irsend.sendNEC(0x20DF14EB,32);
if (bvSerial.strData == "wyj")
irsend.sendNEC(0x20DFDA25,32);
if (bvSerial.strData == "set")
irsend.sendNEC(0x5EA121DE,32);
if (bvSerial.strData == "ok")
irsend.sendNEC(0x5EA17B84,32);
delay(100);
irsend.sendNEC(0x20DF22DD,32);
if (bvSerial.strData == "dir")
irsend.sendNEC(0x5EA1BB44,32);
if (bvSerial.strData == "pros")
irsend.sendNEC(0x5EA16A95,32);
if (bvSerial.strData == "cis")
irsend.sendNEC(0x5EA1D827,32);

if (bvSerial.strData == "dol")
irsend.sendNEC(0x5EA139C6,32);
delay(100);
irsend.sendNEC(0x20DF827D,32);
if (bvSerial.strData == "gora")
irsend.sendNEC(0x5EA1B946,32);
delay(100);
irsend.sendNEC(0x20DF02FD,32);
if (bvSerial.strData == "pr")
irsend.sendNEC(0x5EA17986,32);
delay(100);
irsend.sendNEC(0x20DF609F,32);
if (bvSerial.strData == "lew")
irsend.sendNEC(0x5EA1F906,32);
delay(100);
irsend.sendNEC(0x20DFE01F,32);
if (bvSerial.strData == "inp")
irsend.sendNEC(0x20DFD02F,32);
if (bvSerial.strData == "tel")
irsend.sendNEC(0x20DFD02F,32);
delay(100);
irsend.sendNEC(0x20DFD02F,32);
if (bvSerial.strData == "jeden")
irsend.sendNEC(0x20DFD02F,32);
delay(100);
irsend.sendNEC(0x20DF22DD,32);
if (bvSerial.strData == "dwujka")
irsend.sendNEC(0x20DF48B7,32);
delay(100);
irsend.sendNEC(0x20DF22DD,32);
if (bvSerial.strData == "trujka")
irsend.sendNEC(0x20DFC837,32);
delay(100);
irsend.sendNEC(0x20DF22DD,32);
if (bvSerial.strData == "polsat")
irsend.sendNEC(0x20DF28D7,32);
delay(100);
irsend.sendNEC(0x20DF22DD,32);
if (bvSerial.strData == "tvn")
irsend.sendNEC(0x20DFA85,32);
delay(100);
irsend.sendNEC(0x20DF22DD,32);
if (bvSerial.strData == "next")
irsend.sendNEC(0x20DF00FF,32);

if (bvSerial.strData == "prev")
irsend.sendNEC(0x20DF807F,32);

}

}
 
Odpowiedź
  


Skocz do:


Przeglądający: 2 gości