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
  Sketch für WS2812 klappt nicht ThorstenP 9 119 Gestern 14:50
Letzter Beitrag: ThorstenP
  Nano Every upload geht nicht Jeanlion1 6 137 01.04.2020 17:45
Letzter Beitrag: Tommy56
  Menu funktioniert ohne Serial.println nicht GSA1150 7 143 30.03.2020 18:26
Letzter Beitrag: Tommy56
  Morse Programm Didi_0 12 393 30.03.2020 03:57
Letzter Beitrag: Chopp
  Brauche Hilfe, Was Stimmt an meinem Sketch nicht Andi-1090 12 393 20.03.2020 10:04
Letzter Beitrag: hotsystems
  Hochladen eines Sketches funktioniert nicht otti123 24 912 29.02.2020 18:25
Letzter Beitrag: MicroBahner
  int variable wird nicht in Schleife übertragen ha0248 8 462 11.02.2020 15:25
Letzter Beitrag: ha0248
  MobaTools Library: neue Version 2.0 läuft auch auf ESP8266 MicroBahner 7 636 07.02.2020 11:30
Letzter Beitrag: AnjinSan
  Led will nicht bergfrei 2 1.252 23.01.2020 13:27
Letzter Beitrag: hotsystems
  ATTiny85 sleep time hYtas 7 408 22.01.2020 15:26
Letzter Beitrag: hYtas

Gehe zu:


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