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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.