RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO burger IRremote mit NIBOburger

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Banner

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7433 private projects
  • 378 public projects
  • 16180353 lines compiled
  • 58212 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: IRremote mit NIBOburger

IRremote mit NIBOburger 8 Jahre 3 Monate her #3504

  • Georg
  • Georgs Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 290
Hallo,

poste mal deinen Code.

lg Georg
Der Administrator hat öffentliche Schreibrechte deaktiviert.

IRremote mit NIBOburger 8 Jahre 3 Monate her #3508

Hallo,
diesem Sketch habe ich verwendet:

#include <IRremote.h>

#define IR_On 0xCAC21BEE
#define IR_Off 0xB0D7CF5E


int RECV_PIN = 30;
int led_pin = 17;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600);
pinMode(led_pin, OUTPUT);
irrecv.enableIRIn(); // Start the receiver
}

void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
}

switch(results.value) {

case IR_On:
digitalWrite(led_pin, HIGH);
break;
case IR_Off:
digitalWrite(led_pin, LOW);
break;
}

irrecv.resume(); // Receive the next value
delay(100);

}

Die NIBOburger - library habe ich nicht verwendet (ist ja auch nicht nötig, oder?), da ich finde, so hat man mehr Möglichkeiten. Wenn ich den Burger als Board einstelle und den Sketch kompiliere, bekomme ich folgende Fehlermeldung:

In file included from C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremote.h:24:0,

from C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp:1:

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp: In member function 'void IRrecv::enableIRIn()':

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremoteInt.h:246:3: error: 'TCCR2A' was not declared in this scope

TCCR2A = _BV(WGM21); \

^

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL'

TIMER_CONFIG_NORMAL();

^

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremoteInt.h:247:3: error: 'TCCR2B' was not declared in this scope

TCCR2B = _BV(CS21); \

^



C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL'

TIMER_CONFIG_NORMAL();

^

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremoteInt.h:248:3: error: 'OCR2A' was not declared in this scope

OCR2A = TIMER_COUNT_TOP / 8; \

^

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp:120:2: note: in expansion of macro 'TIMER_CONFIG_NORMAL'

TIMER_CONFIG_NORMAL();

^

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremoteInt.h:222:30: error: 'TIMSK2' was not declared in this scope

#define TIMER_ENABLE_INTR (TIMSK2 = _BV(OCIE2A))

^

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp:123:2: note: in expansion of macro 'TIMER_ENABLE_INTR'

TIMER_ENABLE_INTR;

^

In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,

from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\pgmspace.h:88,

from C:\Program Files (x86)\Arduino\hardware\nicai\avr\cores\arduino/Arduino.h:28,

from C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremoteInt.h:24,

from C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremote.h:24,

from C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp:1:

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\IRremoteInt.h:222:43: error: 'OCIE2A' was not declared in this scope

#define TIMER_ENABLE_INTR (TIMSK2 = _BV(OCIE2A))

^

C:\Users\Santiago\Documents\Arduino\libraries\Arduino-IRremote-master\irRecv.cpp:123:2: note: in expansion of macro 'TIMER_ENABLE_INTR'

TIMER_ENABLE_INTR;

^

exit status 1
Fehler beim Kompilieren.



Wenn ich als Board z.B. den Arduino Uno einstelle, bekomme ich keine Fehlermeldung. Die IRremote - Library müsste eignetlich richtig installiert sein, da die Programme auf dem Arduino Uno auch laufen. Verstehe nicht warum der NIBOburger die Library nicht akzeptiert...
LG
ChocoCooky
Der Administrator hat öffentliche Schreibrechte deaktiviert.

IRremote mit NIBOburger 8 Jahre 3 Monate her #3509

Hallo,
habe jetzt noch ausprobiert, ob der Sketch mit dem Tuning-Kit laufen würde. Und tatsächlich - die Fehlermeldung ist weg, wenn ich das Tuning-Kit einstelle!
Ist der Prozessor vielleicht nicht mit der Library kompatibel? Ich habe leider kein Tuning-Kit, deshalb weiß ich auch nicht, ob der Sketch laufen würde.
Verstehe nicht warum das nur mit Tuning-Kit funktionieren sollte. Könnte es am Speicherbedarf des Programmes liegen?
LG
ChocoCooky
Der Administrator hat öffentliche Schreibrechte deaktiviert.

IRremote mit NIBOburger 8 Jahre 3 Monate her #3510

  • workwind
  • workwinds Avatar
  • OFFLINE
  • Administrator
  • Beiträge: 573
Hallo ChocoCooky,

Der Timer 2 des ATmega16A unterscheidet sich leicht vom ATmega1284 (bzw. ATmega328). Er hat nur ein Output Compare Register (OCR2) und kommt mit einem Config Register (TCCR2) aus. Vermutlich benötigt die Lib die zusätzlichen Fähigkeiten nicht wirklich, der Code fängt das jedoch nicht ab...
OCR2A -> OCR2
TCCR2A -> TCCR2
TCCR2B -> TCCR2
TIMSK2 = _BV(OCIE2A) -> TIMSK = _BV(OCIE2)

-workwind-
Der Administrator hat öffentliche Schreibrechte deaktiviert.

IRremote mit NIBOburger 8 Jahre 3 Monate her #3512

Hallo,
kann ich die library einfach umschreiben oder brauche ich einen ATmega1284?
LG
ChocoCooky
Der Administrator hat öffentliche Schreibrechte deaktiviert.

IRremote mit NIBOburger 8 Jahre 3 Monate her #3513

  • Georg
  • Georgs Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 290
Hallo ChocoCooky,

ich werde in den nächsten Tagen versuchen einen IR-Sensor am NIBOburger zum Laufen zu bringen.
Beim NIBOburger sind die Analogeingänge fest verdrahtet. Der einzig frei verwendbare Analogeingang ist der KEY.
Die Zeile in deinem Code

int RECV_PIN = 30;

muss bei Verwendung des Keyanalogeinganges in

int RECV_PIN = 28;

geändert werden.

lg Georg
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Ladezeit der Seite: 0.057 Sekunden

Werbung