- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 25

Thema: ein Bluetoothproblem

  1. #11
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    Anzeige

    Powerstation Test
    Zitat Zitat von fredyxx Beitrag anzeigen
    Und wie konfiguriert man so was um?
    ich mache es mit dem RP6 loader V1.5, den hast du wahrscheinlich nicht. Es geht aber auch mit arduino:

    https://www.google.de/webhp?sourceid...+konfigurieren
    gruß inka

  2. #12
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Hallo,

    ich habe nun ein BT HC06 Slave Modul mit 4 Anschlüssen (Rx,Tx,Gnd und Vcc) und ein BT HC05 Master/Slave Modul mit 6 Anschlüssen.
    Mit beiden funktioniert der Kontakt zu meinem Tablet.
    Kann mir jemand sagen, wann man bei dem HC05 die Anschlüsse State und EN benötigt?

  3. #13
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    state habe ich noch nie gebraucht, bei en-able 3.3V anlegen beim umprogrammieren mit AT- befehlen...

    - - - Aktualisiert - - -

    eine frage noch:
    wie hast due nas modul am arduino (uno? mega?) angeschlossen?
    gruß inka

  4. #14
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    zur Probe nur GND und 5 Volt

  5. #15
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    ich dachte eher an die verbindung über ardu-droid und die steuerung?

    hast du an deinem bagger nun einen uno, oder mega? damit hängt letztendlich zusammen ob du mit software.serial arbeiten musst, oder auf die beim mega vorhandenen RX1/TX1 zugreifen kannst...
    gruß inka

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Ich habe einen MEGA und gehe davon aus, dass ich ähnlich wie dieses Programm mit Rx/Tx auf das BT-Modul zugreifen kann. Habe damit aber noch keine Erfahrung!!

    Code:
    /*
     PROJECT: ArduDroid 
     PROGRAMMER: Hazim Bitar (techbitar at gmail dot com)
     DATE: Oct 31, 2013
     FILE: ardudroid.ino
     LICENSE: Public domain
    */
    
    #define START_CMD_CHAR '*'
    #define END_CMD_CHAR '#'
    #define DIV_CMD_CHAR '|'
    #define CMD_DIGITALWRITE 10
    #define CMD_ANALOGWRITE 11
    #define CMD_TEXT 12
    #define CMD_READ_ARDUDROID 13
    #define MAX_COMMAND 20  // max command number code. used for error checking.
    #define MIN_COMMAND 10  // minimum command number code. used for error checking. 
    #define IN_STRING_LENGHT 40
    #define MAX_ANALOGWRITE 255
    #define PIN_HIGH 3
    #define PIN_LOW 2
    
    String inText;
    
    void setup() {
      Serial.begin(9600);
      Serial.println("ArduDroid 0.12 Alpha by TechBitar (2013)");
      Serial.flush();
    }
    
    void loop()
    {
      Serial.flush();
      int ard_command = 0;
      int pin_num = 0;
      int pin_value = 0;
    
      char get_char = ' ';  //read serial
    
      // wait for incoming data
      if (Serial.available() < 1) return; // if serial empty, return to loop().
    
      // parse incoming command start flag 
      get_char = Serial.read();
      if (get_char != START_CMD_CHAR) return; // if no command start flag, return to loop().
    
      // parse incoming command type
      ard_command = Serial.parseInt(); // read the command
      
      // parse incoming pin# and value  
      pin_num = Serial.parseInt(); // read the pin
      pin_value = Serial.parseInt();  // read the value
    
      // 1) GET TEXT COMMAND FROM ARDUDROID
      if (ard_command == CMD_TEXT){   
        inText =""; //clears variable for new input   
        while (Serial.available())  {
          char c = Serial.read();  //gets one byte from serial buffer
          delay(5);
          if (c == END_CMD_CHAR) { // if we the complete string has been read
            // add your code here
            break;
          }              
          else {
            if (c !=  DIV_CMD_CHAR) {
              inText += c; 
              delay(5);
            }
          }
        }
      }
    
      // 2) GET digitalWrite DATA FROM ARDUDROID
      if (ard_command == CMD_DIGITALWRITE){  
        if (pin_value == PIN_LOW) pin_value = LOW;
        else if (pin_value == PIN_HIGH) pin_value = HIGH;
        else return; // error in pin value. return. 
        set_digitalwrite( pin_num,  pin_value);  // Uncomment this function if you wish to use 
        return;  // return from start of loop()
      }
    
      // 3) GET analogWrite DATA FROM ARDUDROID
      if (ard_command == CMD_ANALOGWRITE) {  
        analogWrite(  pin_num, pin_value ); 
        // add your code here
        return;  // Done. return to loop();
      }
    
      // 4) SEND DATA TO ARDUDROID
      if (ard_command == CMD_READ_ARDUDROID) { 
        // char send_to_android[] = "Place your text here." ;
        // Serial.println(send_to_android);   // Example: Sending text
        Serial.print(" Analog 0 = "); 
        Serial.println(analogRead(A0));  // Example: Read and send Analog pin value to Arduino
        return;  // Done. return to loop();
      }
    }
    
    // 2a) select the requested pin# for DigitalWrite action
    void set_digitalwrite(int pin_num, int pin_value)
    {
      switch (pin_num) {
      case 13:
        pinMode(13, OUTPUT);
        digitalWrite(13, pin_value);  
        // add your code here      
        break;
      case 12:
        pinMode(12, OUTPUT);
        digitalWrite(12, pin_value);   
        // add your code here       
        break;
      case 11:
        pinMode(11, OUTPUT);
        digitalWrite(11, pin_value);         
        // add your code here 
        break;
      case 10:
        pinMode(10, OUTPUT);
        digitalWrite(10, pin_value);         
        // add your code here 
        break;
      case 9:
        pinMode(9, OUTPUT);
        digitalWrite(9, pin_value);         
        // add your code here 
        break;
      case 8:
        pinMode(8, OUTPUT);
        digitalWrite(8, pin_value);         
        // add your code here 
        break;
      case 7:
        pinMode(7, OUTPUT);
        digitalWrite(7, pin_value);         
        // add your code here 
        break;
      case 6:
        pinMode(6, OUTPUT);
        digitalWrite(6, pin_value);         
        // add your code here 
        break;
      case 5:
        pinMode(5, OUTPUT);
        digitalWrite(5, pin_value); 
        // add your code here       
        break;
      case 4:
        pinMode(4, OUTPUT);
        digitalWrite(4, pin_value);         
        // add your code here 
        break;
      case 3:
        pinMode(3, OUTPUT);
        digitalWrite(3, pin_value);         
        // add your code here 
        break;
      case 2:
        pinMode(2, OUTPUT);
        digitalWrite(2, pin_value); 
        // add your code here       
        break;      
        // default: 
        // if nothing else matches, do the default
        // default is optional
      } 
    }

  7. #17
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    ich habe diese app installiert:

    https://play.google.com/store/apps/d...anurag.arduino

    und diesen code auf dem arduino:

    Code:
    /*
     PROJECT: Ardroid
     CODED BY: Anurag Goel
     PUBLIC Licence Free To Modify
    */
    
    
    #define START_CMD_CHAR '*'
    #define END_CMD_CHAR '#'
    #define DIV_CMD_CHAR '|'
    #define CMD_DIGITALWRITE 10
    #define CMD_ANALOGWRITE 11
    #define CMD_TEXT 12
    #define CMD_READ_ARDROID 13
    #define MAX_COMMAND 20  
    #define MIN_COMMAND 10  
    #define IN_STRING_LENGHT 40
    #define MAX_ANALOGWRITE 255
    #define PIN_HIGH 3
    #define PIN_LOW 2
    
    
    String inText;
    
    
    void setup() {
      Serial.begin(9600);
      Serial.println("Ardroid By : Anurag Goel");
      Serial.flush();
    }
    
    
    void loop()
    {
      Serial.flush();
      int ard_command = 0;
      int pin_num = 0;
      int pin_value = 0;
    
    
      char get_char = ' ';  //read serial
    
    
      // wait for incoming data
      if (Serial.available() < 1) return; // if serial empty, return to loop().
    
    
      // parse incoming command start flag 
      get_char = Serial.read();
      if (get_char != START_CMD_CHAR) return; // if no command start flag, return to loop().
    
    
      // parse incoming command type
      ard_command = Serial.parseInt(); // read the command
      // parse incoming pin# and value  
      pin_num = Serial.parseInt(); // read the pin
      pin_value = Serial.parseInt();  // read the value
      // 1) GET TEXT COMMAND FROM ARDROID
      if (ard_command == CMD_TEXT){   
        inText =""; //clears variable for new input   
        while (Serial.available())  {
       char c = Serial.read();
      
         //gets one byte from serial buffer
          delay(5);
          if (c == END_CMD_CHAR) { // if we the complete string has been read
            // add your code here
            Serial.println(inText);
            break;
          }              
          else {
            if (c !=  DIV_CMD_CHAR) {
              inText += c; 
              delay(5);
            }
          }
        }
      }
    
    
      // 2) GET digitalWrite DATA FROM ARDROID
      if (ard_command == CMD_DIGITALWRITE){  
        if (pin_value == PIN_LOW) pin_value = LOW;
        else if (pin_value == PIN_HIGH) pin_value = HIGH;
        else return; // error in pin value. return. 
        set_digitalwrite( pin_num,  pin_value);  
        return;  // return from start of loop()
      }
    
    
      // 3) GET analogWrite DATA FROM ARDROID
      if (ard_command == CMD_ANALOGWRITE) {  
        analogWrite(  pin_num, pin_value ); 
        // add your code here
        return;  // Done. return to loop();
      }
    
    
      // 4) SEND DATA TO ARDROID
      if (ard_command == CMD_READ_ARDROID) { 
        // char send_to_android[] = "Place your text here." ;
        // Serial.println(send_to_android);   // Example: Sending text
        Serial.print(" Analog 0 = "); 
        Serial.println(analogRead(A0));  // Example: Read and send Analog pin value to Arduino
        return;  // Done. return to loop();
      }
    }
    
    
    // 2a) select the requested pin# for DigitalWrite action
    void set_digitalwrite(int pin_num, int pin_value)
    {
      switch (pin_num) {
      case 13:
        pinMode(13, OUTPUT);
        digitalWrite(13, pin_value);  
        // add your code here      
        break;
      case 12:
        pinMode(12, OUTPUT);
        digitalWrite(12, pin_value);   
        // add your code here       
        break;
      case 11:
        pinMode(11, OUTPUT);
        digitalWrite(11, pin_value);         
        // add your code here 
        break;
      case 10:
        pinMode(10, OUTPUT);
        digitalWrite(10, pin_value);         
        // add your code here 
        break;
      case 9:
        pinMode(9, OUTPUT);
        digitalWrite(9, pin_value);         
        // add your code here 
        break;
      case 8:
        pinMode(8, OUTPUT);
        digitalWrite(8, pin_value);         
        // add your code here 
        break;
      case 7:
        pinMode(7, OUTPUT);
        digitalWrite(7, pin_value);         
        // add your code here 
        break;
      case 6:
        pinMode(6, OUTPUT);
        digitalWrite(6, pin_value);         
        // add your code here 
        break;
      case 5:
        pinMode(5, OUTPUT);
        digitalWrite(5, pin_value); 
        // add your code here       
        break;
      case 4:
        pinMode(4, OUTPUT);
        digitalWrite(4, pin_value);         
        // add your code here 
        break;
      case 3:
        pinMode(3, OUTPUT);
        digitalWrite(3, pin_value);         
        // add your code here 
        break;
      case 2:
        pinMode(2, OUTPUT);
        digitalWrite(2, pin_value); 
        // add your code here       
        break;      
      
      } 
    }
    funktioniertn für digital und analog, zumindest bei dioden
    gruß inka

  8. #18
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Hallo Inka,

    wenn mich nicht alles täuscht, sind die Arduino Codes identisch, aber die App ist mir neu!

  9. #19
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    bei der verwendung der ardudroid app kommt keine "richtige" bluetooth verbindung zustande, die LED am HC05 blinkt nur einmal in kurzen abständen, auch fehlt bei mir bei dieser app die möglichkeit die gepairten bluetooth module mit dem smartphone zu verbinden

    bei verwendung der ardroid app ist alles (was oben fehlt) vorhanden, blinken 2x kurz, anbinden von gepairten modulen...

    ich habe den ardroid code jetzt so angepasst, dass die verbindung zu HC05 über die TX1/RX1 schnittstelle läuft, das kabel zum code-laden auf den arduinio kann dann eingesteckt bleiben...

    der arduino sketch ist wirklich der gleiche...

    wie ist es mit der daten (text) übertragung bei dir? gehts?
    gruß inka

  10. #20
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Hallo,

    mit diesem kleinen Primitiv-Programm, mit dem die von BT kommenden Signale einfach nur auf dem Seriellen Monitor angezeigt werden, klappt bei mir nun folgendes mit einem UNO (ich habe den Eindruck alles!):

    Code:
    /*Dieser Code gehört zu dem Video auf Youtube
    
    https://www.youtube.com/watch?v=WbGwszuN6ww
    mit Verbindung über Rx und Tx  */
    
    int led = 13;
    void setup()
    {
      Serial.begin(9600);
     
      pinMode(led,OUTPUT);
      digitalWrite(led,LOW);
    }
    void loop()
    {
     if(Serial.available())
     {
       String value = Serial.readStringUntil('\n');
       Serial.println(value);
       if(value == "on")
       {
         digitalWrite(led,HIGH);
       }
       else if(value == "off")
       {
         digitalWrite(led,LOW);
       }
     
     }
    }
    Mit ArduDroid und dem HC06 kommen alle digitalen und analogen Signale an. Das ist das Ergebnis im SM:

    *10|02|3# für EIN
    *10|02|2# für AUS
    *10|03|3#
    *10|04|3#
    *10|05|3#
    *10|06|3#
    *10|07|3#
    *10|08|3#
    *10|09|3#
    *10|10|3#
    *10|11|3#
    *10|12|3#
    *10|13|3#
    *11|11|110#
    *11|10|112#
    *11|09|113#
    *11|06|110#
    *11|05|109#
    *11|04|112#
    *11|03|115#
    *12|99|99|TEST#

    Wenn ich TEXT eingebe und auf SEND DATA tippe, dann erscheint auf dem SM dies: *12|99|99|TEST# und das wird auch auf dem Tablet unter GET DATA wieder angezeigt.

    Ebenso ist es mit ArDroid mit den Digital- und Analogsignalen und das ist das Ergebnis:

    *10|1|3# digital
    *10|1|2#
    *10|2|3#
    *10|3|3#
    *10|4|3#
    *10|5|3#
    *10|6|3#
    *10|7|3#
    *10|8|3#
    *10|9|3#
    *10|10|3#
    *10|11|3#
    *10|12|3#
    *10|13|3#
    *10|14|3#
    *11|2|118# analog
    *11|3|122#
    *11|4|114#
    *11|5|118#
    *11|6|118#
    *11|7|120#
    *11|8|117#
    *11|9|126#
    *11|10|125#
    *11|11|130#
    *12|TEXT # Daten gesendet
    *12|TEXT #

    Wenn ich TEXT eingebe und auf den Sendpfeil tippe, dann erscheint auf dem SM dies: *12|TEXT# und auf dem Tablet hinter [SEND]: steht TEXT. Hier weiß ich aber nicht, ob es sich um eine echte Rückmeldung vom Arduino oder um eine Quittung vom Tablet handelt, dass gesendet wurde.

    Mit dem HC05 habe ich das so vollständig noch nicht probiert.

    bei der verwendung der ardudroid app kommt keine "richtige" bluetooth verbindung zustande, die LED am HC05 blinkt nur einmal in kurzen abständen, auch fehlt bei mir bei dieser app die möglichkeit die gepairten bluetooth module mit dem smartphone zu verbinden
    Versuch mal zuerst die BT Kopplung auf der Android-Ebene herzustellen und dann erst mit der App.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress