Programm läuft auf UNO aber nicht auf ATTINY85
|
08.12.2019, 11:19
Beitrag #9
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
So
ich habe jetzt den Aufbau in der Richtung geändert, das der Kondensator (22uF) und der Widerstand(330Ohm) in der Spannungsversorgung des TSOP liegen wie im Schaltplan. Auf dem UNO funktioniert das Programm wie gehabt problemlos. Auf dem TINY werden die Signal des TSOP leider immer noch ignoriert. Was mir allerdings aufgefallen ist, das wenn ich manchmal mehrfach die die Taste "1" der Fernbedienung drücke die LED ausgeht. Also scheint dann "irgend etwas" anzukommen. Kann es sein das der Tiny mit unsigned long Probleme hat? |
|||
08.12.2019, 11:26
Beitrag #10
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Hallo,
den Wert des Widerstandes und Kondensator hat Michael ja schon genannt. Das ist rel. unkritisch. Es kann natürlich auch ohne die funktionieren, man sollte sich aber schon an die Datenblätter halten. Und das mit dem "Bootloader" hatte ich ja schon geschrieben. Der muss drauf, damit der ATtiny85 weiß, mit welcher Frequenz er arbeiten soll. Das ist kein echter Bootloader, sondern nur ein setze der Parameter, auch Fuses genannt. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
08.12.2019, 11:42
(Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2019 11:51 von Diwo13.)
Beitrag #11
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
(08.12.2019 11:26)hotsystems schrieb: Und das mit dem "Bootloader" hatte ich ja schon geschrieben. Der muss drauf, damit der ATtiny85 weiß, mit welcher Frequenz er arbeiten soll. Das ist kein echter Bootloader, sondern nur ein setze der Parameter, auch Fuses genannt. Habe ich den Bootloader gebrannt, indem ich in der Arduino IDE den Menüpunkt Bootloader brennen angewählt habe ? Vorher natürlich 8MHz internal ausgewählt ! EDIT: Ich programmiere den ATTINY85 mit dem UNO und "Arduinio as ISP" |
|||
08.12.2019, 11:51
Beitrag #12
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
(08.12.2019 11:42)Diwo13 schrieb: Habe ich den Bootloader gebrannt, indem ich in der Arduino IDE den Menüpunkt Bootloader brennen angewählt habe ? Sobald der fehlerfrei durchläuft, ja. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
08.12.2019, 12:01
(Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2019 12:05 von Diwo13.)
Beitrag #13
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
So
ich bin jetzt einen Schritt weiter -glaube ich- Ich habe den Bootloader "16MHz internal" gebrannt (arduino IDE) Danach den Sketch hochgeladen. Jetzt kann ich über die Fernbedienung EIN und AUS schalten. Mehrfach. Problemlos. Drücke ich aber doppelt auf die EIN-Taste was ja eine andere Codierung hat, scheint sich der ATTINY aufzuhängen. Danach geht nichts mehr. Kein EINschalten und kein AUSschalten. Bis ich den ATTINY von der Versorgungsspannung trenne und neu starte. EDIT: versuche ich zuviele Timer zu benutzen durch PWM und Zufallswerte und delay? Ich hänge den Sketch nochmal an: Code: /* |
|||
08.12.2019, 12:07
Beitrag #14
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
OK, das ist doch schon mal einen Schritt weiter, obwohl es auch mit 8MHz funktionieren muss.
Was das doppelte Drücken auf der FB angeht, habe ich keine Erfahrung, da musst du einfach experimentieren. Mein Tipp wäre hier, die Funktion "Switch/Case" zu verwenden. Die setze ich auch immer in diesen Anwendungen ein, da die besser zu durchschauen sind. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
08.12.2019, 13:11
Beitrag #15
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Hallo Dieter
nachdem alles nicht so gut klappt habe ich Deinen Tipp befolgt und auf Switch/Case geändert. Das Ergebnis ist im Prinzip das Gleich wie mit meinen IFs. Aber ordentlicher sieht es tatsächlich aus. Danke für den Hinweis ![]() Also wieder auf 16MHz geflasht und zusätzlich habe ich das flackern mit Zufallszahlen rausgenommen und schalte die LED in diesem CASE nur mit den delay(3000) Ein und Aus. Wobei das keine 3 Sekunden sind sondern ein ganz schnelles flackern ![]() Aber kleiner Erfolg. Er erkennt die 3 unterschiedlichen Signale, die die Fernbedienung aussendet. Die FB sendet folgende Signal: EIN 4946DC6F / 1229380719 (Taste 1) AUS 20A43156 / 547631446 (Taste 0) blinken 8E02813B / 2382528827 (Taste 1 zweimal schnell hintereinander drücken) Wobei das vordere der HEX Wert ist, und das hintere der Wert mit dem ich hier arbeite Code: /* |
|||
08.12.2019, 13:52
Beitrag #16
|
|||
|
|||
RE: Programm läuft auf UNO aber nicht auf ATTINY85
Hallo,
das mit den nacheinander folgenden Codes hat folgenden Hintergrund: Einmal drücken kommt der erste Code zum tragen, länger drücken, kommt zusätzlich der zweite Code und soll je nach Anwendung z.B. eine Lampe dimmen. Ich würde das in deinem Fall auch so auswerten. Was die geflashte Frequenz betrifft, musst du mal mit einem einfachen Blinksketch prüfen, ob tatsächlich 1sek. eingehalten wird. Es ist immer wichtig, wenn du den 16MHz Bootloader drauf hast, auch mit 16 MHz zu flashen, genauso auch mit anderen Taktfrequenzen. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste