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
  Hochladen eines Sketches funktioniert nicht otti123 29 2.469 05.09.2020 15:33
Letzter Beitrag: hotsystems
  Uno startet nicht j.klomfass 4 512 08.07.2020 10:09
Letzter Beitrag: j.klomfass
  Arduino Programm funktioniert auf nano nicht Arduino DMX Master 10 1.269 15.06.2020 13:07
Letzter Beitrag: Arduino DMX Master
  DMX Addresirung funktionirert nicht Arduino DMX Master 24 1.583 14.06.2020 15:38
Letzter Beitrag: Tommy56
  Arduino IDE läuft nicht mehr Rainer2 12 1.359 10.06.2020 12:04
Letzter Beitrag: Tommy56
  Arduino Programm Geht nicht mehr auf Arduino DMX Master 2 1.271 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 636 17.05.2020 13:12
Letzter Beitrag: Christian_Moba-Arduino
  strcmp funktioniert nicht richtig Cano 7 791 25.04.2020 10:47
Letzter Beitrag: Cano
  SoftwareSerial.h und SD.h vertragen sich nicht sowerum 25 2.055 25.04.2020 10:46
Letzter Beitrag: hotsystems
  Morse Programm Didi_0 14 1.461 04.04.2020 21:13
Letzter Beitrag: ardu_arne

Gehe zu:


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