- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 25 von 25

Thema: ein Bluetoothproblem

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

    Powerstation Test
    hallo,

    hast Du versucht Dein text-sende-code:

    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);
       }
     }
    }
    in den code - der mit der ardroid app zusammenarbeitet - zu integrieren?
    gruß inka

  2. #22
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Dies Frage verstehe ich leider nicht.

    Meine Erfahrungen mit BT z.Z.

    HC06 funktioniert prima. HC05 wenn die Verbindung einmal steht i.O.. Bis es soweit ist, muss ich aber immer mehrer Anläufe nehmen. Manchmal hatte ich sogar den Eindruck, dass er defekt sei, weil die LED weder leuchtete noch blinkte. Dann gings aber plötzlich wieder.

    vG

    fredyxx

  3. #23
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    nunja, es ging mir darum, ob Du versucht hast aus diesem code:

    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;      
      
      } 
    }
    und dem code aus meinem letzten post eines zu machen, welches für analogWrite, digitalWrite und data mit der app ardroid funktioniert?
    Anders gefragt: Du wolltest doch damit Deinen Bagger steuern. Verwendest Du analg-, digital- oder das DATA- teil des codes und der app?
    gruß inka

  4. #24
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    Ich habe mit AppInventor eine eigene App gebaut, die auch prima klappt. Da übertrage ich nur Text.

    Klicke auf die Grafik für eine größere Ansicht

Name:	IMG_4802.JPG
Hits:	10
Größe:	30,2 KB
ID:	32372

    vG
    fredyxx

  5. #25
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    ok, empfängs du den text am arduino mit dem code aus post #20, oder mit etwas anderem?
    gruß inka

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad