- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 25

Thema: ein Bluetoothproblem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    18.03.2013
    Beiträge
    242
    zur Probe nur GND und 5 Volt

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    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

  3. #3
    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
      } 
    }

Berechtigungen

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

Labornetzteil AliExpress