Digispark Attiny85 433MHz

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

Aber ich verstehe nicht ganz was ich machen muss.

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.

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)

Für einen UNO funktioniert das Kompilieren.

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)

Für einen UNO funktioniert das Kompilieren.

Das heißt?

Wie...keine Fantasie ?

Bissel Eigeninitiative sollte man schon mitbringen.

Dann sieh dir mal die RCSwitch.h an.

HotSystems:
Wie...keine Fantasie ?

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

was heißt das für mich?

calik97:
was heißt das für mich?

Hatte ich in Post #1 schon geschrieben !

Also nur lesen.

// #define RCSwitchDisableReceiving

Edit:

Wenn das dann endlich funktioniert, wirst du auf dein nächstes Problem stoßen.
Du kannst mit dem seriellen Monitor das Signal nicht auslesen.

HotSystems:
Hatte ich in Post #1 schon geschrieben !

Also nur lesen.

// #define RCSwitchDisableReceiving

Edit:

Wenn das dann endlich funktioniert, wirst du auf dein nächstes Problem stoßen.
Du kannst mit dem seriellen Monitor das Signal nicht auslesen.

Genau das ist mein zweites Problem wieso kann ich keinen Port auswählen?

Hallo,

betrifft ATtiny 25/45/85, lies mal mit Probleme mit Serial.begin(9600) bei Attiny 45 - Deutsch - Arduino Forum

http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf

calik97:
Genau das ist mein zweites Problem wieso kann ich keinen Port auswählen?

Warum machst du dich nicht vorher schlau ?
Wozu gibt es Datenblätter ?
Der ATtiny85 hat diese Serielle nicht,, wie sie beim Atmega328 vorhanden ist.

Edit:
Evtl. solltest du mit deinen Erfahrungen auf einen Arduino Pro Mini oder Nano zurückgreifen.
Damit wird es deutlich einfacher.

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:

Doc_Arduino:
Hallo,

betrifft ATtiny 25/45/85, lies mal mit Probleme mit Serial.begin(9600) bei Attiny 45 - Deutsch - Arduino Forum

http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf


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.

So das ist jetzt mein Code:

#include <RCSwitch.h>
#include "DigiKeyboard.h"

RCSwitch mySwitch = RCSwitch();

void setup() {
    cli();
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
}

void loop() {
  DigiKeyboard.sendKeyStroke(0);
 if (mySwitch.available()) {
    DigiKeyboard.println("Unknown enc111oding");
    int value = mySwitch.getReceivedValue();
    
    if (value == 0) {
      DigiKeyboard.println("Unknown encoding");
    } else {
      DigiKeyboard.println("Unknown");
      DigiKeyboard.println("Received ");
      DigiKeyboard.println( mySwitch.getReceivedValue() );
      DigiKeyboard.println(" / ");
      DigiKeyboard.println( mySwitch.getReceivedBitlength() );
      DigiKeyboard.println("bit ");
      DigiKeyboard.println("Protocol: ");
      DigiKeyboard.println( mySwitch.getReceivedProtocol() );
    }

    mySwitch.resetAvailable();
  }
}

Aber er zeigt mir im Text Editor nichts an. Die Test Programme funktionieren. und am pin 5 liegen immer 5v.

Hallo,
wegen der seriellen, lies nochmal den Link. Immer und immer wieder bis du den Unterschied siehst. Steht direkt vor Augen. Probleme mit Serial.begin(9600) bei Attiny 45 - Deutsch - Arduino Forum