Hallo
ich ahbe einen IR empfenger. Habe mir die lib
heruntergeladen und in 1.5.5 importiert. Wenn ich ein Demoprojekt übersetzen will kommt folgende fehlermeldung
Arduino: 1.5.5-r2 (Windows 7), Board: "Arduino Yún"
In file included from IRrecvDemo.ino:2:
C:\Users\Andreas\Documents\Arduino\libraries\IRremote/IRremoteInt.h:87: error: 'uint8_t' does not name a type
C:\Users\Andreas\Documents\Arduino\libraries\IRremote/IRremoteInt.h:88: error: 'uint8_t' does not name a type
C:\Users\Andreas\Documents\Arduino\libraries\IRremote/IRremoteInt.h:89: error: 'uint8_t' does not name a type
C:\Users\Andreas\Documents\Arduino\libraries\IRremote/IRremoteInt.h:92: error: 'uint8_t' does not name a type
Dieser Report hätte mehr Informationen mit
"Ausführliche Ausgabe während der Kompilierung"
aktiviert in Datei > Einstellungen
was mache ich falsch ?
in Version 1.0,1 funktioniert die lib. gibt es eine lib für 1.5.5?
uwefed
January 30, 2014, 7:06pm
2
Welchen Arduino verwendest Du?
Grüße Uwe
Steht doch da, wird wohl der Yun sein Würde behaupten, die Libary ist nicht aufwärtskompatibel, da sich doch ein paar Sachen von 1.0 - 1.5 getan haben.
Beim Autor ist leider kein Update zu finden. Problem hier ist natürlich, dass du schlecht auf die IDE von 1.0 wechseln kannst wegen dem Yun, der nicht auf der 1.0 läuft.
uwefed
January 30, 2014, 8:59pm
4
sschultewolter:
Steht doch da, wird wohl der Yun sein Würde behaupten, die Libary ist nicht aufwärtskompatibel, da sich doch ein paar Sachen von 1.0 - 1.5 getan haben.
Beim Autor ist leider kein Update zu finden. Problem hier ist natürlich, dass du schlecht auf die IDE von 1.0 wechseln kannst wegen dem Yun, der nicht auf der 1.0 läuft.
Der YUN wird aber erst seit IDE 1.5.4 unterstützt. Also kann emilio20 es nicht mit IDE 1.0.1 versucht haben und es ihm funktioniert.
Für mich ist es nicht so sicher, daß es ein YUN ist. Aber bevor wir wild herumraten soll der Fragesteller BITTE die notwendigen Infos geben.
Grüße Uwe
Hallo es geht jetzt weiß aber nicht warum.
Habe aber ein anderes Problem.
ich habe eine DHT Temperaturfühler am Pin 3 und den IR empfänger am Pin 11. Wenn ich die IR Starte
irrecv.enableIRIn();
Bekomme sporatisch den Temperaturwert 0. Schalte ich //irrecv.enableIRIn (); aus erhalte ich immer einen richtigen Temp wert.
Hatte jemand ein ähnliches Problemm ?
uwefed
January 31, 2014, 6:40am
6
Bitte mehr informationen.
Welchen Arduino hast Du? An welchen Pin hast Du den IR Empfänger angeschlossen.
Grüße Uwe
Hallo,
bei mir funktioniert die Lib auf 1.5.5. Ich habe es mit einem UNO und einem Nano probiert.
Hallo habe ein Yun
ich Poste mal mein Programm. Aber nicht erschrecken. Ich sende die ergebnisse über TCP an eine SPS.
#include <SPI.h>
#include <Wire.h>
#include <Bridge.h>
#include <YunServer.h>
#include <YunClient.h>
#include <Console.h>
#include "DHT.h"
#include "IRremote.h"
#define PORT 2500
IPAddress PLC(192,168,178,30); // PLC Address
long previousMillis = 0;
long interval = 2500;
unsigned long currentMillis;
DHT dht;
YunServer server(PORT);
// IR Empfenger
int receiver = 3;
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results;
void setup() {
dht.setup(4); // data pin 3 für Temperatur/Feuchte
digitalWrite(13, LOW);
irrecv.enableIRIn(); // Start the receiver
Bridge.begin();
digitalWrite(13, HIGH);
// start the serial for debugging
Serial.begin(9600);
Console.begin();
server.begin();
// while (!Console);
Console.println("setup");
delay(2000);
}
YunClient client = server.accept();
//******************************************************************Hautprogramm********************************************************
void loop()
{
// listen for incoming clients
digitalWrite(13, LOW);
//Verbindungsaufbaue wenn Client verfügbar
if (client.connect(PLC,PORT)){
Console.println("connected");
while (client.connected()) {
//LED an wenn Connected
digitalWrite(13, HIGH);
// Zeit für Zeitliche aufruf
unsigned long currentMillis = millis();
// Temperaturwerte alle 2,5sec senden
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
delay(dht.getMinimumSamplingPeriod());
TempFeuchte (client);
}
if (irrecv.decode(&results)) {// have we received an IR signal?
translateIR(client);
irrecv.resume(); // receive the next value
}
}
delay(1);
// close the connection:
client.stop();
}
}
//***********************************************
//** Funktion Temperatur Feuchtw **
//***********************************************
// Temperatur und Feuchte abfragen und senden
void TempFeuchte (YunClient client) {
int value;
value = dht.getTemperature()*100;
String cString;
// Value nur senden wenn nicht 0
if (value != 0) {
cString ="GV/01"+String(value,DEC);
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
}
delay(1);
value = dht.getHumidity()*100;
// Value nur senden wenn nicht 0
if (value > 0) {
cString ="GV/02"+String(value,DEC);
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
}
}
//***********************************************
//** Funktion IR Empfänger **
//***********************************************
void translateIR(YunClient client) {
String cString;
int i;
switch(results.value)
{
case 0x2A0:
Console.println("Rollo AUF");
i=1;
break;
case 0x2A1:
Console.println("Rollo ZU");
i=2;
break;
case 0xAA1:
Console.println("Rollo ZU");
i=2;
break;
case 0xAA0:
Console.println("Rollo AUF");
i=1;
break;
default:
i=0;
//Console.println(" other button ");
}
if(i>0) {
Console.println(i);
cString ="IR/"+String(i,DEC)+"/1";
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
delay(1000);
cString ="IR/"+String(i,DEC)+"/0";
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
i=0;
}
}
Pin 3 funktioniert als sender mit IRremote!....die DHT Temperaturfühler -> Pin 4 oder 5...u.s.w. ??
Hallo
habs abgeändert siehe oben . Ist aber das selbe Problem.
Ein weiters Problemm wenn ich das Arduino vom netz nehmen und wieder Einstecker erhalte ich als Temp und Feuchte 100.
Erst nach erneutem aufspielen des Progemm erhalte ich wieder Temp werte. Der IR Remote bringt bei mir das DHT durcheinander.
Ein weiters Problem das ich habe wenn mein Wlan aus geht und wieder neu startet verbindet sich das Arduino nicht automatisch mit der SPS. Erst nach neustart des Arduinos.
Hallo
habe den fehler gefunden. Verwende jetzt die DHT22 lib jetzt geht es.
#include <SPI.h>
#include <Wire.h>
#include <Bridge.h>
#include <YunServer.h>
#include <YunClient.h>
#include <Console.h>
#include <DHT22.h>
#include "IRremote.h"
#define PORT 2500
IPAddress PLC(192,168,178,30); // PLC Address
#define DHT22_PIN 4
DHT22 myDHT22(DHT22_PIN);
long previousMillis = 0;
long interval = 2500;
unsigned long currentMillis;
YunServer server(PORT);
// IR Empfenger
int receiver = 3;
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results;
void setup() {
digitalWrite(13, LOW);
irrecv.enableIRIn(); // Start the receiver
Bridge.begin();
digitalWrite(13, HIGH);
// start the serial for debugging
Serial.begin(9600);
Console.begin();
server.begin();
// while (!Console);
Console.println("setup");
}
//******************************************************************Hautprogramm********************************************************
void loop()
{
// listen for incoming clients
YunClient client = server.accept();
digitalWrite(13, LOW);
//Verbindungsaufbaue wenn Client verfügbar
if (client.connect(PLC,PORT)){
Console.println("connected");
while (client.connected()) {
//LED an wenn Connected
digitalWrite(13, HIGH);
// Zeit für Zeitliche aufruf
unsigned long currentMillis = millis();
// Temperaturwerte alle 2,5sec senden
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
TempFeuchte (client);
}
if (irrecv.decode(&results)) {// have we received an IR signal?
translateIR(client);
irrecv.resume(); // receive the next value
}
}
delay(1);
// close the connection:
client.stop();
client.flush();
}
}
//***********************************************
//** Funktion Temperatur Feuchtw **
//***********************************************
// Temperatur und Feuchte abfragen und senden
void TempFeuchte (YunClient client) {
DHT22_ERROR_t errorCode;
errorCode = myDHT22.readData();
int value;
String cString;
switch(errorCode)
{
case DHT_ERROR_NONE:
value = myDHT22.getTemperatureC()*100;
// Value nur senden wenn nicht 0
if (value != 0) {
cString ="GV/01"+String(value,DEC);
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
}
value = myDHT22.getHumidity()*100;
// Value nur senden wenn nicht 0
if (value > 0) {
cString ="GV/02"+String(value,DEC);
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
}
break;
}
}
//***********************************************
//** Funktion IR Empfänger **
//***********************************************
void translateIR(YunClient client) {
String cString;
int i;
switch(results.value)
{
case 0x2A0:
Console.println("Rollo AUF");
i=1;
break;
case 0x2A1:
Console.println("Rollo ZU");
i=2;
break;
case 0xAA1:
Console.println("Rollo ZU");
i=2;
break;
case 0xAA0:
Console.println("Rollo AUF");
i=1;
break;
default:
i=0;
//Console.println(" other button ");
}
if(i>0) {
Console.println(i);
cString ="IR/"+String(i,DEC)+"/1";
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
delay(1000);
cString ="IR/"+String(i,DEC)+"/0";
client.write((uint8_t*)&cString[0], cString.length());
Console.println(cString);
i=0;
}
}