JY-MCU bluetooth module

Arduino specifieke Software
Berichten: 16
Geregistreerd: 17 Feb 2013, 22:59

JY-MCU bluetooth module

Berichtdoor Arjen » 17 Feb 2013, 23:52

Hallo,

Ik ben nieuw hier op dit forum en hoop hier veel te kunnen leren.
Ik heb een arduino uno Rev 3 en een JY-MCU bluetooth module.(http://dx.com/p/jy-mcu-arduino-bluetoot ... ule-104299)
Nu wil ik ten minste een ledje kunnen laten branden dmv de computer via bluetooth.
Ik heb de bluetooth module als volgt aangesloten op de arduino:

module - arduino
vcc - 5v
GND - GND
RX - TX
TX - RX

Ik gebruik de volgende code:
Code: Alles selecteren
/* Include the software serial port library */
#include <SoftwareSerial.h>

/* DIO used to communicate with the Bluetooth module's TXD pin */
#define BT_SERIAL_TX_DIO 0
/* DIO used to communicate with the Bluetooth module's RXD pin */
#define BT_SERIAL_RX_DIO 1

/* Initialise the software serial port */
SoftwareSerial BluetoothSerial(BT_SERIAL_TX_DIO, BT_SERIAL_RX_DIO);

#define lampje 13

void setup() 
{
  /* Set the baud rate for the hardware serial port */
  Serial.begin(9600);
  /* Set the baud rate for the software serial port */
  BluetoothSerial.begin(9600);

  pinMode(lampje, OUTPUT);
 }




/* Main loop that will pass any data to and from the Bluetooth mode to the
   host PC */
void loop()
{
  /* If data is available from the Bluetooth module then pass it on to the
     hardware serial port. */
  if (BluetoothSerial.available())
    Serial.write(BluetoothSerial.read());
 
   /* If data is available from the hardware serial port then pass it on
      to the Bluetooth module. */
  if (Serial.available())
    BluetoothSerial.write(Serial.read());
  int val = Serial.read() - '0';
     
      if(val == 1)
      {
        digitalWrite(lampje, HIGH);
       delay(1000);
      }
      if(val == 2)
      {
        digitalWrite(lampje, LOW);
        delay(1000);
      }
     
     
}


Als ik 1 verzend via de serial monitor moet het lampje dus aangaan en als in een 2 verzend moet deze uit gaan.

Nu het probleem waar ik al lang tegen aanloop:

Ik zie bluetooth module wel op mijn laptop(ingebouwde bluetooth). Ook heb ik eenmalig de code op moeten geven(1234).
Ik heb 4 com poorten staan in het lijstje van seriele poort in het arduino programma(versie 1.0.1. namelijk: 2,7,12 en 14. com 2 gebruik ik voor het programmeren van de arduino. com 7 en 12 weet ik niet. Ik denk dat ik com 14 nodig heb om te communiceren via bluetooth. com 5 en com 14 kwamen namelijk in beeld toen de laptop bezig was met de stuurprogramma's te installeren.
Als ik in de serial monitor een 1 of 2 wil verzenden gebeurt er niets en bij com 14 loopt het programma zelfs vast. Als baudrate in de serial monitor heb ik 9600 staan.
Ook blijft het lampje van de bluetooth module gewoon knipperen terwijl deze constant zou moeten branden als hij verbonden is.

Wie weet wat ik fout doe. Ligt het aan de code of zijn de instellingen van mijn laptop of bluetooth module niet goed?
Ik hoor het graag

Groeten,
Arjen
Arduino uno Rev3, JY-MCU bluetooth module, TB6612FNG Motor driver

Advertisement

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: JY-MCU bluetooth module

Berichtdoor pjh » 18 Feb 2013, 08:21

Je tx en rx moeten waarschijnlijk andersom.
Het is thx van transmit en ex van reveive.

Met tx-tx sluit je oor op oor en
Met rx-rx mond op mond.

Moet dus tx-rx
En ex - thx

Denk ik...

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: JY-MCU bluetooth module

Berichtdoor pjh » 18 Feb 2013, 08:22

Auto correct. Tx op Rx. En Rx op Tx.

Berichten: 16
Geregistreerd: 17 Feb 2013, 22:59

Re: JY-MCU bluetooth module

Berichtdoor Arjen » 18 Feb 2013, 23:32

Zo heb ik hem aangesloten. Het werkt helaas nog niet.
Wie weet wat het probleem kan zijn?
Arduino uno Rev3, JY-MCU bluetooth module, TB6612FNG Motor driver

Berichten: 4
Geregistreerd: 19 Feb 2013, 14:26

Re: JY-MCU bluetooth module

Berichtdoor duboiz » 19 Feb 2013, 14:57

Voor het eerst op dit forum en zag je post en moest wel reageren.

Ik heb laatst ook deze bluetooth module gebruikt voor een door middel van android bestuurde 4wd platform misschien heb je er iets aan
Er zitten aantal engelse termen in die ik van een voorbeeld heb overgenomen vond het voor mezelf een duidelijke omschrijving dus zo gehouden.

Misschien heb je er iets aan?

of kijk anders hier http://www.instructables.com/id/how-to-Control-arduino-by-bluetooth-from-PC-pock/#step1

Code: Alles selecteren
char dataIn = 'S';        //Character verstuurd via bluetooth standaard S voor stop
char determinant;         //Gebruikt in de check functie, slaat het ontvangen character op.
char det;                 //Gebruikt in de loop functie, slaat het ontvangen character op.
int snelheid = 0;         //snelheid verstuurd via bluetoot

void setup()
{       
 
  Serial.begin(9600);  //Start serieele communicatie met Bluetooth.
  pinMode(13, OUTPUT); //rijrichting rechts
  pinMode(12, OUTPUT); //rijrichting links
  pinMode(8, OUTPUT); //rem rechts
  pinMode(9, OUTPUT); //rem links
  pinMode(11 , OUTPUT); //snelheid rechts
  pinMode(3, OUTPUT); //snelheid links

}

void loop()
{
  det = check();
  while (det == 'F')   //als character F is beweeg vooruit
  {     
    digitalWrite(13, HIGH);
    digitalWrite(12, HIGH);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid);
    analogWrite(3,snelheid); 
    det = check();         
  } 
  while (det == 'B')   //als character B is beweeg achteruit
  {   
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid);
    analogWrite(3,snelheid); 
    det = check();   
  }

  while (det == 'L')   //als character L is beweeg links
  {     
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid);
    analogWrite(3,snelheid/8); 
    det = check();         
  } 
  while (det == 'R')   //als character R is beweeg Rechts
  {   
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid/8);
    analogWrite(3,snelheid); 
    det = check();           
  }

  while (det == 'I')   //als character I is beweeg Rechts vooruit
  {     
    digitalWrite(13, HIGH);
    digitalWrite(12, HIGH);         
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid/4);
    analogWrite(3,snelheid); 
    det = check();         
  } 
  while (det == 'J')   //als character J is beweeg Rechts achteruit
  {     
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);         
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid/4);
    analogWrite(3,snelheid); 
    det = check();             
  }         
  while (det == 'G')   //als character G is beweeg links vooruit
  {
    digitalWrite(13, HIGH);
    digitalWrite(12, HIGH);         
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid);
    analogWrite(3,snelheid/4); 
    det = check();           
  }   
  while (det == 'H')   //als character H is beweeg links achteruit
  {
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);         
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,snelheid);
    analogWrite(3,snelheid/4); 
    det = check();                                               
  }

  while (det == 'S')   //als character S is , stop
  {
    digitalWrite(9, LOW);
    digitalWrite(8, LOW);
    analogWrite(11,0);
    analogWrite(3,0);         
    det = check();
  }

}

int check()
{
  if (Serial.available() > 0)    //Check voor data
  {   
    dataIn = Serial.read();  //Ontvang character verstuurd via bluetooth en sla het op in 'dataIn'.
    if (dataIn == 'F')
    {     
      determinant = 'F';
    } 
    else if (dataIn == 'B')
    {
      determinant = 'B';
    }
    else if (dataIn == 'L') 
    {
      determinant = 'L';
    }
    else if (dataIn == 'R') 
    {
      determinant = 'R';
    }
    else if (dataIn == 'I') 
    {
      determinant = 'I';
    } 
    else if (dataIn == 'J') 
    { 
      determinant = 'J';
    }         
    else if (dataIn == 'G')
    {
      determinant = 'G';
    }   
    else if (dataIn == 'H') 
    {
      determinant = 'H';
    }   
    else if (dataIn == 'S')
    {
      determinant = 'S';
    }
    else if (dataIn == '0')
    {
      snelheid = 0;   
    }
    else if (dataIn == '1')
    {
      snelheid = 25;
    }
    else if (dataIn == '2')
    {
      snelheid = 50;
    }
    else if (dataIn == '3')
    {
      snelheid = 75;
    }
    else if (dataIn == '4')
    {
      snelheid = 100;
    }
    else if (dataIn == '5')
    {
      snelheid = 125;
    }
    else if (dataIn == '6')
    {
      snelheid = 150;
    }
    else if (dataIn == '7')
    {
      snelheid = 175;
    }
    else if (dataIn == '8')
    {
      snelheid = 200;
    }
    else if (dataIn == '9')
    {
      snelheid = 225;
    }
    else if (dataIn == 'q')
    {
      snelheid = 255;
    }
    else if (dataIn == 'U')
    {
      determinant = 'U';
    }
    else if (dataIn == 'u')
    {
      determinant = 'u';
    }
    else if (dataIn == 'W')
    {
      determinant = 'W';
    }

    else if (dataIn == 'w')
    {
      determinant = 'w';
    }
  }
  return determinant;
}

Berichten: 16
Geregistreerd: 17 Feb 2013, 22:59

Re: JY-MCU bluetooth module

Berichtdoor Arjen » 19 Feb 2013, 19:02

Hier heb ik zeker wat aan:)
Ik krijg de arduino helaas nog niet verbonden met de laptop.
Ik heb nog eens gekeken via welke poort ik moet communiceren.
ik heb het volgende gevonden
com 14: binnenkomend
com 5: uitgaand

com-poort 14 zie ik in het rijtje van de serial monitor staan, com-poort 5 niet. maar ik moet ik wel data verzenden via com 14?
als ik via com 5 moet communiceren hoe kan ik er dan voor zorgen dat ik die zie?
ook weet ik niet welke baudrate ik moet hebben. Nu gebruik ik elke keer 9600 in de serial monitor dit heb ik namelijk ook in code staan(zie eerste bericht).
ik hoor het graag
Arduino uno Rev3, JY-MCU bluetooth module, TB6612FNG Motor driver

Berichten: 4
Geregistreerd: 19 Feb 2013, 14:26

Re: JY-MCU bluetooth module

Berichtdoor duboiz » 20 Feb 2013, 14:29

Baudrate 9600 is de juiste
Zie hier http://www.ebay.com/itm/JY-MCU-HC-06-V1-03-Bluetooth-Transeiver-RF-Module-Wireless-Serial-4p-Port-line-/261053366958
Ik zal vanavond als ik er aan toekom jou opstelling namaken en testen of het werkt of niet

Berichten: 16
Geregistreerd: 17 Feb 2013, 22:59

Re: JY-MCU bluetooth module

Berichtdoor Arjen » 20 Feb 2013, 23:55

Heel fijn dat u zo actief meedenkt:)
ik zie de resultaten graag te gemoed.
Arduino uno Rev3, JY-MCU bluetooth module, TB6612FNG Motor driver

Berichten: 16
Geregistreerd: 17 Feb 2013, 22:59

Re: JY-MCU bluetooth module

Berichtdoor Arjen » 24 Feb 2013, 12:44

in afwachting van de resultaten van duboiz..
zijn er nog anderen die tips hebben?
Arduino uno Rev3, JY-MCU bluetooth module, TB6612FNG Motor driver

Berichten: 16
Geregistreerd: 17 Feb 2013, 22:59

Re: JY-MCU bluetooth module

Berichtdoor Arjen » 03 Mrt 2013, 14:31

jammer, dat er niet meer gereageerd wordt:s
ik vroeg me nog af of er misschien nog een programmaatje gedownload zodat de computer weet waar het bluetooth signaal heen moet.
Arduino uno Rev3, JY-MCU bluetooth module, TB6612FNG Motor driver

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 29 gasten