Go Down

Topic: RS485 Nick Gammon (Read 46121 times) previous topic - next topic

skorpi080

Ich versuche den Master und den Slave Sketch zu verstehen, da tuht sich aber nichts :D

Kann mir da einer auf die sprünge helfen?
Da ist beim Master was von 
// read potentiometer
  byte level = analogRead (0) / 4;

Ist es nun der A0, der A4 oder von A0 bis A4?
Ich denke eher das letztere.
Warum ist es beim Master und nicht bei dem Slave in dem Sketch?
Und was hat es mit der const byte LED_PIN = 13; zu tun?
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

volvodani

Es bezieht sich nur auf den AnalogEingang A0.
In eine Byte passt ja bekanntlich nur 0-255. Analogread gibt ein 10Bit Wert zurück (0-1024).
Hier wird einfach 1024/4 gibt halt den Wert 0-255 zurück. Es ist eine normale Division durch 4.
Die Ledpin 13 zeigt nur an ob die Message an den Slave gesendet wurde der den Wert Analog an einen Pin geschrieben hat und der Slave zurückmeldet.
Gruß
Der Dani
"Komm wir essen Opa!" - Satzzeichen retten Leben!

skorpi080

analogWrite (11, buf [2]);  // set light level

Ok, Pin11 nimmt dann den Wert 4 an, der aus A0 gelesen wurde.
Was soll dann passieren?
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

volvodani

Dann ist "das" Programm fertig und der Master wartet auf einen Wechsel des gelesenen Wertes.
Versuche das mal alles durchzuarbeiten und dann das ganze zu modifizieren das der Salve das rückwärts zum Master macht.
Gruß
Der Dani
"Komm wir essen Opa!" - Satzzeichen retten Leben!

skorpi080

Ohh man  :smiley-fat:

Hab erst mit ATtiny 84 und max485 probiert, habs aber mit verkabelung nicht hinbekommen, kein plan welcher Pin da genutzt werden muss. Oder ist es frei wählbar? Zumindest hats nicht funktioniert.

Hab nun 2 UNOs, Master hat das IO Shield und das andere das "fertige" RS485 Modul.
Die LED hab ich aber noch am ATtiny angeschlossen und mich gewundert warum es nicht leuchtet  :D

Also dieser Wert der von analogRead kommt ist ein PWM und kein HIGH oder LOW.
Deswegen war meine Frage, was wenn der Wert 4 ist und kein 0 oder 1.

playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

skorpi080

Kannst du mir noch dieses hier auf Deutsch übersetzen?
Vom Slave
Code: [Select]
 byte buf [20];
 
 byte received = recvMsg (fAvailable, fRead, buf, sizeof (buf) - 1);
 
 if (received)
   {
   if (buf [0] != 1)
     return;  // not my device
     
   if (buf [1] != 2)
     return;  // unknown command
   
   byte msg [] = {
      0,  // device 0 (master)
      3,  // turn light on command received
   };


Vom Master
Code: [Select]
 // read potentiometer
 byte level = analogRead (0) / 4;
 
 // no change? forget it
 if (level == old_level)
   return;
     
 // assemble message
 byte msg [] = {
    1,    // device 1
    2,    // turn light on
    level // to what level
 };


Besonders mehr Mühe bei dem hier geben :D
Code: [Select]
if (buf [0] != 1)

Wie und wo gib ich die Adresse vom vom Slave an?
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Serenifly

Die Adresse ist das erste Byte des msg Arrays

Der Slave überprüft dann ob die empfangene Adresse ungleich seiner eigenen Adresse ist, und wenn ja macht er nichts

skorpi080

Jetzt nochmal den ATtiny84 angeschmissen, der Master erkennt den aber nicht.

SoftwareSerial rs485 (10, 9);  // receive pin, transmit pin
const byte ENABLE_PIN = 8;

DI ist an PA1
DE7RE ist an PA2
RO ist an PA0

+5V und GND kommt vom Master

Hat der ATtiny84/85 überhaupt RX und TX?
Um in den Serial Monitor anzeigen zu können muss RX des USB-TTL mit D3,A3 des ATtiny85 verbunden werden.
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

skorpi080

Hab auch mit ATtiny85 getestet, egal welche PINs ich eingebe, der Master erkennt den Slave nicht.
Wenn ich aber als Slave ein Arduino UNO nehme, funktionierts.

Den ATtiny84 hab ich auch mit 16Mhz getestet.
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Eisebaer

hi,

ich nehme an, hier geht es um Dein haustechnik-projekt.
nachdem ich meines jetzt auch in angriff nehmen will, wollte ich einen artikel ins deutsche arduino-wiki stellen, kann es aber nicht mehr finden. ich bilde mir ein, das gab es mal, ich hab' sogar als test einen beitrag aufgemacht. jetzt isses weg oder ich bin zu blöd, es wiederzufinden. weiß jemand wo ....?

ich finde nur einen link in ein pmwiki, aber das ist ja nicht arduino/atmel-spezifisch.

gruß stefan

skorpi080

playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0


skorpi080

Vielleicht wenn du "unser" Wiki etwas beschreibst, würde ich es finden, fals ich drüber gestolpert bin.

Nein, die kann man nicht auf eine Platine löten, wie die anderen.
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Eisebaer

hi,

ich hab' angenommen, das kann man bei denen. aber ich glaube, Du hast recht.

ich hab' mir vor ein paar tagen fünf sets von diesen gekauft, sind aber zum schrauben, das halt ich für die bessere verbindung:
http://www.ebay.at/itm/400590573138?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

gehe in suchmodus...

die sind zwar ein wenig seltsam, aber:

http://www.ebay.at/itm/5-Pcs-4P-5mm-Pitch-Screwless-Terminal-Block-Connector-/330833749260?pt=AU_B_I_Electrical_Test_Equipment&hash=item4d073a650c

ingendwie bin ich mal über den playground in einem wiki innerhalb der arduino-domain gelandet, aber das scheint aufgelassen zu sein.

gruß stefan


skorpi080

Was für eine Platine willst du denn benutzen?
Die du bestellt hast und die anderen haben:
Pin Distance: 5mm/0.2''

Ich brauche 2,5mm wenn ich es richtig verstehe.
Sonst sehen die gut aus.

Hast du schon ein ATtiny und max485?
Kannst du zu dem Verbindungs Problem was beitragen?

Fals du den Thread noch nicht gelesen hast, bitteschön.
Er hat mehr Ahnung als er preisgibt :D
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Go Up