Pages: [1]   Go Down
Author Topic: Poti's und Servo's + XBEE Variablen senden und empfangen  (Read 548 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo

Ich bin neu hier und habe ein Problem .
Ich habe einen Arduino UNO einen Arduino MEGA 2 XBEE (Serie 1).
Und möchte mehrere Poti am Arduino MEGA anschließen und über das XBEE Modul zum Arduino UNO senden und mehrere Servo Steuern .
Also mit Poti 1 Servo 1
      mit Poti 2 Servo 2
      mit Poti 3 Servo 3
       usw...  Steuern !
Einen Servo steuern war ja kein Problem !
Aber mehrere kommen bei mir nur ?????
Wie sende ich das der andere weis das ,das der eine und das der andere ist ?
Wie sage ich den Empfänger das das der eine und das der andere ist ?

Mein Cod der mit einen Servo geht seiht so aus !
Sender:
Code:
int potPin = 0;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  int potVal = analogRead(potPin);
  byte servoVal = map(potVal,0,1023,0,179);
  
  Serial.write(servoVal);
  delay(100);
}
   
Empfänger :
Code:
#include <Servo.h>

Servo myservo;

void setup()
{
  Serial.begin(9600);
  myservo.attach(9);
}

void loop()
{
  if(Serial.available()>0)
  {
    byte servoAng=Serial.read();
    myservo.write(servoAng);
  }
}


M.f.G. Michael
« Last Edit: February 25, 2013, 02:29:31 pm by xmike » Logged

Offline Offline
God Member
*****
Karma: 4
Posts: 563
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

so wie Du 3 Analogeingänge abfragen mußt, mußt Du auch diese 3 angepaßten Variablen für sich übertragen und wieder ausgeben.



Logged

Tschau
Doc Arduino

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo

Aber wie mache ich das ?

 
Logged

Offline Offline
God Member
*****
Karma: 4
Posts: 563
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

sowas in der Art. Alle Potis abfragen und ausgeben. Okay, geht mit einer Funktion noch eleganter, aber das Grundschema stimmt und erstmal verständlicher zum verstehen was wie abläuft. Ich weis nur nicht wie die XBEE Übertragung funktioniert. Ob der Variablenname mit übertragen wird oder nicht. Ich glaube eher nicht. Bleibt ja eine serielle Übertragung nur mit anderer Methode. Dann müßte man beim Emfänger eine Empfangsschleife programmieren die 3 Werte aufnimmt und wieder in 3 Variablen schreibt. Und dann übergibt man die 3 Werte mit 3 myservo.write Aufrufen an den zugehörigen Servos aus.

Code:
int potPin_1 = 0;      // 1. Poti
int potPin_2 = 1;      // 2. Poti
int potPin_3 = 2;      // 3. Poti

void setup()
{
  Serial.begin(9600);       // RS232 einschalten und Baudrate 9600 festlegen
}

void loop()
{
  int potVal = analogRead(potPin_1);          // Abfrage 1. Poti
  byte servoVal_1 = map(potVal,0,1023,0,179); // Mapping und speicherung in 1. Variable

  int potVal = analogRead(potPin_2);          // Abfrage 2. Poti
  byte servoVal_2 = map(potVal,0,1023,0,179); // Mapping und speicherung in 2. Variable

  int potVal = analogRead(potPin_3);          // Abfrage 3. Poti
  byte servoVal_3 = map(potVal,0,1023,0,179); // Mapping und speicherung in 3. Variable
 
  Serial.write(servoVal_1);     // ÜBertragung der 1. Variable bzw. Servoposition
  Serial.write(servoVal_2);     // ÜBertragung der 2. Variable bzw. Servoposition
  Serial.write(servoVal_3);     // ÜBertragung der 3. Variable bzw. Servoposition
  delay(100);                 
}
Logged

Tschau
Doc Arduino

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo

Habe deinen Cod getestet !

Die  Variablenname hat er nicht gesendet !

Hat jemand eine Ahnung wie ich die  Variablen sende und empfange kann ?

M.f.g. Michael
« Last Edit: February 25, 2013, 02:30:13 pm by xmike » Logged

Offline Offline
God Member
*****
Karma: 4
Posts: 563
ATmega 2560
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

was ist denn passiert mit den Servo's? Wenn Du den Code im Empfänger so gelassen hast, müßte zumindestens ein Servo auf alle 3 Potis reagiert haben? Bzw. hat ein Servo nur gezuckt weil er so schnell nicht alle 3 Potistellungen anfahren kann so schnell wie der µC rechnet. Also nimm mal 2 Servoausgaben am Ende weg. Ein Tipp. Bau das erstmal mit nur einem µC auf, alle Potis und Servos an einen µC. Dann Code schreiben und testen. Danach wird erweitert auf XBEE Übertragung.
Logged

Tschau
Doc Arduino

Pages: [1]   Go Up
Jump to: