Show Posts
Pages: 1 [2] 3 4 ... 9
16  International / Deutsch / avr/pgmspace lib on: April 20, 2014, 11:41:33 am
Hallo zusammen

ich möchte ein
MultiWiiKopter-Konfigurations-LCD bauen ( das hier: http://www.rc-heli-fan.org/quadrocopter-co-f255/multiwiikopter-konfigurationsprogramm-fur-arduino-t80336.html )
Den Sketch habe ich nun mal geladen und ihn kompiliert.
Es gab einige Fehlermeldungen deren Ursache wahrscheinlich die fehlende Lib avr/pgmspace.h ist.
Bei meinen Recherchen im Netz hab ich nichts einleuchtendes gefunden.
Handelt es sich wirklich um eine Libary wie z.B. Time.h .
Mir ist aufgefallen dass wenn ich ein Bibliotek inportieren will , die Bibliothek Arduino Avr Boards auskomentiert ist. Ligt es vieleicht daran?
Meine ArduinoVersion ist 1.5.5 und ich arbeite auf einer Ubuntuversion.

Vielen Dank schon im Vorraus Rudi
17  International / Deutsch / Anschlussbelegung LCD 4X40 on: March 26, 2014, 05:27:05 pm
Hallo

mir ist ein LCD 4X40 zugelaufen.
Es hat zwei HD44780 Controller.
Nun möchte ich dieses an meinem Uno betreiben aber mir fehlt leider die Anschlussbelegung.
Es hat 16 Pins die Bezeichnung : BARTON K 08105.
Leider hat das Internet nichts informatives ausgespuckt.

Hat eventuell jemand die Anschlussbelegung?

Danke im Vorraus Rudi
18  International / Deutsch / Re: Frage wegen Dallas Senoren Auslesen on: March 23, 2014, 01:44:36 pm
Hallo ba1083

welchen Sketch benützt Du zum auslesen?
Solch einen könnte ich auch gut gebrauchen.
19  International / Deutsch / Re: Eine if Schleife nur alle 5 Minuten durchlaufen on: March 09, 2014, 05:15:22 pm
Hallo zusammen

es hat geklappt vielen Dank für die Hilfe.
Einen kleinen Schönheitsfehler har der Sketch noch - nach einem Reset dauert es die 5Min bis die Stufen bildung das erste mal gemacht wird . Dies bedeutet dass nach einer Neuprogramierung oder einem Stromausfall diese 5Min keine Ladung stattfindet.
Was dazuführen kann dass der Solarkollektor in Stagnation (Abschaltung wegen Übertemperatur) geht und dann bis zur Abkühlung (meist erst abends) nicht mehr in Betrieb genommen werden kann.
Eine Lösung währe also nicht schlecht.
Eventuell hat ja jemand eine Lösung.

Nochmals vielen Dank Rudi
20  International / Deutsch / Eine if Schleife nur alle 5 Minuten durchlaufen on: March 09, 2014, 02:31:38 pm
Hallo

ich möchte die unten gezeigte Schleife nur alle 5 Minuten 1X abarbeiten. Währen der restlichen Zeit sollte der Sketch aber auch abgearbeitet werden ein Delay scheidet als aus.
Weiß jemand eine Funktion mit der ich das bewerkstellen kann?


Code:

  //Stufe1 wird berechnet
  if ((tempS1 <= TempSpeicher47) && (tempS2 <= TempSpeicher35))
  {
    (Stufe = 1);
  }


  //Stufe2 wird berechnet
  if ((tempS1 > TempSpeicher47) && (tempS2 <= TempSpeicher35))
  {
    (Stufe = 2);
  }

  //Stufe3 wird berechnet
  if (((tempS1 > TempSpeicher47) && (tempS1 <= TempSpeicher50)) && ((tempS2 > TempSpeicher35) && (tempS2 <= TempSpeicher50)))
  {
    (Stufe = 3);
  }

  //Stufe4 wird berechnet
  if (((tempS1 > TempSpeicher50) && (tempS1 <= TempSpeicher75)) && ((tempS2 > TempSpeicher35) && (tempS2 <= TempSpeicher50)))
  {
    (Stufe = 4);
  }

  //Stufe5 wird berechnet
  if (((tempS1 > TempSpeicher50) && (tempS1 <= TempSpeicher75)) && ((tempS2 > TempSpeicher50) && (tempS2 <= TempSpeicher75)))
  {
    (Stufe = 5);
  }

  //Stufe6 wird berechnet
  if ((tempS1 > TempSpeicher75) && ((tempS2 > TempSpeicher50) && (tempS2 <= TempSpeicher75)))
  {
    (Stufe = 6);
  }

  //Stufe7 wird berechnet
  if ((tempS1 > TempSpeicher85) && (tempS2 > TempSpeicher75))
  {
    (Stufe = 7);
  }

den gesammten Code hänge ich noch an

Vielen Dank Rudi
21  International / Deutsch / Re: Sketch funktioniert mit IDE 1.00 , aber mit IDE 1.55 und 1.05 nicht on: February 20, 2014, 11:40:23 am
Hallo Topic Summary

Vielen Dank für den Tip jetzt funkts.  smiley-grin
Die Bibliotheken musste ich nur durch aktuellere ersetzen.
22  International / Deutsch / Re: Sketch funktioniert mit IDE 1.00 , aber mit IDE 1.55 und 1.05 nicht on: February 20, 2014, 01:36:00 am
Hallo Uwe

mensch das gieng ja schnell Danke.
Ich habs gerade nochmals kontrolliert alle Libarys sind vorhanden diese sind auch rot hinter #define dargestellt.
Die erste Fehlermeldung bezieht sich allerdings auf Zeie 14 was die Lib DallasTemperature einbindet.
Auch wird in der Fehlermeldung der Pfad der DallasTemperature.h angegeben ist evetuell der Fehler in der DallasTemperature.h ?

Grüße und nochmals Danke Rudi
23  International / Deutsch / Sketch funktioniert mit IDE 1.00 , aber mit IDE 1.55 und 1.05 nicht (Erledigt) on: February 19, 2014, 05:41:45 pm
Hallo zusammen

ich habe einen Sketch mit hilfe der IDE 1.0 geschrieben un dieser funktioniert auch prächtig.
Jetzt möchte ich aber den Sketch mittels eder neueren IDE ( 1.05 oder 1.55 ) weiterentwickeln.Da ich die Ausgabe mehrerer LED mittels PCF 8574 nicht mit der IDE1.0 programieren kann.
Doch leider funktioniert die Portierung mit den neuen IDE nicht .
Es werden folgende Fehlermeldungen ausgespuckt:

Arduino: 1.5.5 (Linux), Board: "Arduino Uno"

In file included from _23_Fehlerbereinigung_Anzeige_Delta_Temperatur_Kollektor_Speich.ino:14:
/home/rudi/Desktop/arduino-1.5.5/libraries/DallasTemperature/DallasTemperature.h:64: error: expected `)' before ‘*’ token
/home/rudi/Desktop/arduino-1.5.5/libraries/DallasTemperature/DallasTemperature.h:222: error: ISO C++ forbids declaration of ‘OneWire’ with no type
/home/rudi/Desktop/arduino-1.5.5/libraries/DallasTemperature/DallasTemperature.h:222: error: expected ‘;’ before ‘*’ token
_23_Fehlerbereinigung_Anzeige_Delta_Temperatur_Kollektor_Speich:22: error: ‘OneWire’ does not name a type
_23_Fehlerbereinigung_Anzeige_Delta_Temperatur_Kollektor_Speich:23: error: ‘oneWire’ was not declared in this scope

 


Den Sketch habe ich unten angehängt.

Könnte vieleicht jemand mir bei der Beseitugung der Fehler helfen ?

Vielen Dank Rudi
24  International / Deutsch / Re: PCF8574 4Pns als Eingang 4 Pins als Ausgang on: February 15, 2014, 12:19:36 pm
Hallo Summary

danke für Deine Antwort.
Ich habe die zwei Sachen (Schalter-Platinenteil und LED-Platinenteil) jetzt getrennt aufgebaut und mit je einem PCF8574 versehen.
Jetzt funktioniert es .
Die Anweisung  "  Wire.write(I2C_ADDR | 0x01);    // Alle Ports als Eingang " habe ich tatsächlich auch auskomentieren können.

Das mit der 7-Bit Adresse habe ich auch gelesen. Aber mit der Adresseingabe 0X23 funktionierts keine Ahnung wiso.
Meine Schalterplatine hat jetzt 0X23 und die LEDplatine 0X25.

Jetzt stehe ich noch vor dem Problem dass ich die Schalterstellungen auslesen muß und das dann an der LED Platine anzeigen will.
Kann ich da die Variable die Wire.read zurückgibt irgendwie auslesen und dann ein einzelnes Bit weiterverarbeiten.
Ähnlich dann auch bei der Übertragung zur Led-Platine -> lässt sich da auch nur ein einzelnes Bit ändern und dann alles übertragen.

Grüße Rudi
25  International / Deutsch / PCF8574 4Pns als Eingang 4 Pins als Ausgang on: February 13, 2014, 03:07:00 pm
Hallo Zusammen

Gibt es eine Möglichkeit gleichzeitig
die Pins P0 bis P3 als Eingänge und
die Pins P4 bis P7 als Ausgänge zu schalten.

Lassen sich die Zustände der einzelnen Ports auch unabhängig voneinander schalten beziehungsweise abfragen?

In Netz habe ich nur Beispiele für jeweils Ein- oder Ausganskonfiguration gefunden also kein Gemischtbetrieb.

erst Versuche habe ich mit dem Sketchen gemacht:

PCF8574 Pins als Eingänge geschaltet:
Code:
/****************************************************************
*
* PCF8574 I²C-Bus-Expander als Eingabeport
*
****************************************************************/

#include <Wire.h>

#define I2C_ADDR    0x23 // I2C-Addresse


void setup() {
  Serial.begin(9600);
 
  // Für Leonardo
  while (!Serial)
    ;
 
  Wire.begin(I2C_ADDR);
 
  Serial.println("Testprogramm PCF8574 I2C-Bus-Expander");
  Serial.println("-------------------------------------");
  Serial.println();
}


void loop() {
  Wire.beginTransmission(I2C_ADDR);
  Wire.write(I2C_ADDR | 0x01);    // Alle Ports als Eingang
  Wire.requestFrom(I2C_ADDR, 1);  // Ein Byte (= 8 Bits) anfordern
  while(Wire.available() == 0)    // Warten, bis Daten verfügbar
    ;
  Serial.print("Eingelesen: ");
  Serial.println(Wire.read());
  Wire.endTransmission(true);
 
  delay(50);
}

PCF8574 Pins als Ausgänge geschaltet:
Code:



 
/****************************************************************
*
* PCF8574 I²C-Bus-Expander als Ausgabeport
*
****************************************************************/

#include <Wire.h>

#define I2C_ADDR    0x40 >> 1 // I2C-Addresse


void setup() {
  Serial.begin(9600);
 
  // Für Leonardo
  while (!Serial)
    ;
 
  Wire.begin(I2C_ADDR);
 
  Serial.println("Testprogramm PCF8574 I2C-Bus-Expander");
  Serial.println("-------------------------------------");
  Serial.println();
}


void loop() {
  Serial.println("Pins HIGH schalten");
  Wire.beginTransmission(I2C_ADDR);
  Wire.write(I2C_ADDR & 0xFE);   // Alle Ports als Ausgang
  Wire.write(0xFF);              // Alle Pins HIGH
  Wire.endTransmission(true);
 
  delay(3000);
 
  Serial.println("Pins LOW schalten");
  Wire.beginTransmission(I2C_ADDR);
  Wire.write(I2C_ADDR & 0xFE);   // Alle Ports als Ausgang
  Wire.write(0x00);              // Alle Pins LOW
  Wire.endTransmission(true);
 
  delay(3000);
}
 


Vielen Dank schonmal im Vorraus Rudi
26  International / Deutsch / Re: Fehler: invalid conversion from const char* to unit8_t on: February 02, 2014, 05:07:53 pm
Hi

Vielen Dank jetzt hab ich`s gepackt.
So habe ichs gelöst:
Code:
lcd.setCursor(0, 3);
     lcd.write(83); //Zeichen S
     lcd.write(101);//Zeichen e
     lcd.write(110);//Zeichen n
     lcd.write(115);//Zeichen s
     lcd.write(111);//Zeichen o
     lcd.write(114);//Zeichen r
     lcd.write(45); //Zeichen -
     lcd.write(70); //Zeichen F
     lcd.write(101);//Zeichen e
     lcd.write(104);//Zeichen h
     lcd.write(108);//Zeichen l
     lcd.write(101);//Zeichen e
     lcd.write(114);//Zeichen r
     lcd.write(45); //Zeichen -
     lcd.write(83); //Zeichen S
     lcd.write(112);//Zeichen p
     lcd.write(49); //Zeichen 1
     lcd.write(32); //Leerzeichen
     lcd.write(32); //Leerzeichen
     lcd.write(32); //Leerzeichen

das ist sehr aufwendig aber zuletzt funktionierts ja.

Ein Problem war dass ich den Wert der in der Klammer eingegeben wird nicht dem Zeichen zuordnen konnte wie zum Beispiel:
Das Grad Zeichen ist lcd.write (223).
Duch Probieren hab ich jetzt die ganzen Werte herausbekommen.

Vielen Dank nochmals für die Hilfe

PS die Tastatur-Kombination STRG-C für Coppy kenne ich und das hat leider auch nicht funktioniert. Eventuell ligt es daran dass ich Ubuntu verwende.
27  International / Deutsch / Re: Fehler: invalid conversion from const char* to unit8_t on: February 02, 2014, 11:11:23 am
Hallo

Danke für die Hilfen
Den Sketch habe ich mal angehängt gibt es eine Möglichkeit die Fehlermeldungen irgendwie zu Kopieren ( ähnlich Drag and Drop)?
Damit ich diese nicht immer abtippen muss?

28  International / Deutsch / Fehler: invalid conversion from const char* to unit8_t on: February 02, 2014, 05:20:44 am
Hallo Zusammen

vor einiger Zeit habe ich einen Sketch geschrieben der meine thermische Solaranlage steuert.
Soweit funktioniert dieser auch gut . Doch da mir nun die Pins ausgehen möchte ich die LVD-Ausgabe auf I²C umstellen.
Den Sketch habe ich auch schon angepasst ( siehe unten ).
Doch ieider spuckt mir die IDE noch einige Fehler aus.
Nämlich:invalid conversion from const char* to unit8_t
                  initialysing argument 1 of virtual size_t LiquidCrystal_I2C :: write(unit8_t)
Das gilt für die unterstrichenen Zeilen (
Code:

/*
  Differenztemperatursteuerung Sonnenkolektor mit 1XPT100 im Kollektor
                                                  1XDS18B20 im Speicher 1
                                                  1XDS18B20 im Speicher 2
*/

// Laden der Libary:
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <Wire.h>
#include <DallasTemperature.h>

LiquidCrystal_I2C lcd(0x27,20,4);
//                                      
#define ONE_WIRE_BUS A3

///char buffer[20] = "";                                     // Speicherbereich für Datenkonvertierung

OneWire oneWire(ONE_WIRE_BUS);                            // Library für Datenleitung des Tempatursensors Dallas DS18xx
DallasTemperature sensors(&oneWire);


//die Variablen deklarieren

float tempK;
float tempS1;
float tempS2;
int tempPin1 = 1;                 //Hier ist der analoge Eingang der Temperaturproportionalen Spannung (0-5V)
int SpeichertempPin1 = A3;        //Temperaturdaten der Speichersensoren werden an Analogpin3 angeschlossen

int Pumpe1 = 13;
int Pumpe2 = 12;

int DifferenztemperaturS1 = 0;      //Hier nichts eingeben
int DifferenztemperaturS2 = 0;      //Hier nichts eingeben
int Schalttemperatur = 14;          //Hier die Schalttemperatur der Differenz Kolektor -> Speicher, bei der die Pumpe gestartet wird, eingeben
int SpeicherTempMax = 85;           //Hier die Maxtemperatur des Speichers, bei der die Pumpe ausgeschaltet wird und eine Fehlermeldung ausgegebeb wird ( muss quittiert werden ) eingeben
int KolektorTempMax = 130;          //Hier die Maxtemperatur des Kolektors, bei der die Pumpe ausgeschaltet wird  und eine Fehlermeldung ausgegebeb wird ( muss quittiert werden ) eingeben
int KolektorTempMaxHysterese = 2;   //Hier die Hysterese der Ausschaltemperatur des Kolektors, bei der die Pumpe wieder eingeschaltet wird, eingeben
int SpeicherTempUnplausibel = 8 ;   //Unter 8°C ist Meßwert im Speicher unplausibel
int TempSpeicher35 = 35;            //Dient für die Stufenbestimmung
int TempSpeicher50 = 50;            //Dient für die Stufenbestimmung
int TempSpeicher75 = 75;            //Dient für die Stufenbestimmung
int TempSpeicher85 = 85;            //Dient für die Stufenbestimmung

int Stufe;                          //Für die Stufenweiterverarbeitung
int StufeSpeicher1;                 //Für die Stufenweiterverarbeitung
int SicherheitSpeicher1iO;          //Für die Stufenweiterverarbeitung
int StufeSpeicher2;                 //Für die Stufenweiterverarbeitung
int SicherheitSpeicher2iO;          //Für die Stufenweiterverarbeitung

int FehlereldungSpeicher1MaxVariable = 0; //zum speichern des Fehlers auch wenn die Fehlerursache wieder verschwindet
int FehlereldungSpeicher2MaxVariable = 0; //zum speichern des Fehlers auch wenn die Fehlerursache wieder verschwindet
int FehlereldungSpeicher1UnplausibelVariable = 0; //zum speichern des Fehlers auch wenn die Fehlerursache wieder verschwindet
int FehlereldungSpeicher2UnplausibelVariable = 0; //zum speichern des Fehlers auch wenn die Fehlerursache wieder verschwindet

#define ONE_WIRE_BUS A3  // Datendraht an Pin A3

//Achtung die jeweilige Adresse des nicht angeschlossenen Sensors deaktivieren  

//DeviceAddress SensorS1 = { 0x28, 0xB2, 0x4B, 0xA1, 0x03, 0x00, 0x00, 0x2C }; //Sensor 1 Experimentier Anschluss
DeviceAddress SensorS1 = { 0x28, 0x27, 0xB0, 0xC0, 0x03, 0x00, 0x00, 0xBF }; //Sensor 1 im Speicher 1

//DeviceAddress SensorS2 = { 0x28, 0xF2, 0x75, 0xA1, 0x03, 0x00, 0x00, 0x7F }; //Sensor 2 Experimentier Anschluss
DeviceAddress SensorS2 = { 0x28, 0x9B, 0xFC, 0x8B, 0x03, 0x00, 0x00, 0x79 }; //Sensor 2 im Speicher 2

void setup(){
 lcd.init();
  byte addr[8];  
  Serial.begin(9600);
  sensors.begin();
  sensors.setResolution(SensorS1, 10); //Die Auflösung des DS18B20-Sensors heraufsetzen
  sensors.setResolution(SensorS2, 10); //Die Auflösung des DS18B20-Sensors heraufsetzen
  pinMode (Pumpe1, OUTPUT);
  pinMode (Pumpe2, OUTPUT);
}

void loop(){  
  //Start Abfrage DS18B20
  sensors.requestTemperatures();  
  //Temperaturen DS18B20 in Variable ablegen
  float tempS1 = sensors.getTempC(SensorS1); //zwischenspeichern in Variable tempS1
  float tempS2 = sensors.getTempC(SensorS2); //zwischenspeichern in Variable tempS2   
  sensors.requestTemperatures();  
   lcd.begin(20, 4);//LCD hat 20 Zeichen und 4 Spalten  
}
Den Sketch musste ich leider einkürtzen.

Hat das eventuell mit der metode die Texte ins LCD zu schreiben zu tun ?
Muss ich da eventuell eine andere Technik anwenden?

Vielen Dank für Eure Hilfe Rudi
29  International / Deutsch / Re: Stino -- die wirklich bessere IDE on: January 02, 2014, 03:00:53 pm
Hallo Zusammen und ein glücliches neues Jahr

Das hört sich ja gut an. Kann mir vieleicht jemand beschreiben wie ich Stino unter Ubuntu 12.04 LTS intallieren kann?

Grüe Rudi
30  International / Deutsch / Re: Nicht alle Libarys werden in der IDE angezeigt on: November 25, 2013, 04:58:29 pm
Hallo
vielen Dank für die Antworten .
So wie es aussieht lässt sich das Problem nicht beheben aber jetzt bin ich einwenig schlauer.

Nochmals Danke Rudi
Pages: 1 [2] 3 4 ... 9