INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
i2cLCD : 'POSITIVE' was not declared in this scope
26.04.2014, 22:31 (Dieser Beitrag wurde zuletzt bearbeitet: 26.04.2014 22:34 von bommel.)
Beitrag #1
i2cLCD : 'POSITIVE' was not declared in this scope
Hallo allerseits,

habe ein Problem mit ner Fehlermeldung beim Compelieren.
Fehlermeldung :

_1_Wire_DS18b20_Auslesen_i2cLCD:13: error: 'POSITIVE' was not declared in this scope

Das seltsame dabei ist das der Sketch heute Nachmittag genau so auf dem Arduiono schon lief ..
Danach habe ich noch nen DHT11 angeschlossen und nen sketch hochgeladen ( zum ausprobieren ob es funzt, klappte auch) auch mit der Anzeige auf dem LCD-Disp. per i2c.
Als ich danach wieder den vorherigen sketch aufladen wollte kommen immer die o.a. Fehlermeldungen.
-----------------------------------

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
// #include <LCD.h>
#include <LiquidCrystal_I2C.h> // F Malpartida's NewLiquidCrystal library
#define ONE_WIRE_BUS 10 // NOTE: No ";" on #define
#define I2C_ADDR 0x27 // Define I2C Address for the PCF8574A

OneWire ds(ONE_WIRE_BUS);
DallasTemperature sensors(&ds);
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address

-------------------------------------
Hab die Libs im liberies Ordner überprüft, sind keine doppelten drin..
Hat jemand ne Idee woran es liegen könnte?
Danke euch im voraus !

lg

Nils[/quote]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.04.2014, 09:03 (Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2014 09:03 von rkuehle.)
Beitrag #2
RE: i2cLCD : 'POSITIVE' was not declared in this scope
Hallo Nils,
mach bitte aus
Code:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
besser
Code:
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);
und im setup() dann
Code:
lcd.setBacklightPin(3,POSITIVE);
Dazu dann die Lib im Anhang benutzen. Vorher das Verzeichnis der LCD-Lib wegsichern. Sollte in der IDE >= 1.5.x laufen.

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.04.2014, 10:15 (Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2014 10:27 von bommel.)
Beitrag #3
RE: i2cLCD : 'POSITIVE' was not declared in this scope
Hallo Ricardo,

hab es jetzt mal geändert, aber bekomme jetzt noch mehr Fehlermeldungen :-) :

_1_Wire_DS18b20_Auslesen_i2cLCD:14: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)'
D:\ich\arduino\sketche\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58: note: candidates are: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, uint8_t)
D:\ich\arduino\sketche\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:56: note: LiquidCrystal_I2C::LiquidCrystal_I2C(const LiquidCrystal_I2C&)
_1_Wire_DS18b20_Auslesen_i2cLCD.ino: In function 'void setup()':
_1_Wire_DS18b20_Auslesen_i2cLCD:58: error: 'class LiquidCrystal_I2C' has no member named 'setBacklightPin'
_1_Wire_DS18b20_Auslesen_i2cLCD:58: error: 'POSITIVE' was not declared in this scope


Code:
//

#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
// #include <LCD.h>
#include <LiquidCrystal_I2C.h>  // F Malpartida's NewLiquidCrystal library
#define ONE_WIRE_BUS 10    // NOTE: No ";" on #define  
#define I2C_ADDR    0x27  // Define I2C Address for the PCF8574A

OneWire ds(ONE_WIRE_BUS);
DallasTemperature sensors(&ds);
// LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);


/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 16 chars 2 line display
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol

/*****************************************************************************
* Sketch: DS18B20_LCD.pde
* Author: A. Kriwanek
* Version: 1.0  02.04.2011/10:00
* based on OneWire Library 2.0 from http://www.pjrc.com/teensy/td_libs_OneWire.html
* and the provided example sketch.
* (Authors: Jim Studt, Tom Pollard, "RJL20", Robin James, Paul Stoffregen)
*
* Digital Pin 2 for 1Wire bus
* Pull Up Resistor 4k7 between Digital Pin 12 and +5V
* Temperature sensor(s) Dallas 18B20 for testing
*
* This sketch searches for Dallas 1Wire temperature sensors. If a sensor is found,
* the hardware id, the data from scratchpad and the actual temperature is transmitted
* via the serial interface. Additionally the values are displayed on the LCD.
*
*
* This sketch is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
*****************************************************************************/

// OneWire  ds(12);                      // 1Wire Instance on Arduino digital pin 2
// LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
// Define some values used by the panel and buttons:

byte i;
byte present = 0;
byte data[12];
byte addr[8];
float Temp;

void setup(void) {
  lcd.setBacklightPin(3,POSITIVE);
  Serial.begin(9600);            // Start serial interface with 9600 Baud
  lcd.begin(16, 2);              // Start the LCD library for 2x16 display
  lcd.setCursor(0,0);
  lcd.print(" TESTPROGRAMM ");
  lcd.setCursor(0,1);
  lcd.print(" Dallas DS18B20 ");
  delay(3000);
  lcd.clear();
}
......

Bin noch Neuling in Sachen Arduino ...
Arduino Mega 2560, SD, RTC 1307, DHT11, ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.04.2014, 11:06
Beitrag #4
RE: i2cLCD : 'POSITIVE' was not declared in this scope
Hallo Nils,

das Problem sieht man hier:
Zitat:D:\ich\arduino\sketche\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58: note: candidates are: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t,
Die IDE ist falsch installiert bzw. sind die Libraries falsch abgelegt.
Daher schau dir mal meinen Post vom 27.12. 18:27 Uhr hier an: http://www.arduinoforum.de/arduino-Threa...isstruktur

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.04.2014, 14:11
Beitrag #5
RE: i2cLCD : 'POSITIVE' was not declared in this scope
Hallo Ricardo,

hab deine Anregungen vom Thread befolgt, Arduino nochmal kompl. gelöscht und zuerst die 1.0.5 Version draufgespielt. Dann die Libs nochmal in den Ordner libraries geschoben. Werden im Skript auch als erkannt angezeigt.
Funktioniert aber leider nicht, auch wieder Fehlermeldungen.
Habe dann die aktuelle Version 1.5.6r2 installiert, wieder die Libs rübergeschoben...
Leider trotz des umschreibens in deine Zeilen immer noch Fehlermeldungen[/code]:

Code:
Arduino: 1.5.6-r2 (Windows 8), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Build options changed, rebuilding all

Verwende die Bibliothek OneWire im Ordner: C:\Program Files (x86)\Arduino\libraries\OneWire (legacy)

Verwende die Bibliothek dallas_temperature_control im Ordner: C:\Program Files (x86)\Arduino\libraries\dallas_temperature_control (legacy)

Verwende die Bibliothek Wire im Ordner: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire (legacy)



C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=156 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\mega -IC:\Program Files (x86)\Arduino\libraries\OneWire -IC:\Program Files (x86)\Arduino\libraries\dallas_temperature_control -IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire C:\Users\papa\AppData\Local\Temp\build5311542397420308395.tmp\DS18B20_i2cLCD_ino​.cpp -o C:\Users\papa\AppData\Local\Temp\build5311542397420308395.tmp\DS18B20_i2cLCD_ino​.cpp.o

DS18B20_i2cLCD_ino.ino:15: error: 'LiquidCrystal_I2C' does not name a type
DS18B20_i2cLCD_ino.ino: In function 'void setup()':
DS18B20_i2cLCD_ino.ino:59: error: 'lcd' was not declared in this scope
DS18B20_i2cLCD_ino.ino:59: error: 'POSITIVE' was not declared in this scope
DS18B20_i2cLCD_ino.ino: In function 'void display_1WSensor()':
DS18B20_i2cLCD_ino.ino:134: error: 'lcd' was not declared in this scope

Hier der Sketch :

Code:
// 

#include <OneWire.h>
#include <DallasTemperature.h>

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>  // F Malpartida's NewLiquidCrystal library
#define ONE_WIRE_BUS 10    // NOTE: No ";" on #define  
#define I2C_ADDR    0x27  // Define I2C Address for the PCF8574A

OneWire ds(ONE_WIRE_BUS);
DallasTemperature sensors(&ds);
// LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);


/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
// set the LCD address to 0x27 for a 16 chars 2 line display
// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol

/***************************************************************************** 
 * Sketch: DS18B20_LCD.pde
 * Author: A. Kriwanek
 * Version: 1.0  02.04.2011/10:00
 * based on OneWire Library 2.0 from http://www.pjrc.com/teensy/td_libs_OneWire.html
 * and the provided example sketch.
 * (Authors: Jim Studt, Tom Pollard, "RJL20", Robin James, Paul Stoffregen)
 *
 * Digital Pin 2 for 1Wire bus
 * Pull Up Resistor 4k7 between Digital Pin 12 and +5V
 * Temperature sensor(s) Dallas 18B20 for testing
 *
 * This sketch searches for Dallas 1Wire temperature sensors. If a sensor is found,
 * the hardware id, the data from scratchpad and the actual temperature is transmitted
 * via the serial interface. Additionally the values are displayed on the LCD.
 *
 *
 * This sketch is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 *****************************************************************************/

// OneWire  ds(12);                      // 1Wire Instance on Arduino digital pin 2
// LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
// Define some values used by the panel and buttons:

byte i;
byte present = 0;
byte data[12];
byte addr[8];
float Temp;

void setup(void) {
  lcd.setBacklightPin(3,POSITIVE);
  Serial.begin(9600);            // Start serial interface with 9600 Baud
  lcd.begin(16, 2);              // Start the LCD library for 2x16 display
  lcd.setCursor(0,0);
  lcd.print(" TESTPROGRAMM ");
  lcd.setCursor(0,1);
  lcd.print(" Dallas DS18B20 ");
  delay(3000);
  lcd.clear();
}

void loop(void) {
  if ( !ds.search(addr)) {
    // No more Dallas chips present:
    Serial.print("No more addresses.\n");
    ds.reset_search();
    delay(250);
    return;
  }

  // Output 64 Bit hardware id of Dallas Chip:
  Serial.print("R=");
  for( i = 0; i < 8; i++) {
    Serial.print(addr[i], HEX);
    Serial.print(" ");
  }

  // Check for invalid CRC in address:
  if ( OneWire::crc8( addr, 7) != addr[7]) {
    Serial.print("CRC is not valid!\n");
    return;
  }

  // Check for family code which is not DS18B20:
  if ( addr[0] != 0x28) {
    Serial.print("Device is not a DS18B20 family device.\n");
    return;
  }

  // The DallasTemperature library can do all this work for you!
  ds.reset();
  ds.select(addr);
  ds.write(0x44,0);          // start conversion, with parasite power off

  delay(1000);               // maybe 750ms is enough, maybe not

  // Check whether chip is present:
  present = ds.reset();
  ds.select(addr);    
  ds.write(0xBE);             // Read Scratchpad

  Serial.print("P=");         // Present = 1
  Serial.print(present,HEX);
  Serial.print(" ");
  for ( i = 0; i < 9; i++) {   // we need 9 bytes of data
    data[i] = ds.read();
    Serial.print(data[i], HEX);
    Serial.print(" ");
  }
  Serial.print(" CRC=");
  Serial.print( OneWire::crc8( data, 8), HEX);
  // Calculate temperature. data[1] High Byte, data[0] Low Byte.
  Temp =  ((data[1] << 8) + data[0] ) * 0.0625;  // 12Bit = 0,0625 C per Bit
  Serial.print( " T=");
  Serial.print( Temp, 2);
  Serial.print( " C");
  Serial.println();
  display_1WSensor();
}

void display_1WSensor(){
  // display Sensor data on LCD:
  char line[17];
  // Hardware ID:
  sprintf(line, "%02X%02X%02X%02X%02X%02X%02X%02X", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5], addr[6], addr[7]);
  lcd.setCursor(0,0);         // move to the begining of the second line
  lcd.print(line);
  // Temperature in Hex:
  lcd.setCursor(0,1);
  sprintf(line, "D=%02X%02X", data[1], data[0]);
  lcd.print(line);
  // Temperature as Degree Celsius:
  lcd.setCursor(7,1); 
  //sprintf(line, "T=%f C", Temp); funktioniert nicht, Fehler in Compiler?
  dtostrf(Temp, 5, 2, line);  // funktionierende Alterntative: http://dereenigne.org/electronics/arduino/arduino-float-to-string
  lcd.print("T=");
  lcd.print(line);
  lcd.print(" C");
}

Was ich nicht verstehe ist das es vorher einwandfrei lief, und plötzlich nicht mehr ohne die Datei zu ändern... hmm..

Bin noch Neuling in Sachen Arduino ...
Arduino Mega 2560, SD, RTC 1307, DHT11, ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.04.2014, 14:32
Beitrag #6
RE: i2cLCD : 'POSITIVE' was not declared in this scope
Hallo Nils,

bei mir läuft der aktuelle Sketch ohne Probleme durch den Compiler!

Suche bitte auf deinem Rechner nach einer Datei LiquidCrystal_I2C.h . Die Datei darf nur einmal gefunden werden. Wenn mehrfach vorhanden dann bereinigen.
Hast du meine Library aus dem Post von heute 10:00 Uhr genommen?
Das richtige Arduino-Board ist in der IDE eingestellt?

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.04.2014, 15:06
Beitrag #7
RE: i2cLCD : 'POSITIVE' was not declared in this scope
Hallo nochmal,

jap, hab die Datei runtergeladen, entpackt und in den Libraries Orden geschoben (Also den vorhandenen überschrieben).
Kam aber nie die I2C Version zur Anzeige in der Liste
Hab hab mal die zip-Datei über "Libraries imporieren - hinzufügen" eingefügt..
jetzt klappts !
Darf man den Ordner also nicht einfach verschieben, sondern man muss sie über die Funktion einlesen? Bei den anderen Libs hats mit rüberschieben geklaptt..

Weist du wann ich welche Methode benutzen muss damit es funzt?

Danke Dir für deine Hilfe !

lg

Nils

Bin noch Neuling in Sachen Arduino ...
Arduino Mega 2560, SD, RTC 1307, DHT11, ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.04.2014, 15:18
Beitrag #8
RE: i2cLCD : 'POSITIVE' was not declared in this scope
Hallo Nils,
Zitat:jap, hab die Datei runtergeladen, entpackt und in den Libraries Orden geschoben (Also den vorhandenen überschrieben).
Würde ich so nie machen.
Zitat:Hab hab mal die zip-Datei über "Libraries imporieren - hinzufügen" eingefügt..
Damit wurde der vorhandene Ordner der Lib geleert und mit dem neuen Inhalt beschrieben.
Meine (geringe) Erfahrung sagt mir folgende Dinge:
- niemals mehrere Versionen der gleichen Lib
- nie die gleiche Lib (auch verschiedene Versionen) an mehreren Stellen
- die einzig relevante Stelle für selbst geholte oder selbst geschriebene Libs ist ein Unterverzeichnis von "libraries"
- beim Ersetzen der Lib mit neuer Version immer den alten Inhalt des Unterverzeichnisses löschen oder wegsichern und löschen.

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  analogReadResolution(16); / not declared Mathias 3 789 23.10.2015 20:23
Letzter Beitrag: Bitklopfer
  Fehlermeldung : was not declared wuwuwu 5 3.505 22.12.2014 00:17
Letzter Beitrag: Bitklopfer
  CAP1188 - 'SPCR' was not declared in this scope Bensen 4 1.555 24.11.2014 20:56
Letzter Beitrag: Bensen
  Fehler 'TextFinder' was not declared in this scope AlBundy 3 1.990 26.09.2014 12:57
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste