Röststyrd trådlös launch control för duvskjutning.

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Eppom
Inlägg: 1
Blev medlem: 19 augusti 2014, 09:49:48

Re: Röststyrd trådlös launch control för duvskjutning.

Inlägg av Eppom »

En vän byggde vidare på denna från elfa https://www.elfa.se/elfa3~se_sv/elfa/in ... &toc=20551. Ska höra mig för om han kan förklara lite mer ingående om intresset fortfarande kvarstår.
som jag förstår så är Voxen även volymkänslig/inställnings bar.
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Re: Röststyrd trådlös launch control för duvskjutning.

Inlägg av Micke_71 »

Eller så köper man en sådan här av någon variant o moddar. http://www.elnu.se/index.php?lista=17&a ... materiel=1

En tanke som borde kunna fungera. Någon wifi modul o sen nyttja telefonen som sändare. Blåtanden har väl lite för dålig räckvidd antar jag.

Typ http://www.tinyosshop.com/index.php?rou ... th=141_143

Eller den här http://www.tinyosshop.com/index.php?rou ... uct_id=657 Bara att göra en app för röstigenkänning och röstkommando i telefonen så slipper man falsk triggning av kastaren. Vi som skjuter halvautomat känner igen det.;-)

Och så en sista tanke jag har haft kring det här.

Har några stycken gamla Motorola GP300 på uhf bandet. Har för mig att de går o progga med VOX. Borde kunna ha de som sändare. Men risk för falsk triggning.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5973
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Röststyrd trådlös launch control för duvskjutning.

Inlägg av orvar-e »

Beställde lite pryttlar igår.
Radiodelen....
Ljuddetektor

Samma grejer som du Micke länkade till men utan dosan, och billigare.
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5973
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Röststyrd trådlös launch control för duvskjutning.

Inlägg av orvar-e »

Så där ja, nu har allt kommit hem från Kina. Dags att försöka få ihop nått användbart av det. :)
Det finns ju lite kod på försäljaren sida så det ska nog gå fort att testa lite iaf.

Kod: Markera allt

//Author: cantone-electonics
//Arduino 1.0
//Arduino uno R3
//Making a wireless remote control with arduino
const int data_out = 2;//encoder DOUT
 //LED pin,When receiving the key from the serial port, LED flash
const int ledPin =  13;    //LED pin
// OSC Resistance is 3.3M
const int Osc_4xCycle = 359; //4 oscillating time periods
const int Osc_12xCycle = 1078;//12 oscillating time periods
unsigned long Temporary[3];//Temporary storage unit
  
...
 
//send:8 Address Bits, 4 Data Bits, Sync bit
void send_data()
 
void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT); 
   // initialize the encoder DOUT pin as an output
  pinMode(data_out, OUTPUT);
 
  Serial.begin(9600);
}
void loop()
{
  ...
  
  while(1)
  {
    //get key from pc serial port
    while (Serial.available() > 0) 
    {
        keydata = Serial.read();
        receive_flag = 1;
        delay(2);
    }
   
    if(receive_flag == 1)//if get key,send key
    {
     
    receive_flag = 0;
   
    if((keydata == 'a') || (keydata == 'A'))//trigger A channel relay.
    {
      Temporary[2] = 0xC0;// 0xC0 is A button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
       Serial.println(".....trigger A channel relay.....");
    }
    else if((keydata == 'b') || (keydata == 'B'))//trigger B channel relay.
    {
      Temporary[2] = 0x30;// 0x30 is B button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
      Serial.println(".....trigger B channel relay.....");
    }
     else if((keydata == 'c') || (keydata == 'C'))//trigger C channel relay.
     {
      Temporary[2] = 0x0C;// 0x0C is C button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
      Serial.println(".....trigger C channel relay.....");
     
     }
     else if((keydata == 'd') || (keydata == 'D'))//trigger D channel relay.
     {
      Temporary[2] = 0x03;// 0x03 is D button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
      Serial.println(".....trigger D channel relay.....");
     }
    
    ...
  
  }
}
Användarvisningsbild
orvar-e
EF Sponsor
Inlägg: 5973
Blev medlem: 9 mars 2007, 09:01:32
Ort: Borlänge

Re: Röststyrd trådlös launch control för duvskjutning.

Inlägg av orvar-e »

Här är hela koden man får om man frågar efter den hos säljaren.

Kod: Markera allt

//Author: cantone-electonics
//More information welcome to : http://www.canton-electronics.com 
//Arduino 1.0
//Arduino uno R3
//Making a wireless remote control with arduino

//const int data_out = 2;//encoder DOUT

 //LED pin,When receiving the key from the serial port, LED flash
const int ledPin =  13;    //LED pin

const int gnd_pin =  9;    //AS GND 
const int data_out =  10;    //encoder DOUT
const int vcc_pin=  11;    //AS VCC


// OSC Resistance is 3.3M
const int Osc_4xCycle = 359; //4 oscillating time periods 
const int Osc_12xCycle = 1078;//12 oscillating time periods

unsigned long Temporary[3];//Temporary storage unit


//output bit "0"
void bit_0() {
  
  digitalWrite(data_out, HIGH);
  delayMicroseconds(Osc_4xCycle);//4 oscillating time periods High level
  digitalWrite(data_out, LOW);
  delayMicroseconds(Osc_12xCycle);//12 oscillating time periods Low level
  digitalWrite(data_out, HIGH);
  delayMicroseconds(Osc_4xCycle);//4 oscillating time periods High level
  digitalWrite(data_out, LOW);
  delayMicroseconds(Osc_12xCycle);//12 oscillating time periods Low level
  
}

//output bit "1"
void bit_1() {
  
  digitalWrite(data_out, HIGH);
  delayMicroseconds(Osc_12xCycle);//12 oscillating time periods High level
  digitalWrite(data_out, LOW);
  delayMicroseconds(Osc_4xCycle);//4 oscillating time periods Low level
  digitalWrite(data_out, HIGH);
  delayMicroseconds(Osc_12xCycle);//12 oscillating time periods High level
  digitalWrite(data_out, LOW);
  delayMicroseconds(Osc_4xCycle);//4 oscillating time periods Low level
  
}

//output bit "f"
void bit_f() {
  
  digitalWrite(data_out, HIGH);
  delayMicroseconds(Osc_4xCycle);//4 oscillating time periods High level
  digitalWrite(data_out, LOW);
  delayMicroseconds(Osc_12xCycle);//12 oscillating time periods Low level
  digitalWrite(data_out, HIGH);
  delayMicroseconds(Osc_12xCycle);//12 oscillating time periods High level
  digitalWrite(data_out, LOW);
  delayMicroseconds(Osc_4xCycle);//4 oscillating time periods Low level
  
}

//output synchronous bit
void bit_syn() {
  
  digitalWrite(data_out, HIGH);
  delayMicroseconds(Osc_4xCycle);//4 oscillating time periods High level
  digitalWrite(data_out, LOW);
  delayMicroseconds(Osc_4xCycle*31);//124 oscillating time periods Low level

}

//send:8 Address Bits, 4 Data Bits, Sync bit
void send_data(){
  unsigned char temp,tab,i;
  unsigned char j,k;
  for(j=0;j<4;j++)
  {
    for(k=0;k<3;k++)//send 8 Address Bits, 4 Data Bits
    {
      tab = Temporary[k];
    
      for(i=0;i<4;i++)
      {
        temp = tab;
        temp &= 0xC0;
      
        if(temp == 0xC0)//11 is bit "1"
        {
          bit_1();
        }
        else if(temp == 0x00)//00 is bit "0"
        {
          bit_0();
        }
        else //01 is bit "f"
        {
          bit_f();
         }
      
        tab =  tab << 2;
    }
  }
  
   bit_syn();//send Sync bit
  
  }
}
  

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);  
   // initialize the encoder DOUT pin as an output
  pinMode(data_out, OUTPUT); 
  
  pinMode(gnd_pin, OUTPUT); 
  pinMode(vcc_pin, OUTPUT); 
  
  digitalWrite(vcc_pin, HIGH);//SET VCC
  digitalWrite(gnd_pin, LOW);//SET GND
  
  
  Serial.begin(9600);

}

void loop()
{
  int keydata = 0;
  int receive_flag = 0;
  
  Temporary[0] = 0xC5;//address A7-A4
  Temporary[1] = 0x55;//address A3-A0
  digitalWrite(ledPin, LOW);//Turn off led

  
  while(1)
  {
    //get key from pc serial port
    while (Serial.available() > 0)  
    {
        keydata = Serial.read();
        receive_flag = 1;
        delay(2);
    }
    
    if(receive_flag == 1)//if get key,send key
    {
      
    receive_flag = 0;
    
    if((keydata == 'a') || (keydata == 'A'))//trigger A channel relay.
    {
      Temporary[2] = 0xC0;// 0xC0 is A button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
       Serial.println(".....trigger A channel relay.....");
    }
    else if((keydata == 'b') || (keydata == 'B'))//trigger B channel relay.
    {
      Temporary[2] = 0x30;// 0x30 is B button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
      Serial.println(".....trigger B channel relay.....");
    }
     else if((keydata == 'c') || (keydata == 'C'))//trigger C channel relay.
     {
      Temporary[2] = 0x0C;// 0x0C is C button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
      Serial.println(".....trigger C channel relay.....");
      
     }
     else if((keydata == 'd') || (keydata == 'D'))//trigger D channel relay.
     {
      Temporary[2] = 0x03;// 0x03 is D button key
      digitalWrite(ledPin, HIGH);//Turn on led
      send_data();//send code word
      Serial.println(".....trigger D channel relay.....");
     }
     
    keydata = 0;
    
    //When receiving the key from the serial port, LED flash
    digitalWrite(ledPin, LOW);//Turn off led
    delay(50);//delay 100ms
    digitalWrite(ledPin, HIGH);//Turn on led
    delay(50);//delay 100ms
    digitalWrite(ledPin, LOW);//Turn off led
    delay(50);//delay 100ms
    digitalWrite(ledPin, HIGH);//Turn on led
    delay(50);//delay 100ms
    digitalWrite(ledPin, LOW);//Turn off led
    
    }
   
  }
}
     
Skriv svar