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
12.12.2019, 17:21
Beitrag #49
RE: Programm läuft auf UNO aber nicht auf ATTINY85
(12.12.2019 16:35)hotsystems schrieb:  Und ich hab noch ein wenig weiter experimentiert und festgestellt, nur das starten der Flackerfunktion per IR geht nicht. Mit einem zusätzlichen Taster kann ich die Led dann flackern lassen. Ist schon ein wenig eigenwillig.

Wenn du es mit 2 ATtiny85 aufbaust, dann steuer diese per I2C. Da habe ich mal ein Projekt mit gebaut. Den Link dazu binde ich gleich ein. Hier der Link zum IR-ATtiny85 Modul

Ich dachte eigentlich daran, die beiden einfach mit 2 digitalen EIN/AUSgängen zu verbinden. Damit kann ich ja bis zu 4 unterschiedliche Befehle übertragen, und das reicht mir ja. Habe ja nur 3.
Evtl. kann ich den ATtiny, der die LEDs ansteuert, sogar tief schlafen legen, so das nur noch der andere aufpasst, ob ein IR-Signal ankommt.

Aber die Geschichte aus Deinem Link schaue ich mir auf jeden Fall mal an.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.12.2019, 17:31
Beitrag #50
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Ja, stimmt. 2 digitale Leitungen reichen da auch. Es sind aber nur 3 "Befehle" und einmal Ruhezustand, aber es funktioniert so auch und ist evtl. auch einfacher.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 09:33
Beitrag #51
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Hi

so ich habe es jetzt mit 2 Stück ATtiny85 aufgebaut.

Es klappt hervorragend.

Man kann hier leider kein Video hochladen, sonst hätte ich das gerne getan. So gibt es nur ein Foto Big Grin

Im übrigen läuft es ohne Kondensator und ohne Vorwiderstand im IR-Empfänger.
   

Vielen Dank für Eure Hilfe.

Schöne Grüße und schöne Feiertage.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 10:03 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2019 10:05 von hotsystems.)
Beitrag #52
RE: Programm läuft auf UNO aber nicht auf ATTINY85
(13.12.2019 09:33)Diwo13 schrieb:  so ich habe es jetzt mit 2 Stück ATtiny85 aufgebaut.
Es klappt hervorragend.

Prima, dass es jetzt funktioniert.
Vielen Dank für die Rückmeldung.

Ein endgültiger Sketch wäre siche für viele hier hilfreich.

Zitat:Im übrigen läuft es ohne Kondensator und ohne Vorwiderstand im IR-Empfänger.

Das es so funktioniert, sagt nichts über die stabile Funktion aus.
Alles was du außerhalb der Spezifikation machst, kann irgendwann durch Störungen Probleme bereiten.
Genauso wie die fehlenden 100nF keramischen Kondensatoren an VCC. Die sind ebenso wichtig.
Somit solltest du dich schon an die Vorgaben im Datenblatt halten.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 12:54
Beitrag #53
RE: Programm läuft auf UNO aber nicht auf ATTINY85
(13.12.2019 10:03)hotsystems schrieb:  Prima, dass es jetzt funktioniert.
Vielen Dank für die Rückmeldung.

Ein endgültiger Sketch wäre sicher für viele hier hilfreich.

Das es so funktioniert, sagt nichts über die stabile Funktion aus.
Alles was du außerhalb der Spezifikation machst, kann irgendwann durch Störungen Probleme bereiten.
Genauso wie die fehlenden 100nF keramischen Kondensatoren an VCC. Die sind ebenso wichtig.
Somit solltest du dich schon an die Vorgaben im Datenblatt halten.

Okay hier die beiden Sketche:
Der erste Sketch ist für den Attiny, an dem der IR-Empfänger angeschlossen ist:

Code:
#include <IRremote.h>         //IRremote by shirriff v2.2.3

int RECV_PIN = 2;             //ATTINY 2 / UNO 8 / Nano D6 (6)

int A = 3;  //Kommunikationsleitung 1
int B = 4;   //Kommunikationsleitung 2

IRrecv irrecv(RECV_PIN);
decode_results results;

unsigned long IRSignal;

void setup()
{
  //Serial.begin(9600);
  irrecv.enableIRIn();                                // Start the receiver
  pinMode(A, OUTPUT);
  pinMode(B, OUTPUT);
  pinMode(RECV_PIN, INPUT);                           // ob das Nötig ist?
}

void loop() {  
  if(irrecv.decode(&results)){
   IRSignal = (results.value);
   irrecv.resume();                                   // Receive the next value
  }

switch (IRSignal) {
  case 547631446:                                     //einfacher Tastendruck auf "0" für AUS
      digitalWrite(A, LOW);
      digitalWrite(B, LOW);      
  break;
  case 1229380719:                                    //einfacher Tastendruck auf "1" für Dauerleuchten  
      digitalWrite(A, HIGH);
      digitalWrite(B, LOW);
      //Serial.println("ein");
  break;
  case 2382528827:                                    //doppelter Tastendruck auf "1" für flackern
      digitalWrite(A, HIGH);
      digitalWrite(B, HIGH);  
      //Serial.println("flackern");              
  break;  
  }
}

Dieser hier steuert die LEDs an:

Code:
int LED1 = 0;                
int LED2 = 1;                
int A = 3;
int B = 4;

unsigned long prevMillis = 0;
unsigned long intervall = 0;

int zufall;

void setup()
{
  //Serial.begin(9600);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(A, INPUT);
  pinMode(B, INPUT);
  digitalWrite(LED1, HIGH);                           // LED beim Einschalten der Spannung einschalten
  digitalWrite(LED2, HIGH);                           // LED beim Einschalten der Spannung einschalten  
}

void loop() {  

if ((digitalRead(A) == LOW) && (digitalRead(B) == LOW)){                        //einfacher Tastendruck auf "0" für AUS
      digitalWrite(LED1, LOW);
      digitalWrite(LED2, LOW);
      //Serial.println("aus");
  }
if ((digitalRead(A) == HIGH) && (digitalRead(B) == LOW)){                       //einfacher Tastendruck auf "1" für Dauerleuchten  
      digitalWrite(LED1, HIGH);
      digitalWrite(LED2, HIGH);
  }
if ((digitalRead(A) == HIGH) && (digitalRead(B) == HIGH)){
    if(millis() - prevMillis > intervall){            
      prevMillis = millis();  
      intervall = random(75, 100);                    //zufällige Pausenzeit zwischen den Änderungen der Helligkeit
      zufall = random(50, 255);                       //zufällige Helligkeit
      analogWrite(LED1, zufall);
      analogWrite(LED2, zufall);    
      //Serial.println("flackern");      
    }
  }
}

Wobei ich noch keine Sleep-Funktion eingebracht habe, das kann ich hier zu Hause mangels vernünftigem Messgerät leider nicht kontrollieren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 16:43
Beitrag #54
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Danke,
das hilft sicher bei ähnlichen Problemen weiter.

Ich werde wohl demnächst mal einen Test mit dem ATtiny84 durchführen, interessiert mich halt, ob der das komplett kann.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.12.2019, 16:50
Beitrag #55
RE: Programm läuft auf UNO aber nicht auf ATTINY85
(13.12.2019 16:43)hotsystems schrieb:  Danke,
das hilft sicher bei ähnlichen Problemen weiter.

Das wäre schön

(13.12.2019 16:43)hotsystems schrieb:  Ich werde wohl demnächst mal einen Test mit dem ATtiny84 durchführen, interessiert mich halt, ob der das komplett kann.

Ja das würde mich dann auch interessieren. Ich halte hier mal die Augen auf Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.12.2019, 17:45 (Dieser Beitrag wurde zuletzt bearbeitet: 17.12.2019 17:46 von Diwo13.)
Beitrag #56
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Hallo zusammen

Es ist fertig. Ich habe sogar noch -Danke für den Hinweis Dieter- alle Kondensatoren und Vorwiderstände eingebaut.

Jetzt würde ich Euch gerne das Ergebnis präsentieren, dass es ja so nur Dank Eurer Unterstützung gibt.
Gibt es hier denn die Möglichkeit ein Video hoch zu laden?

Erstmal ein paar Bilder.
Das Batteriegehäuse wird noch in irgendetwas dekoratives eingepackt und hängt dann mit im Baum.

               

Nochmal Danke für Eure Unterstützung
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Library Ethernet: Nicht zu compilieren GuaAck 5 171 22.02.2021 17:31
Letzter Beitrag: Tommy56
  von delay auf millis umgestellt, klappt nur nicht. Servo Geschwindigkeit einstellen. gutschy 8 299 21.02.2021 15:22
Letzter Beitrag: gutschy
  MMega2560-Clone läßt sich nicht programmieren kpc 8 367 08.02.2021 09:50
Letzter Beitrag: hotsystems
  If-Schleife wird nicht mehr durchlaufen LK2567 2 233 05.02.2021 21:20
Letzter Beitrag: LK2567
  Tasterabfrage funktioniert nicht Moehn 4 346 05.02.2021 15:23
Letzter Beitrag: Moehn
  Kompiler beschwert sich nicht, LC-Display macht aber nicht, was es soll. generic_user492 3 280 26.01.2021 14:11
Letzter Beitrag: MicroBahner
  Arduino Uno+ Ethernetshield W5100 wird in Fritz Box nicht erkannt Justus S. 14 572 23.01.2021 13:39
Letzter Beitrag: Justus S.
  Die && Verknuepfung von zwei Schaltern auf ESP8266 will nicht. gutschy 6 372 22.01.2021 22:25
Letzter Beitrag: hotsystems
  Zähler zählt nicht wonk 14 628 21.01.2021 20:26
Letzter Beitrag: wonk
  Methode wird nicht aufgerufen rrobbyy 7 405 19.01.2021 15:59
Letzter Beitrag: katsumi_s

Gehe zu:


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