Hallo,
ich habe da so ein kleines Problem ich habe mir einen Attiny85 gekauft. Meine Idee war daraus einen 433MHz Empfänger zumachen um meine Ikea Rollos hoch und runter zufahren.
Ich habe eine 433MHz Fernbedienung die angelernt werden muss und laut Google muss ich erst den Code auslesen.
Laut Google soll es mit dem Beispiel Code gehen:
/*
Simple example for receiving
https://github.com/sui77/rc-switch/
*/
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
int value = mySwitch.getReceivedValue();
if (value == 0) {
Serial.print("Unknown encoding");
} else {
Serial.print("Received ");
Serial.print( mySwitch.getReceivedValue() );
Serial.print(" / ");
Serial.print( mySwitch.getReceivedBitlength() );
Serial.print("bit ");
Serial.print("Protocol: ");
Serial.println( mySwitch.getReceivedProtocol() );
}
mySwitch.resetAvailable();
}
}
Aber es taucht der Fehler auf
class rc switch' has no member named 'enablereceive'
Arduino: 1.8.4 (Windows 10), Board: "Digispark (Default - 16.5mhz)"
C:\Users\Documents\Arduino\libraries\rc-switch\examples\ReceiveDemo_Simple\ReceiveDemo_Simple.ino: In function 'void setup()':
ReceiveDemo_Simple:13: error: 'class RCSwitch' has no member named 'enableReceive'
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
^
C:\Users\Documents\Arduino\libraries\rc-switch\examples\ReceiveDemo_Simple\ReceiveDemo_Simple.ino: In function 'void loop()':
ReceiveDemo_Simple:17: error: 'class RCSwitch' has no member named 'available'
if (mySwitch.available()) {
^
ReceiveDemo_Simple:19: error: 'class RCSwitch' has no member named 'getReceivedValue'
int value = mySwitch.getReceivedValue();
^
ReceiveDemo_Simple:25: error: 'class RCSwitch' has no member named 'getReceivedValue'
Serial.print( mySwitch.getReceivedValue() );
^
ReceiveDemo_Simple:27: error: 'class RCSwitch' has no member named 'getReceivedBitlength'
Serial.print( mySwitch.getReceivedBitlength() );
^
ReceiveDemo_Simple:30: error: 'class RCSwitch' has no member named 'getReceivedProtocol'
Serial.println( mySwitch.getReceivedProtocol() );
^
ReceiveDemo_Simple:33: error: 'class RCSwitch' has no member named 'resetAvailable'
mySwitch.resetAvailable();
^
exit status 1
'class RCSwitch' has no member named 'enableReceive'
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Ich habe auch schon gegooglet und den link gefunden
Du musst in der Library den Empfänger auf dem ATtiny85 freischalten.
Dieser ist in der Library deaktiviert.
Da ich aktuell mobil unterwegs bin, kann ich keinen Link liefern.
Einfach mal googeln.
HotSystems:
Du musst in der Library den Empfänger auf dem ATtiny85 freischalten.
Dieser ist in der Library deaktiviert.
Da ich aktuell mobil unterwegs bin, kann ich keinen Link liefern.
Einfach mal googeln.
Hmm was soll ich jetzt googlen
agmue:
In der Bibliothek in RCSwitch.h steht:
// At least for the ATTiny X4/X5, receiving has to be disabled due to
// missing libm depencies (udivmodhi4)
Bissel Eigeninitiative sollte man schon mitbringen.
Dann sieh dir mal die RCSwitch.h an.
So in der RCSwitch.h Datei intressiert mich ja nur der Teil.
// At least for the ATTiny X4/X5, receiving has to be disabled due to
// missing libm depencies (udivmodhi4) #if defined( AVR_ATtinyX5 ) or defined ( AVR_ATtinyX4 ) #define RCSwitchDisableReceiving #endif
Also um ein bisle Eigeninitiative zuzeigen fasse ich alles mal zusammen:
// At least for the ATTiny X4/X5, receiving has to be disabled due to
// missing libm depencies (udivmodhi4)
#if defined( __AVR_ATtinyX5__ ) or defined ( __AVR_ATtinyX4__ )
#define RCSwitchDisableReceiving
#endif
Das war mein Problem und ich habe es gelöst in dem ich diesen Teil ausgeklammert habe oder habe ich da was falsch verstanden?
Um auf das Problem mit dem Seriellen Monitor zu kommen durch die Hilfe von Doc_Arduino:
Habe ich jetzt gelöst in dem ich den befehl DigiKeyboard.println("Text"); nutze.
Dabei ist zu beachten das nach dem Upload ein Text Editor geöffnet werden muss.