IRBox - Arduino Code verkleinern

OP #3470210
Lesenswert?

Hallo
Ich möchte eine kleine Box bauen, welche auf das Signal einer 
gewöhnlichen IR Fernbedienung reagiert und dann eine Funksteckdose 
schaltet. Das Ganze funktioniert einwandfrei mit einem Arduino Uno. Nun 
möchte ich eine Platine herstellen. Da ich eigentlich nur zwei Pins 
benötige, dachte ich, dass ich einen Attiny 85 nutzen könnte. Dieser hat 
aber nur 8Kb Flash Speicher. Mein Code hat rund 11Kb. Ich wollte fragen, 
ob jemand eine Idee hat, um den Code zu verkleinern, dass er auf einen 
Attiny 85 passt.
Hier der Code:
1
#include <RCSwitch.h>
2

3
#include <IRremote.h>
4

5
int RECV_PIN = 11;
6

7
IRrecv irrecv(RECV_PIN);
8

9
decode_results results;
10
RCSwitch mySwitch = RCSwitch();
11

12
void setup() {
13
  Serial.begin(9600);
14
  mySwitch.enableTransmit(10);
15
  irrecv.enableIRIn();
16
}
17

18
void loop() {
19
  if (irrecv.decode(&results)) {
20
    /*if(results.value==0xF21169DD||results.value==0xC5F4A8B0){
21
       mySwitch.send(5308436, 24); 
22
    }
23
     if(results.value==0x95C6EAD7||results.value==0x8A353E12){
24
       mySwitch.send(5308437, 24); 
25
    }*/
26
    if(results.value==0xC708F){
27
       mySwitch.send(5308436, 24); 
28
    }
29
     if(results.value==0xCB04F){
30
       mySwitch.send(5308437, 24); 
31
    }
32
    irrecv.resume(); // Receive the next value
33
  }
34
 
35
}
Bitte um Hilfe
Gast #3470376
Lesenswert?

Roman B. schrieb:
> Dieser hat
> aber nur 8Kb Flash Speicher.
Nein es sind 8KB, nicht 8Kb.

Roman B. schrieb:
> Mein Code hat rund 11Kb
Wenns wirklich 11Kb sind, und nicht 11KB, sehe ich da kein Problem.

Also, ohne jetzt zu wissen was in
1
#include <RCSwitch.h>
2
#include <IRremote.h>
drin steht, wenn das bisschen Code da oben 11KB sein sollen...
Wo steht das es 11KB sein sollen?

Grüße
Gast #3470387
Lesenswert?

Ein Programm, das für einen Arduino Uno compiliert wurde läuft auf einem 
ATTiny 85 nicht. Und für einen ATTiny 85 zu compilieren wird auch nicht 
gehen, da es keinen Arduino mit diesem Prozessor gibt.
Daneben wird man den Code nicht verkleinern können, da die IR-Library 
nun mal mehr als 8kB braucht. Darin ist er Bootloader noch nicht mal 
enthalten.

Ergo: ATTiny 85 -> ATMega 328 und alles wird gut.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren