Pages: [1]   Go Down
Author Topic: RS485 Kommunikation  (Read 4705 times)
0 Members and 1 Guest are viewing this topic.
AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

So eine klein Projektvorstellung.
Ich werde meine Wohnung mit einem kleinen Hausbusystem ausstatten. Das Grundgerüst steht.
Ich habe eine Master Arduino Nano mit einem 5110 Display ausgerüstet und ein kleines Menu gebastelt.
Zudem habe ich noch zwei Slaves (im Moment schaltet sie nur ausgänge).
Am Ende wird ein Slave im Keller sein der unsere Wärmepumpe überwacht (5*Temperaturen über MAX127, und Laufzeit der Hz.) und den Zähler unserer Wohnung überwacht. Das alles wird dann in dann bei Anfrage des Masters zu dem gesendet.
Dann kommen in beide Fußbodenheizungsverteiler je ein Slave zum Ansteuern der einzelnen Räume.#
Die Slaves werden noch auf attiny84 portieren, da ich die Performance der ATMEGA328 auf den Slaves nicht brauche.
Für die Teste war auch je 20m Kabel zwischen den Slaves bzw Master und Slaves. Abschlußwiderstand 220Ohm je Seite
Hier mal eine kleines Vorabvideo.
Die RS 485 Lib ist von einem User hier aus dem Forum:
http://www.gammon.com.au/forum/?id=11428
Die Hardware:
2* Arduino nano V3
1*freeduino nano
3* SN75176 RS232=>RS485 Wandler
1*LCD Shield 5110 von nuelectronics



* P1040080.MOV (3110.49 KB - downloaded 92 times.)
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Codes:
Master:
Code:
#include <nokia_3310_lcd.h>
#include "WConstants.h"
#include <NewSoftSerial.h>
#include "RS485_protocol.h"

#define ENABLE_PIN 4      // Enable Pin (High= Senden aktiv LOW empsfanen aktiv

int RINT1,RINT2,RINT3,Wert=0;
boolean links,hoch,rechts,runter,cbut,clock,lastclock=false;
boolean L1,L2,L3=true;
boolean lrechts=false;
boolean Send=false;
unsigned long pm1;
unsigned long pm2;
byte ref1=100;
byte ref2=33;
byte State,page,line,ebene,ebeneold=0;
byte Adresse=1;
byte AdresseSlave=0;
byte sndbuffer [4];                              // Buffer für Daten max 20 Byte

void fWrite (const byte what)                // Handler für RS485 Lib
{
  rs485.print (what);  
}

int fAvailable ()
{
  return rs485.available ();  
}

int fRead ()
{
  return rs485.read ();  
}

Nokia_3310_lcd lcd=Nokia_3310_lcd();
NewSoftSerial rs485 (2, 3);  // Initalisierung SoftSerial für RS485  (receive pin, transmit pin)


void setup (){
  lcd.LCD_3310_init();  //Display Intialiseiern
  lcd.LCD_3310_clear();  // Display löschen
  // Serial.begin(9600);
  rs485.begin(9600);
  pinMode (ENABLE_PIN, OUTPUT);  // Pin als Ausgang setzten
}

byte msg[4];

void loop(){
  if (millis()-pm2 > ref2){
    pm2=millis();
    lcd.LCD_3310_clear();  // Display löschen
  }
  if (millis()-pm1 > ref1){
    pm1=millis();
    clock = !clock;
  }
  if (clock==true){
    key_in();
    key();
  }
  if(rechts==true&&lrechts==false){
   if (page==0)
    page=line+1;
  
    lrechts=true;
    line=0;
  }
  if (links==true){
    page=0;
  }
  switch (page){
  case 0:
    Menu();
    break;
  case 1:
    Seite1();
    break;
  case 2:
    Seite2();
    break;
  case 3:
    Seite3();
    break;  
  case 4:
    Seite4();
    break;  
  case 5:
    Seite5();
    break;
  case 6:
    Seite6();
    break;
  }

  if (line <=0){
    line=0;
  }
  if (line >=5){
    line=5;
  }

  if(Send==true){                              // Senden der Anforderung
    // Buffer für Daten max 20 Byte
    msg[0]=AdresseSlave;                      // Adresse vom Slave
    msg[1]=0xAA;                               // Anfoderung Daten Senden BIN 1010101=0xf
     digitalWrite(ENABLE_PIN,HIGH);            // Treiber Aktivieren
    sendMsg (fWrite, msg, sizeof msg);        // Daten Senden
    digitalWrite(ENABLE_PIN,LOW);             // Treiber deaktiviern Empfänger akvivieren
    Send=false;
  }
}

/* byte received = recvMsg (fAvailable, fRead, buf, sizeof (buf) - 1,50);
 if (received)
 {
 if (buf [0] != Adresse)        // Ist das meine Adresse
 return;  // not my device
 RINT1=(buf[1]<<8)|(buf[2]);    // Zusammensetzten des Empfangenen Bytes
 RINT2=(buf[3]<<8)|(buf[4]);
 RINT3=(buf[5]<<8)|(buf[6]);
 }
 */


void key(){
  if (State==1 && links==false){                    //links
    links=true;
    if (ebene>=1){
      ebene=ebene--;
    }  
  }
  if (State==3 && rechts==false){                    //rechts
    rechts=true;
    if (ebene<=1){
      ebene=ebene++;
    }
  }
  if (State==2 && hoch==false){                    // Hoch
    line=line--;
    hoch=true;
  }
  if (State==4 && runter==false){                    // Runter
    line=line++;
    runter=true;
  }
  if (State==5 && cbut==false){
    if (page==2){
      AdresseSlave=1;
      if (line==0){
        L1=!L1;
        msg[2]=12;  // Ausgang am Slave
        msg[3]=L1;  // Status des Ausgang
        Send=true;  
      }
      if (line==1){
        L2=!L2;
        msg[2]=11;   // Ausgang am Slave
        msg[3]=L2;   // Status des Ausgangs
        Send=true;  
      }
    }
    if (page==3){
      AdresseSlave=2;
      if (line==0){
        L3=!L3;  
        msg[2]=12;   // Ausgang am Slave
        msg[3]=L3;   // Status des Ausgangs
        Send=true;
      }
    }
    cbut=true;
  }
  if (State==0){
    links=false;
    hoch=false;
    rechts=false;
    runter=false;
    cbut=false;
    lrechts=false;
  }
}

void key_in(){
  Wert=analogRead(A0);
  if (Wert<20)
    State=1;                            //links                                                            //Links
  if (Wert<550 && Wert>475)
    State=2;                            //oben                             //Oben
  if (Wert<780 && Wert>650)
    State=3;                            //rechts                            //Rechts
  if (Wert<370 && Wert>300)
    State=4;                            //unten                          // Unten
  if (Wert>980)
    State=0;                            // nichts
  if (Wert<200 && Wert>100)
    State=5;                            // Gedrückt
}
Tab2:
Code:
void Menu(){
  lcd.LCD_3310_write_string(0,line,">",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,0,"Master",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,1,"Slave1",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,2,"Slave2",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,3,"Seite 4",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,4,"Seite 5",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,5,"Seite 6",MENU_NORMAL);
}


void Seite1(){
  lcd.LCD_3310_write_string(0,0,"RS485 Test",MENU_NORMAL);
  lcd.LCD_3310_write_string(0,1,"Master bin ",MENU_NORMAL);
  lcd.LCD_3310_write_string(0,2,"ICH ICH ICH",MENU_NORMAL);
}

void Seite2(){
  lcd.LCD_3310_write_string(0,line,">",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,0,"LED rt",MENU_NORMAL);
  if (L1==true)
    lcd.LCD_3310_write_string(50,0,"Ein",MENU_HIGHLIGHT);
  else
    lcd.LCD_3310_write_string(50,0,"Aus",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,1,"LED gn",MENU_NORMAL);
  if (L2==true)
    lcd.LCD_3310_write_string(50,1,"Ein",MENU_HIGHLIGHT);
  else
    lcd.LCD_3310_write_string(50,1,"Aus",MENU_NORMAL);  
  lcd.LCD_3310_write_string(6,5," Slave 1 ",MENU_NORMAL);
}

void Seite3(){
  lcd.LCD_3310_write_string(0,line,">",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,0,"LED rt",MENU_NORMAL);
  if (L3==true)
    lcd.LCD_3310_write_string(50,0,"Ein",MENU_HIGHLIGHT);
  else
    lcd.LCD_3310_write_string(50,0,"Aus",MENU_NORMAL);  

  lcd.LCD_3310_write_string(6,5," Slave 2 ",MENU_NORMAL);
}

« Last Edit: June 11, 2012, 04:38:26 am by volvodani » Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Und dann noch die Slaves 1+2.
Sind gleich bis auf die Adresse:
Code:
#include "WConstants.h"
#include "RS485_protocol.h"
#include <NewSoftSerial.h>

#define ENABLE_PIN  4
#define LED 13


NewSoftSerial rs485 (2, 3);  // receive pin, transmit pin

// callback routines

void fWrite (const byte what)
{
  rs485.print (what); 
}

int fAvailable ()
{
  return rs485.available (); 
}

int fRead ()
{
  return rs485.read (); 
}

void setup()
{
  rs485.begin (9600);
  pinMode (ENABLE_PIN, OUTPUT);  // driver output enable
  pinMode (LED, OUTPUT);  // built-in LED
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
}  // end of setup


void loop()
{
  byte buf [10];                              // Buffer für Daten max 10 Byte
  byte received = recvMsg (fAvailable, fRead, buf, sizeof (buf) - 1,50);
  if (received){
    if (buf [0] != 2)
      return;  // not my device
    digitalWrite(buf[2],buf[3]);
  }





Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

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

Hallo,

kann es sein das der Code nicht unter der Arduino 1.0.1 Software läuft?
Oder liegt es daran das ich die Tab2 anderes einfügen muss? Ich habe den Code am Ende des eigentlichen Master Codes angehängt.

Gruss MX738
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Das war unter der 0023 habe es mit 1.0 versucht bin dann auf der 0023 geblieben. Habe es jetzt aber für die 1.0.1 geändert (es gibt eine NewSoftSerial) die heisst jet Software Serial.
Hier der Code der 1.0.1 läuft denke auch das der unter 1.0 läuft da habe ich aber probleme mit I2C die bei der 1.0.1 behoben sind

Code:
#include <nokia_3310_lcd.h>
#include "Arduino.h"
#include <SoftwareSerial.h>
#include "RS485_protocol.h"

#define ENABLE_PIN 4      // Enable Pin (High= Senden aktiv LOW empsfanen aktiv

int RINT1,RINT2,RINT3,Wert=0;
boolean links,hoch,rechts,runter,cbut,clock,lastclock=false;
boolean L1,L2,L3,L4=false;
boolean lrechts=false;
boolean Anfrage,Send,bereit=false;
unsigned long pm1;
unsigned long pm2;
byte ref1=100;
byte ref2=33;
byte State,page,line,ebene,ebeneold=0;
byte Adresse=1;
byte AdresseSlave=0;
byte msg[4];
int WertSlave1=0;
int WertSlave2=0;



Nokia_3310_lcd lcd=Nokia_3310_lcd();
SoftwareSerial rs485 (2, 3);  // Initalisierung SoftSerial für RS485  (receive pin, transmit pin)

void fWrite (const byte what)
{
  rs485.write (what); 
}

int fAvailable ()
{
  return rs485.available (); 
}

int fRead ()
{
  return rs485.read (); 
}


void setup (){
  lcd.LCD_3310_init();  //Display Intialiseiern
  lcd.LCD_3310_clear();  // Display löschen
  rs485.begin(9600);
  pinMode (ENABLE_PIN, OUTPUT);  // Pin als Ausgang setzten
}


void loop(){
  if (bereit==true){
    byte buf [10];                              // Buffer für Daten max 20 Byte
    byte received = recvMsg (fAvailable, fRead, buf, sizeof (buf) - 1,25);
    if(received){        // Was empangen dann empfansbereitschaft aus
      bereit=false;
    } 
  }
  if (millis()-pm2 > ref2){
    pm2=millis();
    lcd.LCD_3310_clear();  // Display löschen
  }
  if (millis()-pm1 > ref1){
    pm1=millis();
    clock = !clock;
  }
  if (clock==true){
    key_in();
    key();
  }
  if(rechts==true&&lrechts==false){
    if (page==0)
      page=line+1;
    if (line==4){
      Anfrage=true;
      AdresseSlave=1;
    }
    if (line==5){
      Anfrage=true;
      AdresseSlave=2;
    }
    lrechts=true;
    line=0;
  }
  if (links==true){
    page=0;
  }
  switch (page){
  case 0:
    Menu();
    break;
  case 1:
    Seite1();
    break;
  case 2:
    Seite2();
    break;
  case 3:
    Seite3();
    break; 
  case 4:
    Seite4();
    break; 
  case 5:
    Seite5();
    break;
  case 6:
    Seite6();
    break;
  }

  if (line <=0){
    line=0;
  }
  if (line >=5){
    line=5;
  }

  if(Send==true){                              // Senden der Anforderung
    msg[0]=AdresseSlave;                      // Adresse vom Slave
    if(Anfrage=true){
      msg[1]=0xAA;                               // Anfoderung Daten Senden BIN 1010101=0xf
      bereit=true; 
    }
    else
      msg[1]=0x00;
    digitalWrite(ENABLE_PIN,HIGH);            // Treiber Aktivieren
    sendMsg (fWrite, msg, sizeof msg);        // Daten Senden
    digitalWrite(ENABLE_PIN,LOW);             // Treiber deaktiviern Empfänger akvivieren
    Send=false;
  }
}



void key(){
  if (State==1 && links==false){                    //links
    links=true;
    if (ebene>=1){
      ebene=ebene--;
    } 
  }
  if (State==3 && rechts==false){                    //rechts
    rechts=true;
    if (ebene<=1){
      ebene=ebene++;
    }
  }
  if (State==2 && hoch==false){                    // Hoch
    line=line--;
    hoch=true;
  }
  if (State==4 && runter==false){                    // Runter
    line=line++;
    runter=true;
  }
  if (State==5 && cbut==false){
    if (page==2){
      AdresseSlave=1;
      if (line==0){
        L1=!L1;
        msg[2]=12;  // Ausgang am Slave
        msg[3]=L1;  // Status des Ausgang
        Send=true; 
      }
      if (line==1){
        L2=!L2;
        msg[2]=11;   // Ausgang am Slave
        msg[3]=L2;   // Status des Ausgangs
        Send=true; 
      }
    }
    if (page==3){
      AdresseSlave=2;
      if (line==0){
        L3=!L3;   
        msg[2]=0;   // Ausgang am Slave
        msg[3]=L3;   // Status des Ausgangs
        Send=true;
      }
      if (line==1){
        L4=!L4;
        msg[2]=1;   // Ausgang am Slave
        msg[3]=L4;   // Status des Ausgangs
        Send=true; 
      } 
    }
    cbut=true;
  }
  if (State==0){
    links=false;
    hoch=false;
    rechts=false;
    runter=false;
    cbut=false;
    lrechts=false;
  }
}

void key_in(){
  Wert=analogRead(A0);
  if (Wert<20)
    State=1;                            //links                                                            //Links
  if (Wert<550 && Wert>475)
    State=2;                            //oben                             //Oben
  if (Wert<780 && Wert>650)
    State=3;                            //rechts                            //Rechts
  if (Wert<370 && Wert>300)
    State=4;                            //unten                          // Unten
  if (Wert>980)
    State=0;                            // nichts
  if (Wert<200 && Wert>100)
    State=5;                            // Gedrückt
}
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

und der tab 2 (Displayseiten)
Code:
void Menu(){
  lcd.LCD_3310_write_string(0,line,">",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,0,"Master",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,1,"MegaSlave",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,2,"Attiny",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,3,"Mega Istwert",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,4,"Tiny Istwert",MENU_NORMAL);
  //lcd.LCD_3310_write_string(6,5,"Seite 6",MENU_NORMAL);
}


void Seite1(){
  lcd.LCD_3310_write_string(0,0,"RS485 Test",MENU_NORMAL);
  lcd.LCD_3310_write_string(0,1,"Master bin ",MENU_NORMAL);
  lcd.LCD_3310_write_string(0,2,"ICH ICH ICH",MENU_NORMAL);
}

void Seite2(){
  lcd.LCD_3310_write_string(0,line,">",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,0,"LED rt",MENU_NORMAL);
  if (L1==true)
    lcd.LCD_3310_write_string(50,0,"Ein",MENU_HIGHLIGHT);
  else
    lcd.LCD_3310_write_string(50,0,"Aus",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,1,"LED gn",MENU_NORMAL);
  if (L2==true)
    lcd.LCD_3310_write_string(50,1,"Ein",MENU_HIGHLIGHT);
  else
    lcd.LCD_3310_write_string(50,1,"Aus",MENU_NORMAL); 
  lcd.LCD_3310_write_string(6,5," Mega 1 ",MENU_NORMAL);
}

void Seite3(){
  lcd.LCD_3310_write_string(0,line,">",MENU_NORMAL);
  lcd.LCD_3310_write_string(6,0,"LED rt",MENU_NORMAL);
  if (L3==true)
    lcd.LCD_3310_write_string(50,0,"Ein",MENU_HIGHLIGHT);
  else
    lcd.LCD_3310_write_string(50,0,"Aus",MENU_NORMAL);   
  lcd.LCD_3310_write_string(6,1,"LED rt",MENU_NORMAL);
  if (L4==true)
    lcd.LCD_3310_write_string(50,1,"Ein",MENU_HIGHLIGHT);
  else
    lcd.LCD_3310_write_string(50,1,"Aus",MENU_NORMAL);   

  lcd.LCD_3310_write_string(6,5," Attiny 2 ",MENU_NORMAL);
}

void Seite4(){
  char buf1[10];
  itoa(buf
  lcd.LCD_3310_write_string(0,0,"Mega Istwert",MENU_NORMAL);
  lcd.LCD_3310_write_string_big( 4, 1, buf1, MENU_NORMAL);
  lcd.LCD_3310_write_string(0,line,">",MENU_NORMAL);

}

void Seite5(){
  lcd.LCD_3310_write_string(0,0,"Tiny Istwert",MENU_NORMAL);
  lcd.LCD_3310_write_string(0,1,"fuenfte Seite",MENU_NORMAL);
}

void Seite6(){
  lcd.LCD_3310_write_string(0,0,"Das ist die",MENU_NORMAL);
  lcd.LCD_3310_write_string(0,1,"sechste Seite",MENU_NORMAL);
}
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hier kommt noch der Salve 1 (Arduino Nano V3) Ist einfach mit 2 LED bestückt

Code:
/*In Arduino 1.0.1*/

#include "Arduino.h"
#include "RS485_protocol.h"
#include <SoftwareSerial.h>

#define ENABLE_PIN  4
#define LED 13


SoftwareSerial rs485 (2, 3);  // receive pin, transmit pin

// callback routines

void fWrite (const byte what)
{
  rs485.write (what);  
}

int fAvailable ()
{
  return rs485.available ();  
}

int fRead ()
{
  return rs485.read ();  
}

void setup()
{
  rs485.begin (9600);
  pinMode (ENABLE_PIN, OUTPUT);  // driver output enable
  pinMode (LED, OUTPUT);  // built-in LED
  pinMode(2,INPUT);
  pinMode(3,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
}  // end of setup


void loop()
{
  byte buf [10];                              // Buffer für Daten max 20 Byte
  byte received = recvMsg (fAvailable, fRead, buf, sizeof (buf) - 1,50);
  if (received){
    if (buf [0] != 1)
     return;  // not my device
  
    digitalWrite(buf[2],buf[3]);
  }
}  // end of loop

Hier ist der Attiny84 mit dem SlaveProgramm
Der Cores sind von hier
http://hlt.media.mit.edu/?p=1695
Code:
/*
Achtung Sektch für den ATTINY84A als RS485 Node In 1.0.1
 */

#include <SoftwareSerial.h>
#include "Arduino.h"
#include "RS485_protocol.h"

#define ENABLE_PIN  8
#define LED1 0
#define LED2 1

boolean Anfrage=true;
int Wert=2612;          // Sendewert
byte HB1,LB1=0;
byte msg[4];
byte MasterAdr=0;

SoftwareSerial rs485 (10, 9);  // receive pin, transmit pin

// callback routines

void fWrite (const byte what)
{
  rs485.write (what);  
}

int fAvailable ()
{
  return rs485.available ();  
}

int fRead ()
{
  return rs485.read ();  
}

void setup()
{
  rs485.begin (9600);
  pinMode (ENABLE_PIN, OUTPUT);  // driver output enable
  pinMode (LED1,OUTPUT);  // built-in LED
  pinMode (LED2,OUTPUT);
}  // end of setup


void loop()
{
  byte buf [10];                              // Buffer für Daten max 20 Byte
  byte received = recvMsg (fAvailable, fRead, buf, sizeof (buf) - 1,50);
  if (received){
    if (buf [0] != 2)
      return;  // not my device
    if (buf[1]==0x00){
      digitalWrite(buf[2],buf[3]);
    }
    if (buf[1]==0xAA){
      Anfrage=true;
    }
  }
  if (Anfrage==true){
    HB1=highByte(Wert);
    LB1=lowByte(Wert);
    msg[0]=MasterAdr;
    msg[1]=HB1;
    msg[2]=LB1;
    digitalWrite(ENABLE_PIN,HIGH);            // Treiber Aktivieren
    sendMsg (fWrite, msg, sizeof msg);        // Daten Senden
    digitalWrite(ENABLE_PIN,LOW);             // Treiber deaktiviern Empfänger akvivieren
  }
}  // end of loop
« Last Edit: August 01, 2012, 07:29:49 am by volvodani » Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

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

Hallo Volvodani,

danke für den neuen Code. Bin erst jetzt dazu gekommen es zu testen.
Beim Überprüfen des Master Codes wird ein Fehler angezeigt:

Neue_Version1_0_1.cpp: In function »void Seite4()«:
Neue_Version1_0_1.cpp:282: Fehler: »buf« wurde in diesem Gültigkeitsbereich nicht definiert

Kannst mir da bitte weiter helfen? Danke.

Gruss MX738
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Da ist beim hinundher kopieren ein Fehler passiert. itoa Interger to Asci Conversation ein Fehler passiert. Kommentiere mal die Zeile aus mit // dann müsstes du es kompilieren können
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

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

Welche Nokia_3310 libaray hast Du benutzt?
Meine scheint noch für die IDE0023 zu sein, beim überprüfen bekomme ich jetzt x Fehler.
Geht los mit WConstants.h (das ist doch noch bei der IDE0023, oder) neu heisst die doch Arduino.h.
Musst die Nokia_3310 angepasst werden oder gibt es die passend für die IDE1.0.1?
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 15
Posts: 1069
I am 1 of 10 who understands binary
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich glaube ich habe schon mal ein paar Änderungen der Libary gemacht muss erst mal schauen. :-)
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

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

hab es raus gefunden.
In der n3310_lcd.c den #include "WConstants.h" Eintrag in #include "Arduino.h" geändert und läuft.
Danke.
Logged

Pages: [1]   Go Up
Jump to: