INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Programm läuft auf UNO aber nicht auf ATTINY85
07.12.2019, 08:52
Beitrag #1
Programm läuft auf UNO aber nicht auf ATTINY85
Hallo zusammen

Ich habe da ein kleines Problem und mich aus diesem Grund in diesem Forum hier angemeldet. Wäre schön wenn mir hier jemand auf die sprünge helfen könnte.

Ich empfange über eine IR-Fernbedienung Signale, mit denen ich 2 LEDs ansteuern möchte.
Die Fernbedienung hat Tasten "1" und "0" und ist von kabellosen Christbaumkerzen. Jetzt soll mit den Christbaumkerzen auch die LEDs im selbstgedruckten Stern mit angehen.

Das folgende Programm funktioniert genau so wie es soll auf dem Arduino UNO.
Spiele ich es aber auf den ATTINY 85, läuft zwar das Programm, aber die Signale der IR-Fernbedienung werden nicht ausgewertet.

Das das Programm läuft, erkenne ich daran, das die LEDs beim Einschalten der Versorgungsspannung angehen, bzw. wenn ich diese Zeilen auskommentiere werden sie eben nicht eingeschaltet.

Auf dem ATTINY85 nutze ich die Pins wie im Programm unten angegeben. Auf dem UNO nutze ich natürlich andere.

Die Infrarot-Signale empfange ich über einen TSOP48.

Vielleicht kann mir jemand sagen wo das Problem liegt?

Vielen Dank

Code:
#include <IRremote.h>

int LED1 = 0;
int LED2 = 1;
int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN);
decode_results results;

unsigned long test;
int zufall1;
int zufall2;

void setup()
{
  //Serial.begin(9600);
  irrecv.enableIRIn();                                // Start the receiver
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(RECV_PIN, INPUT);
  
  digitalWrite(LED1, HIGH);                           // LED beim Einschalten der Spannung einschalten
  digitalWrite(LED2, HIGH);                           // LED beim Einschalten der Spannung einschalten
}

void loop() {  
  if(irrecv.decode(&results))
  {
   test = (results.value);
   irrecv.resume();                                   // Receive the next value
  }
  
  if ((test == 547631446) || (test == 1320442641)){   //einfacher Tatsendruck auf "0" für AUS
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    //Serial.println("aus");
  }
  
  if (test == 1229380719){                              //einfacher Tastendruck auf "1" für Dauerleuchten          
    digitalWrite(LED1, HIGH);
    digitalWrite(LED2, HIGH);
    //Serial.println("ein");
  }
  
  if (test == 2382528827){                              //zweifacher Tastendruck auf "1" für flackern
    
    zufall1 = random(50, 200);
    zufall2 = random(100, 255);
    
    //Serial.println("blinken");
    
    analogWrite(LED1, 255);
    analogWrite(LED2, 255);
    
    delay(zufall1/2);
    
    analogWrite(LED1, zufall2);
    analogWrite(LED2, zufall2);
    
    delay(30);    
  }
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2019, 10:37
Beitrag #2
RE: Programm läuft auf UNO aber nicht auf ATTINY85
(07.12.2019 08:52)Diwo13 schrieb:  Hallo zusammen

Ich habe da ein kleines Problem und mich aus diesem Grund in diesem Forum hier angemeldet. Wäre schön wenn mir hier jemand auf die sprünge helfen könnte.

Ich empfange über eine IR-Fernbedienung Signale, mit denen ich 2 LEDs ansteuern möchte.
Die Fernbedienung hat Tasten "1" und "0" und ist von kabellosen Christbaumkerzen. Jetzt soll mit den Christbaumkerzen auch die LEDs im selbstgedruckten Stern mit angehen.

Das folgende Programm funktioniert genau so wie es soll auf dem Arduino UNO.
Spiele ich es aber auf den ATTINY 85, läuft zwar das Programm, aber die Signale der IR-Fernbedienung werden nicht ausgewertet.

Das das Programm läuft, erkenne ich daran, das die LEDs beim Einschalten der Versorgungsspannung angehen, bzw. wenn ich diese Zeilen auskommentiere werden sie eben nicht eingeschaltet.

Auf dem ATTINY85 nutze ich die Pins wie im Programm unten angegeben. Auf dem UNO nutze ich natürlich andere.

Die Infrarot-Signale empfange ich über einen TSOP48.

Vielleicht kann mir jemand sagen wo das Problem liegt?

Vielen Dank
...

Moin,
ich vermute mal das es einfach daran liegt das der Tiny mit maximal 8MHz getaktet wird während der UNO 16MHz hat. Zudem hat der Tiny weniger Timer wenn ich mich so aus dem Stegreif heraus nicht irre.
Zudem läuft ein jungfräulicher Tiny nur auf 1MHz wenn man das in den Fuses nicht ändert.
lgbk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2019, 12:06
Beitrag #3
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Poste doch mal ein Schaltbild, wie du alles angeschlossen hast.

Bei mir funktioniert eine IR-Fernbedienung auf dem ATtiny85 sehr gut, allerdings immer auf 8MHz.
Das solltest du mal checken, wie Bitklopfer schon geschrieben hat.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2019, 16:23 (Dieser Beitrag wurde zuletzt bearbeitet: 07.12.2019 16:25 von Diwo13.)
Beitrag #4
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Hi

aktuell gibt es keinen Schaltplan. Den müsste ich erst zeichnen.
So in etwa (ich hoffe man kann erkenne was ich meine) ist der Aufbau
Code:
-------------
       --(1) o      (5)-- 5V
           |           |
       --(2)         (6)-- Signal des TSOP48 (Pin1 des TSOP)
           |            |
       --(3)          (7)-- --- R --- LED --- GND
           |             |
GND  --(4)         (8)-- --- R --- LED --- GND
           -------------

Ich glaube ich habe den mit den 1 MHz die in der Arduini IDE voreingestellt beschreiben. Kann man das einfach auf die 8 MHz umstellen oder muss ich da noch mehr für unternehmen?

Danke schonmal für Eure Hinweise.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2019, 16:30 (Dieser Beitrag wurde zuletzt bearbeitet: 07.12.2019 16:32 von hotsystems.)
Beitrag #5
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Dann sieh dir mal das Pinout vom ATtiny85 an.
Deine Belegung ist total falsch, das kann nicht funktionieren.

Du solltest dir angewöhnen, immer ein Schaltbild von deinen Projekten zu zeichnen.
Dann findest du deine Fehler selbst besser.

Und ja, wenn du den ATtiny85 mit 8MHz flashen willst, muss ein 8MHz "Bootloader" drauf. Der muss vorher geflasht werden.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
07.12.2019, 16:34
Beitrag #6
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Und wenn du den TSOP richtig anschließen willst, braucht der einen Vorwiderstand und einen Elko auf VCC.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.12.2019, 10:15 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2019 10:31 von Diwo13.)
Beitrag #7
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Moin zusammen

Werde gleich mal schauen wie es weiter geht.

(07.12.2019 16:30)hotsystems schrieb:  Dann sieh dir mal das Pinout vom ATtiny85 an.
Deine Belegung ist total falsch, das kann nicht funktionieren.

Du solltest dir angewöhnen, immer ein Schaltbild von deinen Projekten zu zeichnen.
Dann findest du deine Fehler selbst besser.

Ich habe mal einen aktuellen Schaltplan mit Fritzing erstellt. Was ist denn auf das PinOut des ATTINY85 total falsch? (mag sein das das in meiner obigen "Zeichnung" nicht richtig zu erkennen war)

(07.12.2019 16:34)hotsystems schrieb:  Und wenn du den TSOP richtig anschließen willst, braucht der einen Vorwiderstand und einen Elko auf VCC.

Habe ich gerade auch im DataSheet des TSOP gesehen.
Seltsam nur, das es auf dem Arduino UNO auch ohne diesen Widerstand und Kondensator geht.
Kannst Du mir sagen welche Werte R1 und C1 haben müssen? Ich kann mit dem Satz "R 1 and C 1 recommended to reduce supply ripple for V S < 2.8 V" leider nicht viel anfangen Huh

EDIT: Wenn ich in der Arduino IDE unter " Werkzeuge" "8 MHz internal Clock" auswähle, ist das dann mit 8 MHz geflasht, oder muss ich in der Arduino IDE "Bootloader brennen" wählen? (Oder eventuell gar nicht so einfach?)

       


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.12.2019, 10:32 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2019 10:32 von amithlon.)
Beitrag #8
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Hallo,

(08.12.2019 10:15)Diwo13 schrieb:  
(07.12.2019 16:34)hotsystems schrieb:  Und wenn du den TSOP richtig anschließen willst, braucht der einen Vorwiderstand und einen Elko auf VCC.

Habe ich gerade auch im DataSheet des TSOP gesehen.
Seltsam nur, das es auf dem Arduino UNO auch ohne diesen Widerstand und Kondensator geht.
Kannst Du mir sagen welche Werte R1 und C1 haben müssen? Ich kann mit dem Satz "R 1 and C 1 recommended to reduce supply ripple for V S < 2.8 V" leider nicht viel anfangen Huh

die TSOP sind relativ gutmütig, wird erst bei größerer Reichweite problematisch.
Eins der TSOP Datenblätter sagt 33Ohm...1k und C größer 0,1µ
Bei mir sind es meist 330Ohn/10µ, da habe ich genug von. Wink

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Simple if Bedingung funktioniert nicht (Anfänger) Maxcruiser 12 195 22.09.2020 16:12
Letzter Beitrag: hotsystems
  Hochladen eines Sketches funktioniert nicht otti123 29 2.600 05.09.2020 15:33
Letzter Beitrag: hotsystems
  Uno startet nicht j.klomfass 4 528 08.07.2020 10:09
Letzter Beitrag: j.klomfass
  Arduino Programm funktioniert auf nano nicht Arduino DMX Master 10 1.305 15.06.2020 13:07
Letzter Beitrag: Arduino DMX Master
  DMX Addresirung funktionirert nicht Arduino DMX Master 24 1.640 14.06.2020 15:38
Letzter Beitrag: Tommy56
  Arduino IDE läuft nicht mehr Rainer2 12 1.406 10.06.2020 12:04
Letzter Beitrag: Tommy56
  Arduino Programm Geht nicht mehr auf Arduino DMX Master 2 1.294 09.06.2020 20:13
Letzter Beitrag: Arduino DMX Master
  4 Zeilen im Display Modul 0.69" IIC I2C, aber wie? Christian_Moba-Arduino 7 656 17.05.2020 13:12
Letzter Beitrag: Christian_Moba-Arduino
  strcmp funktioniert nicht richtig Cano 7 804 25.04.2020 10:47
Letzter Beitrag: Cano
  SoftwareSerial.h und SD.h vertragen sich nicht sowerum 25 2.088 25.04.2020 10:46
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste