Hallo zusammen, zuerst mal: ich habe erst vor kurzem mit Arduino angefangen und will da auch nicht so tief einsteigen, sondern nur ein Projekt vollenden. Das erstmal dazu. Ich habe schon exrem viel gelesen, aber leider komme ich nicht weiter und wenn ich nicht weiter weiss, komme ich hierher zu den Profis. Mein Kopf expodiert so langsam und ich habe keine Ideen mehr. Ich habe einen Arduino nano und einen DFplayer. Damit wollte ich nun mp3s abspielen, die auf der SD karte sind. Die SD-karte ist FAT32 formatiert und hat einen Ordner namens MP3 drin mit mp3 Dateien, die nach 0001.mp3 0002.mp3 usw. benannt sind. Die mp3s sind korrekt aufgebaut, also 44,1khz, CBR 192kbit, jede Datei hat etwa 7,2MB. Ich habe den Arduino mit dem DFplayer verdrahtet. Ich habe schon etliche Verdrahtungsversionen aus dem Internet versucht, nichts funktioniert. Der DFplayer spielt einfach nichts ab, er kann nicht vom Arduino gestartet werden. Die Lautsprecher sind 4 Ohm Lautsprecher aus einem Notebook, also nur wenig watt und die passen. An der Verdrahtung und den Komponenten glaube ich liegt es nicht, aber vielleicht am Code und der Bibliothek? Falls jemand einen definitiv funktionierenden Code hat mit funktionierender Bibliothek, würde ich mich sehr freuen die mal zu testen. Nochwas: ich habe gesehen, dass die meisten einen 1k ohm Widerstand zwischen Rx dfplayer und pin11 vom arduino machen. das habe ich auch. Ich habe aber auch eine Schaltung gesehen, in der zwischen Tx und pin10 auch ein 1k ohm Widerstand geschalten wurde. nur einmal gesehen, aber vielleicht weiss jemand, was nun korrekt ist. Probiert habe ich das auch, ging aber trotzdem nicht. Am Ende sollen dann die mp3s abgespielt werden, wenn ein PIR ein Signal schickt. Das nur vorweg, aber davon schein ich noch Lichtjahre entfernt zu sein... im Anhang der Code inkl PIR.
:
Bearbeitet durch User
Masse ist komplett overrated. Spannungen sind Potential-Unterschiede. Da Du keine Potentiale definiert hast (keine gemeinsame Masse) -> Wer weiss was da passiert. Den Text habe ich mir kaum durchgelesen, Schaltplaene sind die Sprache der Techniker.
Vax W. schrieb: > Masse ist komplett overrated. > > Spannungen sind Potential-Unterschiede. Da Du keine Potentiale definiert > hast (keine gemeinsame Masse) -> Wer weiss was da passiert. > > Den Text habe ich mir kaum durchgelesen, Schaltplaene sind die Sprache > der Techniker. das verstehe ich, pläne sagen mehr als 1000 worte. hier mal den aktuellen schaltplan (habe gerade nochmal den PIR involviert) hier der code den ich als letztes verwendet habe: #include "Arduino.h" #include "SoftwareSerial.h" #include "DFRobotDFPlayerMini.h" SoftwareSerial mySoftwareSerial(10, 11); // RX, TX DFRobotDFPlayerMini myDFPlayer; int ausloeser = 8; //Bewegungsmelder Pin 8 int daistwer; void setup() { mySoftwareSerial.begin(9600); Serial.begin(115200); pinMode(ausloeser, INPUT); Serial.println(); Serial.println(F("DFRobot DFPlayer Mini")); Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3. Serial.println(F("Unable to begin:")); Serial.println(F("1.Please recheck the connection!")); Serial.println(F("2.Please insert the SD card!")); while(true){ delay(0); // Code to compatible with ESP8266 watch dog. } } Serial.println(F("DFPlayer Mini online.")); myDFPlayer.volume(16); //setze lautstaerke von 0 bis 30 } void loop() { delay(5000); daistwer = digitalRead(ausloeser); Serial.println(F("wert bewegung: ")); Serial.println(daistwer); if (daistwer == 1){ myDFPlayer.play(1); //Play the first mp3 delay(25000); } }
serial monitor gibt aus: DFRobot DFPlayer Mini Initializing DFPlayer ... (May take 3~5 seconds) Unable to begin: 1.Please recheck the connection! 2.Please insert the SD card! klingt offensichtlich, ist es aber nicht. sd karte ist natürlich drinnen und kabel sind auch dran und leiten.
der strom kommt übrigens via USB vom PC an den arduino
Gio B. schrieb: > zuerst mal: ... verwendest Du Groß- / Kleinschreibung und Satzzeichen, damit Deine Romane halbwegs lesbar werden.
hier der Code als Anhang und ab jetzt mit korrekter Rechtschreibung. Tut mir leid.
:
Bearbeitet durch User
Manfred P. schrieb: > Gio B. schrieb: >> zuerst mal: > > ... verwendest Du Groß- / Kleinschreibung und Satzzeichen, damit Deine > Romane halbwegs lesbar werden. ich habe es da wo es ging korrigiert. Danke für den Hinweis und verzeih mein Faulheit.
Gio B. schrieb: > hier mal den aktuellen schaltplan Das ist übrigens kein Schaltplan, das ist ein Wimmelbild aus dem Fritzing-Kindergarten. Man kann da übrigens auch Schaltpläne mit malen! Und wenn die Initialisierung nicht klappt, hilft nur ein Oszi an den Signalen. Dann siehst du, wo es hakt!
Helmut -. schrieb: > Gio B. schrieb: >> hier mal den aktuellen schaltplan > > Das ist übrigens kein Schaltplan, das ist ein Wimmelbild aus dem > Fritzing-Kindergarten. Man kann da übrigens auch Schaltpläne mit malen! Stimmt, es ist kein Schaltplan, aber es geht ja darum zu zeigen, wie ich alles angeschlossen habe. Das erkennt man denke ich ganz gut auf dem Bild. > Und wenn die Initialisierung nicht klappt, hilft nur ein Oszi an den > Signalen. Dann siehst du, wo es hakt! Ein Oszilloskop habe ich leider nicht. ich habe ein Fluke 87 V Multimeter. Kann ich damit vielleicht irgendwas wichtiges messen?
:
Bearbeitet durch User
Funktioniert es ohne uC, mit Tastern an ADKEY und IO? Um sicher zu sein, dass Versorgung, Karte, Dateisystem, ... passen? Andere Pins für Serial?
Harry R. schrieb: > Funktioniert es ohne uC, mit Tastern an ADKEY und IO? Um sicher zu sein, > dass Versorgung, Karte, Dateisystem, ... passen? > > Andere Pins für Serial? Kannst du genauer sagen, was ich testen soll? Ich bin leider ein Laie. Soll ich ADKEY und IO verbinden? Wenn ja, welche Anschlüsse genau?
Harry R. schrieb: > Funktioniert es ohne uC, mit Tastern an ADKEY und IO? Um sicher zu sein, > dass Versorgung, Karte, Dateisystem, ... passen? > > Andere Pins für Serial? Ich habe gerade io1 und Ground verbunden. Er spielte eine mp3 ab.
Helmut -. schrieb: > Das ist übrigens kein Schaltplan, das ist ein Wimmelbild aus dem > Fritzing-Kindergarten. Ich mag diese Kinderbilder auch nicht, aber hier ist es ja sehr übersichtlich, so dass man es tolerieren sollte. > Man kann da übrigens auch Schaltpläne mit malen! Besser nicht, dazu gibt es in µC-net genug Beispiele, wie die dann nicht aussehen sollten. > Und wenn die Initialisierung nicht klappt, hilft nur ein Oszi an den > Signalen. Dann siehst du, wo es hakt! Ich frage mich, was ich da sehen würde - außer, dass die Leitungen wackeln. Gio B. schrieb: > jetzt mit korrekter Rechtschreibung. Danke, das Du so positiv darauf eingegangen bist. Ich bin etwas irritiert, was der 1K-Widerstand an D11 soll. Dann frage ich mal Google nach der Library und finde diese bei Arduino.cc - hängt an. In dieser sind Programmbeispiele "examples" und dort fällt mir auf, dass diese andere Datenleitungen verwenden.
1 | #include <SoftwareSerial.h> |
2 | SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
3 | #define FPSerial softSerial
|
In den Beispielen steht UNO, aber der Nano verhält sich exakt gleich. Ich würde jetzt die Beispiele durchtesten, bevor ich eigenen Programmcode baue!
:
Bearbeitet durch User
Manfred P. schrieb: > Ich bin etwas irritiert, was der 1K-Widerstand an D11 soll. > Soweit ich das verstanden habe dürfen auf dem Datenpin Rx vom DFPlayer keine 5V anliegen. Daher muss da ein 1k Ohm Widerstand rein. Ich habe nun auch auf dem Tx einen reingemacht aber dank deiner Frage habe ich nicht nur nachgemacht sondern nachgedacht und der am Tx macht keinen Sinn, da der Arduino das Signal vom DFPlayer auch ohne Widerstand verkraftet. > Dann frage ich mal Google nach der Library und finde diese bei > Arduino.cc - hängt an. In dieser sind Programmbeispiele "examples" und > dort fällt mir auf, dass diese andere Datenleitungen verwenden. > >
1 | #include <SoftwareSerial.h> |
2 | > SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
3 | > #define FPSerial softSerial |
4 | >
|
Danke dir! > In den Beispielen steht UNO, aber der Nano verhält sich exakt gleich. Das kann ich bestätigen. > Ich würde jetzt die Beispiele durchtesten, bevor ich einen eigenen > Programmcode baue! Ja das teste ich mal. Mir war so als ob der Arduino feste Seriellports hat, aber man die aus irgendeinem Grund nicht nutzen soll und stattdessen mit diesem softwareserial arbeitet und dann Pin 10 und 11 nimmt. Genaueres habe ich nicht verstanden, ist mir auch egal welcher Pin, Hauptsache es läuft bald...
:
Bearbeitet durch User
Manfred P. schrieb: > Ich würde jetzt die Beispiele durchtesten, bevor ich eigenen > Programmcode baue! Ich habe den GetStarted tatsächlich schon mal getestet bzw. testen wollen. Der gibt mir beim Überprüfen folgenden Fehler:
1 | GetStarted.ino:33:21: Fehler: Redefinition von »DFRobotDFPlayerMini myDFPlayer« |
2 | sketch_nov20a.ino:8:21: Anmerkung: »DFRobotDFPlayerMini myDFPlayer« previously declared here |
3 | GetStarted.ino: In Funktion »void setup()«: |
4 | GetStarted.ino:36:6: Fehler: Redefinition von »void setup()« |
5 | sketch_nov20a.ino:12:6: Anmerkung: »void setup()« previously defined here |
6 | GetStarted.ino:30:18: Fehler: »Serial1« wurde in diesem Gültigkeitsbereich nicht definiert |
7 | GetStarted.ino:41:3: Anmerkung: bei Substitution des Makros »FPSerial« |
8 | GetStarted.ino: In Funktion »void loop()«: |
9 | GetStarted.ino:64:6: Fehler: Redefinition von »void loop()« |
10 | sketch_nov20a.ino:33:6: Anmerkung: »void loop()« previously defined here |
Der Code
1 | #include <DFRobotDFPlayerMini.h> |
2 | #include "DFRobotDFPlayerMini.h" |
3 | #include "Arduino.h" |
4 | #include "SoftwareSerial.h" |
5 | #include "DFRobotDFPlayerMini.h" |
6 | |
7 | SoftwareSerial mySoftwareSerial(4, 5); // RX, TX |
8 | DFRobotDFPlayerMini myDFPlayer; |
9 | int ausloeser = 9; //Bewegungsmelder Pin 9 |
10 | int daistwer; |
11 | |
12 | void setup() |
13 | { |
14 | mySoftwareSerial.begin(9600); |
15 | Serial.begin(115200); |
16 | pinMode(ausloeser, INPUT); |
17 | Serial.println(); |
18 | Serial.println(F("DFRobot DFPlayer Mini")); |
19 | Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); |
20 | |
21 | if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3. |
22 | Serial.println(F("Unable to begin:")); |
23 | Serial.println(F("1.Please recheck the connection!")); |
24 | Serial.println(F("2.Please insert the SD card!")); |
25 | while(true){ |
26 | delay(0); // Code to compatible with ESP8266 watch dog. |
27 | } |
28 | } |
29 | Serial.println(F("DFPlayer Mini online.")); |
30 | myDFPlayer.volume(16); //setze lautstaerke von 0 bis 30 |
31 | } |
32 | |
33 | void loop() |
34 | { |
35 | delay(5000); |
36 | daistwer = digitalRead(ausloeser); |
37 | Serial.println(F("wert bewegung: ")); |
38 | Serial.println(daistwer); |
39 | if (daistwer == 1){ |
40 | myDFPlayer.play(1); //Play the first mp3 |
41 | delay(25000); |
42 | } |
43 | } |
gibt mir keinen Fehler, aber läuft auch nicht, obwohl nun die Pins auf Rx-D4 und Tx-D5 geändert wurden. Ich bekomme nur ein kleines Knacken vom Lautsprecher beim Übertragen. Es gibt noch Tx1 und Rx0 auf dem Arduino als Pin. Kann man die auch verwenden?
:
Bearbeitet durch User
Man kann den auch erstmal nur mit 2 Tasten bedienen: Ein Taster verbindet den IO1 bei Betätigung mit GND. Damit kann man zum vorherigen Titel springen (PREV) oder durch längeres Betätigen die Lautstärke verringern (Vol-). Ein weiterer Tater verbindet den IO2 bei Betätigung mit GND. Damit kann man zum nächsten Titel springen (NEXT) oder durch längeres Betätigen die Lautstärke erhöhen (Vol+).
Peter D. schrieb: > Man kann den auch erstmal nur mit 2 Tasten bedienen: > > Ein Taster verbindet den IO1 bei Betätigung mit GND. Damit kann man > zum vorherigen Titel springen (PREV) oder durch längeres Betätigen die > Lautstärke verringern (Vol-). > Ein weiterer Tater verbindet den IO2 bei Betätigung mit GND. Damit > kann man zum nächsten Titel springen (NEXT) oder durch längeres > Betätigen die Lautstärke erhöhen (Vol+). Ja, das stimmt. Nur momentan läuft der DFPlayer nicht an, wenn er vom Arduino gestartet werden soll. Ich wäre schon mal froh, wenn der DFPlayer anfängt zu spielen, wenn der Arduino Strom bekommt.
Schon mal bei DFRobot geschaut, wie die die Initialisierung richtig machen? https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299
Helmut -. schrieb: > Schon mal bei DFRobot geschaut, wie die die Initialisierung richtig > machen? > https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299 die Webseite hatte ich auch schon angeschaut und jetzt gerade nochmal durchgelesen. Leider konnte ich nichts zum Thema Initialisieren finden. Hast du etwas dazu gelesen? Das Einzige ist der Teil im Code, den habe ich aber bereits drinnen in "meinem" Code:
1 | Serial.println(); |
2 | Serial.println(F("DFRobot DFPlayer Mini")); |
3 | Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)")); |
:
Bearbeitet durch User
Suche hier mal den Thread "MP3 Player für Kinder" oder ähnlich - dort sind die Grundlagen schön beschrieben - auch was die erforderliche Ordner-Struktur angeht.
Gio B. schrieb: > Nur momentan läuft der DFPlayer nicht an, wenn er vom > Arduino gestartet werden soll. Deswegen sollst Du es ja erstmal mit Tasten probieren, also ganz ohne irgendwelche Programme.
Peter D. schrieb: > Gio B. schrieb: >> Nur momentan läuft der DFPlayer nicht an, wenn er vom >> Arduino gestartet werden soll. > > Deswegen sollst Du es ja erstmal mit Tasten probieren, also ganz ohne > irgendwelche Programme. Das funktioniert. Wenn ich io1 mit Masse beides vom DFPlayer verbinde, spielt er die mp3 ab und auch die Lautstärke lässt sich ändern.
Hugo H. schrieb: > Suche hier mal den Thread "MP3 Player für Kinder" oder ähnlich - dort > sind die Grundlagen schön beschrieben - auch was die erforderliche > Ordner-Struktur angeht. Der Order auf der SD karte ist korrekt so und wird vom DFPlayer auch erkannt: MP3 als Ordner und im Ordner dann die Dateien 0001.mp3 0002.mp3 usw.
Offensichtlich funktioniert dieser DFPlayer (sowohl prinzipiell und das Exemplar das bei Dir auf dem Tisch liegt). Du schrubst auch: "er spielt die mp3 ab". Das spielt die mp3 ab die Du ausgewaehlt hast -> Dein DFPlayer ist vermutlich OK. Ich wuerde jetzt nochmal wie folgt vorgehen: https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299, das Ding gemaess "Connection Diagram" verbinden (nur Arduino, 1kR, Player). Und jetzt von der oben genannten Webseite die original Library und das Beispielprogramm laden. Immer zuerst beim Hersteller gucken. Der Hinweis mit der orginal-Firmware (oder Library) ist auch ernst gemeint, vielleicht hast Du eine alte oder modifizierte Version. Ich habe noch einmal nachgeguckt: nano und Uno sind vom Pinout kompatibel. Auch banal: Du hast eine richtige Spannungsquelle? Nicht z.B. ein ganz duennes USB-Kaebelchen wo es am Ende nur 4V rauskommt? Gruesse
Gio B. schrieb: > Der Order auf der SD karte ist korrekt so und wird vom DFPlayer auch > erkannt: MP3 als Ordner und im Ordner dann die Dateien 0001.mp3 0002.mp3 > usw. Dann schau doch hier nochmal nach: https://discourse.voss.earth/t/dfplayer-verschiedene-versionen/681/5
Ja, es gibt verschiedene SW-Versionen vom DF-Player. Jeder hat seine "Macken" woanders. Die lassen sich durchaus umgehen, wenn man die Version des DF-Players kennt. Von daher sei dem TO dringend angeraten, erstmal die Version abzufragen. Das geht mit dem Kommando 0x46.
Gio B. schrieb: > die Webseite hatte ich auch schon angeschaut und jetzt gerade nochmal > durchgelesen. Leider konnte ich nichts zum Thema Initialisieren finden. > Hast du etwas dazu gelesen? > Das Einzige ist der Teil im Code, den habe ich aber bereits drinnen in > "meinem" Code: Das ist nicht die Initialisierung. Die erfolgt eine Zeile tiefer. if (!myDFPlayer.begin(FPSerial, /*isACK = */true, /*doReset = */true)) { //Use FPserial to communicate with mp3. Hast du auch zwei serielle Schnittstellen richtig initialisiert? Am besten ist es immer, erst mal den originalen Herstellercode auszuprobieren und dann eigene Anpassungen zu machen.
:
Bearbeitet durch User
Vax W. schrieb: > Ich wuerde jetzt nochmal wie folgt vorgehen: > https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299, das Ding gemaess > "Connection Diagram" verbinden (nur Arduino, 1kR, Player). Und jetzt von > der oben genannten Webseite die original Library und das > Beispielprogramm laden. Immer zuerst beim Hersteller gucken. Hallo Vax, in dem Diagramm sind die Pins vom Rx auf 11 Arduino und Tx auf 10 Arduino. In dem Code steht aber:
1 | #include <SoftwareSerial.h> |
2 | SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
Ich bin kein Experte aber vielleicht wurde da ein Fehler gemacht?
Hier ist übrigens irgendein Mensch mit Problemen und zuviel Zeit, der alle Beiträge auf -1 setzt. Das Forum hier ist das beste, das es gibt, aber leider verirren sich auch solche Menschen hier.
Helmut -. schrieb: > Hast du auch zwei serielle Schnittstellen richtig initialisiert? Wie macht man das?
Frank M. schrieb: > Von daher sei dem TO dringend angeraten, erstmal die Version abzufragen. > Das geht mit dem Kommando 0x46. Ich habe den Arduino an den DFPlayer angeschlossen (mittlerweile verlötet, damit wirklich alles leitet und bin auf den Serial Monitor. Dort kam wieder der Init-Fehler. Ich habe dann 0x46 eingegeben und auf Senden gedrückt. Da kam nichts, aber das ist das einzige, was ich sehe, wo ich einen Befehl schicken kann. Kannst du mir sagen, wo ich die Version abfragen kann?
Vax W. schrieb: > Der Hinweis mit der orginal-Firmware (oder Library) ist auch ernst > gemeint, vielleicht hast Du eine alte oder modifizierte Version. Ich habe nach Firmware Updates im Zusammenhang mit DFPlayer gesucht, aber nichts Brauchbares gefunden. Ich wüsste auch nicht, wie man das aufspielen sollte, da man ja nur mittels Arduino darauf Zugriff hat und die Verbindung ja irgendwie nicht geht.
Vax W. schrieb: > Auch banal: Du hast eine richtige Spannungsquelle? Nicht z.B. ein ganz > duennes USB-Kaebelchen wo es am Ende nur 4V rauskommt? ich habe den Arduino testweise an ein 5V 2A Netzteil gehängt, aber auch da tut sich nichts. Die Verbindungen zwischen den Pins habe ich mittlerweie auf einer Lochplatine erstellt. Ich hatte gelesen, dass Leute mit denselben Problemen Wackelkontakte hatten oder Probleme mit dem Breadboard. Ich hatte zwar bereits durchgemessen von Pin zu Pin, aber nun ist es sicher gut verbunden mit dickeren Kabeln und kurzen Kabeln. Und achja: ich habe dem Arduino 5V via USB gegeben und zwischen 5V und GND Pin vom DFPlayer gemessen: 4,8V. Passt also auch.
Gio B. schrieb: > Vax W. schrieb: > Hallo Vax, > in dem Diagramm sind die Pins vom Rx auf 11 Arduino und Tx auf 10 > Arduino. > In dem Code steht aber: >
1 | > #include <SoftwareSerial.h> |
2 | > SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
> > Ich bin kein Experte aber vielleicht wurde da ein Fehler gemacht? Wir haben eine Familienfreundin, die wuerde jetzt sagen: "Da hast Du recht! Da hast Du SO recht!" Ich wuerde sagen: >
1 | > #include <SoftwareSerial.h> |
2 | > SoftwareSerial softSerial(/*rx =*/10, /*tx =*/11); |
Und das ist genau der Zustand am Anfang (Dein erster Post). Ich bin jetzt ein wenig ratlos.
Vax W. schrieb: Moment, du sagst: >>
1 | >> #include <SoftwareSerial.h> |
2 | >> SoftwareSerial softSerial(/*rx =*/10, /*tx =*/11); |
Bei mir im Code steht aber
1 | SoftwareSerial mySoftwareSerial(10, 11); // RX, TX |
Ist da der Fehler?
Was müsste ich denn im Code ändern, wenn ich den Hardware Serial Port nutzen will? Also die umkreisten Pins im Anhang.
Gio B. schrieb: > Helmut -. schrieb: > >> Hast du auch zwei serielle Schnittstellen richtig initialisiert? > > Wie macht man das? Hast du schon mal den von mir verlinkten Originalcode laufen lassen? Da werden zwei serielle Schnittstellen verwendet. Eine Hard-serielle fü die Monitorausgaben und eine Soft-serial für die Steuerung des MP3-Players. Ansonsten: Versuch macht Kluch. Frage: Wie hat man das früher ohne Internet und Foren hinbekommen, dass es lief? Man hat nachgedacht und ausprobiert!
Helmut -. schrieb: >Frage: Wie hat man das früher ohne > Internet und Foren hinbekommen, dass es lief? Man hat nachgedacht und > ausprobiert! Damals gab es keine Arduino mit DFPlayer. Aber im Ernst, ich habe früher viel selber gemacht und gestetet. Momentan zerbreche ich mir an einer Hintergrundbeleuchtung von einem Monitor den Kopf, weil die Verkabelung so durcheinander aufgebaut wurde. Da merkte ich: Es ist nicht mehr 1980, wo man mit 2 Drähten die Sachen zum Laufen brachte.
Ich dachte, Du haettest jetzt die Hersteller-Software einfach mit Copy&Paste kopiert (die haben so gar einen Knopf "COPY" bei ihrem Code). Erstmal was der Hersteller schreibt. Und Du weisst schon, dass ZWEI serielle Schnittstellen (eine fuer die Serial-Monitor und die andere fuer die Kommunikation mit den Player) notwendig sind?
Vax W. schrieb: > Ich dachte, Du haettest jetzt die Hersteller-Software einfach mit > Copy&Paste kopiert (die haben so gar einen Knopf "COPY" bei ihrem Code). > > Erstmal was der Hersteller schreibt. > > Und Du weisst schon, dass ZWEI serielle Schnittstellen (eine fuer die > Serial-Monitor und die andere fuer die Kommunikation mit den Player) > notwendig sind? Nein, das wusste ich nicht. Ich bin wirklich blutiger Anfänger mit grossen Kopfschmerzen mittlerweile. Wie was muss ich nun tun? Ich sehe überhaupt nicht mehr durch, tut mir leid.
Gio B. schrieb: > Was müsste ich denn im Code ändern, wenn ich den Hardware Serial Port > nutzen will? Das willst du bestimmt nicht weil diese beiden Pin mit dem USB-UART verbunden sind und sowohl zum Programmieren als auch zum Debuggen (serial Monitor) gebraucht werden.
Also auf dieser Seite:
> https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299, das Ding gemaess
gibt es einen Getstarted Code. Den habe ich kopiert und ins Arduino IDE
eingefügt. Dann speichern udn dann auf Code prüfen.
Es ergibt:
Fehler beim Kompilieren:
sketch_nov21b.ino: In Funktion »void setup()«:
sketch_nov21b.ino:34:18: Fehler: »Serial1« wurde in diesem
Gültigkeitsbereich nicht definiert
sketch_nov21b.ino:45:3: Anmerkung: bei Substitution des Makros
»FPSerial«
Steve van de Grens schrieb: > Gio B. schrieb: >> Was müsste ich denn im Code ändern, wenn ich den Hardware Serial Port >> nutzen will? > > Das willst du bestimmt nicht weil diese beiden Pin mit dem USB-UART > verbunden sind und sowohl zum Programmieren als auch zum Debuggen > (serial Monitor) gebraucht werden. Das heisst der serial Monitor müsste funktionieren, wenn der Arduino via USB mit dem PC verbunden ist?
Gio B. schrieb: > Das heisst der serial Monitor müsste funktionieren, wenn der Arduino via > USB mit dem PC verbunden ist? Ja.
Gio B. schrieb: > Fehler: »Serial1« wurde in diesem Gültigkeitsbereich nicht definiert Vielleicht musst du "UNO" durch "NANO" ersetzen.
Steve van de Grens schrieb: > Gio B. schrieb: >> Fehler: »Serial1« wurde in diesem Gültigkeitsbereich nicht definiert > > Vielleicht musst du "UNO" durch "NANO" ersetzen. Also
1 | #if (defined(ARDUINO_AVR_UNO) || defined(ESP8266)) // Using a soft serial port |
durch
1 | #if (defined(ARDUINO_AVR_NANO) || defined(ESP8266)) // Using a soft serial port |
ersetzen?
Vax W. schrieb: > Ja. ergibt wieder: sketch_nov21b.ino: In Funktion »void setup()«: sketch_nov21b.ino:34:18: Fehler: »Serial1« wurde in diesem Gültigkeitsbereich nicht definiert sketch_nov21b.ino:45:3: Anmerkung: bei Substitution des Makros »FPSerial«
Gio B. schrieb: > Vax W. schrieb: >> Ja. > > ergibt wieder: > sketch_nov21b.ino: In Funktion »void setup()«: > sketch_nov21b.ino:34:18: Fehler: »Serial1« wurde in diesem > Gültigkeitsbereich nicht definiert > sketch_nov21b.ino:45:3: Anmerkung: bei Substitution des Makros > »FPSerial« Und Du musst natuerlich nano als Board einstellen...
Nächster Versuch: Entferne die Makros vor und hinter diesen Zeilen:
1 | #include <SoftwareSerial.h> |
2 | SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
3 | #define FPSerial softSerial |
Also von diesem Absatz sollen diese beiden Zeilen übrig bleiben. Der DfPlayer gehört demnach an Pin 4 und 5.
Steve van de Grens schrieb: > Gio B. schrieb: >> Also ... durch ... ersetzen? > > Probiere es doch einfach! Wovor hast du Angst? nicht wirklich Angst aber 1. will ich keine Fehler machen und daduch dann eure Zeit weiter verschwenden und 2. will ich nicht, dass es später heisst nun ist der Arduino defekt, kauf erstmal einen neuen. Also wieder Zeit...
Vax W. schrieb: > Und Du musst natuerlich nano als Board einstellen... Gut dass du das erwähnst, aber das habe ich. ich kann ja auch den Code auf den Ardiuno schicken. Nicht jetzt diesen mit Fehler, aber andere gingen. Dann leuchten alle lampen wild vom Arduino und am Ende rauscht es aus den Lautsprechern.
Steve van de Grens schrieb: > Nächster Versuch: Entferne die Makros vor und hinter diesen Zeilen: > >
1 | > #include <SoftwareSerial.h> |
2 | > SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
3 | > #define FPSerial softSerial |
4 | > |
> > Also von diesem Absatz sollen diese beiden Zeilen übrig bleiben. > > Der DfPlayer gehört demnach an Pin 4 und 5. Tut imr leid wenn ich nochmal nachfrage, aber du sagst "beide". ich sehe aber 3 Zeilen. Soll ich alles andere ausser diese 3 Zeilen löschen, d.h. der komplette Code besteht nur noch aus den 3 Zeilen oder wie soll der finale Code aussehen?
Gio B. schrieb: > Tut imr leid wenn ich nochmal nachfrage, aber du sagst "beide". ich sehe > aber 3 Zeilen. > Soll ich alles andere ausser diese 3 Zeilen löschen, ja, aber nur in diesem einen Absatz. Kann es sein, dass du null Ahnung von der Programmiersprache hast? Dann musst du sie dringend lernen, aber nicht mit so einem komplexen Projekt. Kaufe dir ein Buch über Arduino oder gehe die Einsteiger Tutorials von Arduino.cc der Reihe nach durch. Gehe danach ein Lehrbuch über C++ durch.
Gio B. schrieb: > in dem Diagramm sind die Pins vom Rx auf 11 Arduino und Tx auf 10 > Arduino. > In dem Code steht aber:#include <SoftwareSerial.h> > SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); > Ich bin kein Experte aber vielleicht wurde da ein Fehler gemacht? So langsam platzt mir der *****. Wenn im Programmcode 4 und 5 steht, genügt die Intelligenz eines Toastbrotes, zu erkennen, dass Hardware an 10 - 11 nicht dazu passt. Ich hatte gestern den Vorschlag gemacht, anstatt eigener Software die Arduino-Beispiele zu testen. Dass jemand nicht in der Lage ist, die Verdrahtung anzupassen, übersteigt mein Vorstellungsvermögen. Gio B. schrieb: > Download.png > 2,6 MB Wie wäre das, auch mal Forum - Bildformate zu beachten? 2,6Mb für ein schlechtes Bild geht mal garnicht, das muß jpg sein! Vax W. schrieb: > Und Du musst natuerlich nano als Board einstellen... Schwachsinn^3! In der Beispielsoftware wird zwischen ESP und UNO unterschieden. Schreibt er da Nano hin, läuft die Verzweigung nach irgendwo. Uno und Nano benutzen den gleichen µC und haben gleiche Pin-Nummern. Alles, was für den Uno erzeugt wurde, funktioniert auch auf dem Nano, also bleibt da Uno stehen!
Das editierte Beispielprogramm ohne störende Makros.
Steve van de Grens schrieb: > Gio B. schrieb: >> Tut imr leid wenn ich nochmal nachfrage, aber du sagst "beide". ich sehe >> aber 3 Zeilen. >> Soll ich alles andere ausser diese 3 Zeilen löschen, > > ja, aber nur in diesem einen Absatz. > okay, der code sieht nun so aus:
1 | #include "Arduino.h" |
2 | #include "DFRobotDFPlayerMini.h" |
3 | |
4 | #include <SoftwareSerial.h> |
5 | SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
6 | #define FPSerial softSerial |
7 | |
8 | DFRobotDFPlayerMini myDFPlayer; |
9 | void printDetail(uint8_t type, int value); |
kompilieren ging durch. Darf ich das so an den Arduino schicken? > Kann es sein, dass du null Ahnung von der Programmiersprache hast? Dann > musst du sie dringend lernen, aber nicht mit so einem komplexen Projekt. > Kaufe dir ein Buch über Arduino oder gehe die Einsteiger Tutorials von > Arduino.cc der Reihe nach durch. Gehe danach ein Lehrbuch über C++ > durch. Ich habe null Ahnung vom Arduino und ich will das auch nicht lernen. Ich will meiner frau sone MP3 Box basteln und dann will ich von Arduino nichts mehr hören, wenn ich ehrlich bin. Vor allem wenn ich merke, wie kompliziert das ist. Vor allem: entweder läuft es oder nicht. Es gibt quasi kein wirkliches fehlerbeheben. Bzgl. Programmieren: ganz so 0 Erfahrung habe ich nicht. Sonst wäre mir der Fehler auf der Herstellerseite nicht aufgefallen, aber ich kann kein C++, das stimmt.
Manfred P. schrieb: > Uno und Nano benutzen den gleichen µC und haben gleiche Pin-Nummern. > Alles, was für den Uno erzeugt wurde, funktioniert auch auf dem Nano, > also bleibt da Uno stehen! Werfe mal bitte einen Blick in https://github.com/arduino/ArduinoCore-avr/blob/63092126a406402022f943ac048fa195ed7e944b/boards.txt#L208 und https://github.com/arduino/ArduinoCore-avr/blob/63092126a406402022f943ac048fa195ed7e944b/boards.txt#L104 Die beiden Boards haben nicht die gleiche Kennung. Davor kommt noch das Präfix "ARDUINO_". Siehe auch https://arduino.stackexchange.com/questions/19892/list-of-arduino-board-preprocessor-defines
Gio B. schrieb: > Darf ich das so an den Arduino schicken? Ich habe leider kein Gesetz gefunden, welches diese Vorgehensweise ausdrücklich erlaubt. Du musst selbst entscheiden, ob du diesen extrem waghalsigen Schritt wagen willst. Vielleicht fragst du vorher noch bei der Allianz Versicherung, ob sie dich dabei stützen können. :-) > entweder läuft es oder nicht. Es gibt quasi kein wirkliches fehlerbeheben. Das ist exakt die falsche Einstellung zum Programmieren. So kann es unmöglich erfolgreich enden. > Ich habe null Ahnung vom Arduino und ich will das auch nicht lernen. Ja sorry, aber dann solltest du den Kram in die Mülltonne werfen und dich erquicklicheren Dingen zuwenden.
Steve van de Grens schrieb: > Vielleicht fragst du vorher noch bei > der Allianz Versicherung, ob sie dich dabei stützen können. Der Mann ist tot, die Witwe kichert, denn er war Allianz versichert. Also ich bin raus, bei soviel Ignoranz und Nicht-Können-Wollens des TO.
Helmut -. schrieb: > Steve van de Grens schrieb: >> Vielleicht fragst du vorher noch bei >> der Allianz Versicherung, ob sie dich dabei stützen können. > > Der Mann ist tot, die Witwe kichert, denn er war Allianz versichert. > > Also ich bin raus, bei soviel Ignoranz und Nicht-Können-Wollens des TO. Ich probiere seit etwa 2 Wochen. Das Forum hier ist der letzte Schritt. Ich habe kein Bock mehr, ja. Aber ich bin nicht ignorant. Alles was ich gelesen habe und getestet habe, hat zu nichts geführt. Bissl Frust ist da denke ich menschlich.
Steve van de Grens schrieb: > Gio B. schrieb: >> Darf ich das so an den Arduino schicken? > > Ich habe leider kein Gesetz gefunden, welches diese Vorgehensweise > ausdrücklich erlaubt. Du musst selbst entscheiden, ob du diesen extrem > waghalsigen Schritt wagen willst. Vielleicht fragst du vorher noch bei > der Allianz Versicherung, ob sie dich dabei stützen können. > > :-) ich war so mutig und habe es getan bzw wollte es, aber Fehler:
1 | Binäre Sketchgröße: 6’720 Bytes (von einem Maximum von 30’720 Bytes) |
2 | processing.app.SerialNotFoundException: Der serielle Port '/dev/ttyUSB1' wurde nicht gefunden. Haben Sie den richtigen aus dem Menü Tools > Serieller Port ausgewählt? |
3 | at processing.app.Serial.<init>(Serial.java:192) |
4 | at processing.app.Serial.<init>(Serial.java:77) |
5 | at processing.app.debug.Uploader.flushSerialBuffer(Uploader.java:77) |
6 | at processing.app.debug.AvrdudeUploader.uploadViaBootloader(AvrdudeUploader.java:175) |
7 | at processing.app.debug.AvrdudeUploader.uploadUsingPreferences(AvrdudeUploader.java:67) |
8 | at processing.app.Sketch.upload(Sketch.java:1671) |
9 | at processing.app.Sketch.exportApplet(Sketch.java:1627) |
10 | at processing.app.Sketch.exportApplet(Sketch.java:1599) |
11 | at processing.app.Editor$DefaultExportHandler.run(Editor.java:2380) |
12 | at java.base/java.lang.Thread.run(Thread.java:829) |
Serieller Port ist nun ausgegraut im Menü. Ich kann ihn nicht (mehr) auswählen.
Du hast immer noch nicht dein Board ausgewählt (was wohl auch der Grund ist, warum das Makros trotz Änderung von UNO zu NANO versagte). Zum Programmieren dieses Boardes brauchst du keinen "Programmer", denn du nutzt ja das USB Kabel und den vorinstallierten Bootloader. Natürlich musst du auch den richtigen seriellen Port einstellen, der deinem Nano beim Einstecken zugewiesen wurde. Als root Benutzer kannst du den Befehl sudo dmesg -T direkt nach dem Anstecken des USB Kabels benutzen, um den Namen des virtuellen COM Portes heraus zu finden. Normale (nicht root) Benutzer müssen Mitglied der Gruppe "dialout" sein, um diese Ports benutzen zu dürfen. Das steht alles in den Anfänger Tutorials zu Arduino. Ich sehe wenig Sinn darin, diese für dich persönlich nochmal neu zu schreiben. Arbeite die bereits vorhandenen Anleitungen der Reihe nach durch, um den Umgang mit dem System kennen zu lernen.
Steve van de Grens schrieb: > Du hast immer noch nicht dein Board ausgewählt (was wohl auch der Grund > ist, warum das Makros trotz Änderung von UNO zu NANO versagte). Ich glaube das ist aber ausgewählt. In der Liste wird der Nano aber nur sichtbar wenn ich mit der Maus beim Eintrag Nano bin. Ich nehme an das ist ein Bug wegen Linux oder so. Aber der Nano ist ausgewählt oder? > Zum > Programmieren dieses Boardes brauchst du keinen "Programmer", denn du > nutzt ja das USB Kabel und den vorinstallierten Bootloader. Programmer ist klar aber Bootloader bin ich nicht sicher weil da Bootloader installieren steht. heisst das dass der noch nicht installiert ist entgegen deiner Vermutung? > Natürlich musst du auch den richtigen seriellen Port einstellen, der > deinem Nano beim Einstecken zugewiesen wurde. Als root Benutzer kannst > du den Befehl sudo dmesg -T direkt nach dem Anstecken des USB Kabels > benutzen, um den Namen des virtuellen COM Portes heraus zu finden. > Normale (nicht root) Benutzer müssen Mitglied der Gruppe "dialout" sein, > um diese Ports benutzen zu dürfen. Der COM port ist klar und wurde durch dmesg bestätigt: ttyUSB0 nur kann ich den nicht auswählen, wenn der Eintrag in IDE grau ist. > Das steht alles in den Anfänger Tutorials zu Arduino. Ich sehe wenig > Sinn darin, diese für dich persönlich nochmal neu zu schreiben. Arbeite > die bereits vorhandenen Anleitungen der Reihe nach durch, um den Umgang > mit dem System kennen zu lernen. Das stimmt, das sollst du auch nicht. Ich will nur dieses teil zum Laufen bringen ohne dafür die Architektur des Arduinos verstehen zu wollen. Soll nicht ignorant klingen, aber das Teil ist für mich nur Mittel zum Zweck und ich will damit keine weiteren Projekte machen. Ich will dass der Arduino den DFPlayer startet und später dann per PIR. Sollte machbar sein, aber scheint vielen auf der Welt Probleme zu bereiten...
:
Bearbeitet durch User
okay, Der teilweise gelöschte Originalcode: Kompilieren lief. Auswahl vom Port auch, Senden an den Arduino auch. Abspielen tut er allerdings nichts. Müsste ja direkt nach dem Rüberschicken des Codes von alleine starten oder muss ich noch was tun?
Gio B. schrieb: > Ich habe null Ahnung vom Arduino und ich will das auch nicht lernen. Ich > will meiner frau sone MP3 Box basteln und dann will ich von Arduino > nichts mehr hören, wenn ich ehrlich bin. Dann verschwinde hier! Arduino ist die mit weitem Abstand simpelste Umgebung, mit Mikrocontrollern zu basteln. Kümmere Dich um Deine Frau, vielleicht ist die ja glücklicher, wenn Du mal Mittagessen kochen oder ein Brot backen kannst. Steve van de Grens schrieb: > Die beiden Boards haben nicht die gleiche Kennung. Davor kommt noch das > Präfix "ARDUINO_". Das ist vollkommen egal. Alle UNO-Beispiele habe ich klaglos auf einen Nano laden können und die spielen. Ich habe ein Uno-Bastelbord und schiebe den Kram später zum Nano, ohne Inkompatibilitäten zu erleben. Wenn Strom gespart werden soll, ist auch der ProMini kompatibel. Gio B. schrieb: > Muss ich hier noch was bestimmtes auswählen? Du willst uns verscheißern! Zu Beginn erkennt Deine Software den DFPlayer nicht, und jetzt kannst Du diese nicht einmal mehr auf den Nano schieben? So perfekt hat hier noch niemand getrollt.
Manfred P. schrieb: > Zu Beginn erkennt Deine Software den DFPlayer nicht, und jetzt kannst Du > diese nicht einmal mehr auf den Nano schieben? Beides stimmt nicht. Der Serial Monitor zeigt immer noch: DFRobot DFPlayer Mini Demo Initializing DFPlayer ... (May take 3~5 seconds) Unable to begin: 1.Please recheck the connection! 2.Please insert the SD card! Und den gekürzten Code konnte ich auf den Arduino schieben, aber der Player startet immer noch nicht. Der Rest, den du schreibst, ist Unsinn. Wenn du nicht helfen willst/kannst, dann respektiere ich das. Bitte aber keinen Frust hier abladen, den habe ich genug dank meinem Problem.
:
Bearbeitet durch User
Gio B. schrieb: > Bitte aber keinen Frust hier abladen, den habe ich genug dank meinem > Problem. Das nicht Lesen wollen? Oder das nicht verstehen wollen? Alles was du an hilfe brauchst steht bereits hier! Verkabel das ding RICHTIG mit deinem arduino. Und zwar so wie im Beispiel vorgegeben, nimm das Beispiel, spiel es auf und teste. Man wählt die Pins entweder selbst und kann dies im Code umsetzen oder bleibt bei den im Beispiel genannten Pins, aber verkabelt das Teil nicht einfach irgendwie und denkt das müsse laufen! Wenn du nicht ein mal das hinbekommst, sehe ich schwarz für dein Geschenk. Ich bezweifle das du es hinbekommst das auslösen des PIR als "Play" zu integrieren weil du ja nicht wissen willst wie es funktioniert.
Helmut -. schrieb: > Der Mann ist tot, die Witwe kichert, war das die jugendfreie Version? Ich kenne den anders
Joachim B. schrieb: > Helmut -. schrieb: >> Der Mann ist tot, die Witwe kichert, > > war das die jugendfreie Version? > Ich kenne den anders Dann erzähl uns deine Schmuddelversion! Ich kenne nur die.
Kilo S. schrieb: > Verkabel das ding RICHTIG mit deinem arduino. Und zwar so wie im > Beispiel vorgegeben, nimm das Beispiel, spiel es auf und teste. > Man wählt die Pins entweder selbst und kann dies im Code umsetzen oder > bleibt bei den im Beispiel genannten Pins, aber verkabelt das Teil nicht > einfach irgendwie und denkt das müsse laufen! Es ist nicjt irgendwie verkabelt, es ist wie auf dem Bild des Herstellers verkabelt. Der Code wurde aufgespielt und läuft bei mir nicht. Es ist nicht schwer, deshalb traute ich mir dieses Projekt zu. Das meinte ich mit "es gibt keine Fehlerbehebung". Entweder es funktioniert oder nicht. Sowas wie Fehlercodes auslesen oder so gibt es anscheinend nicht. Der Nutzer in dem Fall ich ist zu dumm, so einfach ist das.
Gio B. schrieb: > Es ist nicjt irgendwie verkabelt, es ist wie auf dem Bild des > Herstellers verkabelt. Dann müsste es auch funktionieren. Gio B. schrieb: > Unable to begin: > 1.Please recheck the connection! Was kapiert du an dieser Fehlermeldung nicht? Bitte überprüfen Sie die Verbindung! Die SD-Karte ist ja bereits richtig eingelegt, formatiert, strukturiert und hat passenden Inhalt. Ohne arduino geht es ja. Also bleibt nur noch das du irgendwo in der Verkabelung oder im beispielcode was "verbastelt" hast. Und wie du ohne zu verstehen den PIR auswerten willst, ohne das der Player wie wild An/Aus geht, ist mir auch ein Rätsel. Der schaltet immer nur so lange (+ etwas "nachlaufzeit" ) seinen Digitalausgang wie er Bewegung erkennt. Die Hand davor halten löst zwar aus, aber er bleibt nicht ausgelöst. Du musst dieses Verhalten also in deinem Programm berücksichtigen und das geht nur wenn du dir eine entsprechende "logik" dafür programmierst.
Ich habe nochmal einen anderen Weg genutzt und alles mit einem Windows Rechner gemacht: Arduino IDE 2.2.1 installiert CH430 Treiber installiert Arduino mit DFplayer angeschlossen Originalcode genommen von hier: https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299 Die Zeile
1 | SoftwareSerial softSerial(/*rx =*/4, /*tx =*/5); |
in
1 | SoftwareSerial softSerial(/*rx =*/10, /*tx =*/11); |
geändert und getestet. Es gab einen Fehler. Ich habe dann UNO in NANO geändert und es ergab keinen Fehler mehr. Ich habe dann Upload gedrückt. Als Fehler kam nun:
1 | Der Sketch verwendet 5346 Bytes (17%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes. |
2 | Globale Variablen verwenden 391 Bytes (19%) des dynamischen Speichers, 1657 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes. |
3 | avrdude: stk500_recv(): programmer is not responding |
4 | avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x91 |
5 | avrdude: stk500_recv(): programmer is not responding |
6 | avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x91 |
7 | avrdude: stk500_recv(): programmer is not responding |
8 | avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x91 |
9 | avrdude: stk500_recv(): programmer is not responding |
10 | avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x91 |
11 | avrdude: stk500_recv(): programmer is not responding |
12 | avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x91 |
13 | avrdude: stk500_recv(): programmer is not responding |
14 | avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x91 |
15 | avrdude: stk500_recv(): programmer is not responding |
16 | avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x91 |
17 | avrdude: stk500_recv(): programmer is not responding |
18 | avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x91 |
19 | avrdude: stk500_recv(): programmer is not responding |
20 | avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x91 |
21 | avrdude: stk500_recv(): programmer is not responding |
22 | avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x91 |
23 | Fehlgeschlagenes Hochladen: Hochladefehler: exit status 1 |
Immerhin mal was anderes. Ich habe den Arduino mit 2 verschiedenen USB Kabeln verbunden.
:
Bearbeitet durch User
Jetzt in der Windows Version habe ich auch mehr Optionen zum Auslesen
Gio B. schrieb: > Ich habe den Arduino mit 2 verschiedenen USB Kabeln verbunden. Aber scheinbar nie den richtigen COM Port ausgewählt...
Gio B. schrieb: > Jetzt in der Windows Version habe ich auch mehr Optionen zum > Auslesen So ein Quatsch! Arduino IDE ist in Java geschrieben, unabhängig vom Betriebssystem und hat immer den selben Funktionsumfang und bedienung! Einziger Unterschied ist die Verwendung unterschiedlicher Versionen der IDE. Ich arbeite noch unter 1.8.19 und wie du siehst kann ich genau das gleiche auslesen wie du! Der Fehler beim upload (und Nun wirst du am Ende vollends verwirrt sein) könnte auch daher rühren das du versucht hast RX/TX (verbunden mit dem serial Chip) anzuzapfen. Wenn da noch Kabel dran hängt gibt's dieses Problem auch.
:
Bearbeitet durch User
Gio B. schrieb: > Aber der Nano ist ausgewählt oder? Sieht so aus. Was mich irritiert ist, dass deine Liste ander aussieht, als bei mir (Arduino IDE 1.8.19). Bei mir gibt es einen "Arduino Nano" (exakt so geschrieben). > weil da Bootloader installieren steht. heisst das dass der noch > nicht installiert? Nein. Mit dem Befehl kannst du den Bootloader installieren (egal ob schon drauf oder nicht). Dazu brauchst du einen Programmieradapter. > Der COM port ist klar und wurde durch dmesg bestätigt: ttyUSB0 > nur kann ich den nicht auswählen, wenn der Eintrag in IDE grau ist. Dann repariere das doch erst mal. Vielleicht hast du ein andere Programm offen, das den Port blockiert. Oder du musst mal das USB Kabel an/an stecken. Oder den PC rebooten. Vielleicht war dein PC zur späten Stunde bereits genau so müde wie ich. > Fehlgeschlagenes Hochladen: Hochladefehler: exit status 1 Prüfe mal dein USB Kabel. Vielleicht ist es zu lang oder zu dünn, deine Elektronik zu versorgen.
Danke für eure ganzen Antworten. Meine Linux IDE Version ist die aktuellste und die hat nicht dieselben Funktionen wie die Windows. So sehr ich Linux liebe, aber hier ist es besser für mich mit Windows weiterzumachen, allein schon weil die IDE Version neuer ist. Den Fehler mit avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x91 konnte ich nun beheben (tools/processor/atmega328 old bootloader) Status jetzt ist, dass es funktioniert! Jetzt unter Windows ging es plötzlich ganz schnell. Einzig den Code musste ich nochmal final abändern: SoftwareSerial softSerial(/*rx =*/11, /*tx =*/10); D.h. Tx also Pin 3 vom DFPlayer geht auf Rx also Pin 11 vom Arduino Tx vom DFplayer geht auf Rx vom Arduino also Pin 10. Das war mir nie richtig klar, daher nochmal hier für andere mit denselben Problemen. Fazit: mit Linux hätte ich das nie geschafft. Ich denke es liegt daran, dass man dort in der aktuellen Version keinen old bootloader wählen kann und das war denke ich das Geheimnis. Die Tx Rx Werte hatte ich nämlich schon unter Linux getauscht zum Testen aber ohne Erfolg. Danke an alle, die sich hier konstruktiv eingebracht haben und die Nerven behalten haben. Generell finde ich es wichtig den Ton zu wahren und nicht nur den TO als Idioten zu sehen, selbst wenn er einer sein sollte.
Gio B. schrieb: > Einzig den Code musste ich nochmal final abändern: > SoftwareSerial softSerial(/rx =/11, /tx =/10); > D.h. Tx also Pin 3 vom DFPlayer geht auf Rx also Pin 11 vom Arduino > Tx vom DFplayer geht auf Rx vom Arduino also Pin 10. > Das war mir nie richtig klar Deswegen die Anleitung genau lesen. Im Endeffekt hast du nun ein mal (Dank Software serial) löten gespart. Aber der wahre Grund war die im Vergleich Zum Beispiel falsche Verdrahtung des Player.
Gio B. schrieb: > Ich denke es liegt daran, > dass man dort in der aktuellen Version keinen old bootloader wählen kann Ich habe gerade mal den nightly build 2.2.2 für Linux herunter geladen, da sieht das so aus, wie im Anhang. In der Version 1.8.19 sieht es genau so aus. Es hätte mich auch schwer gewundert, wenn das unter Windows anders ist, als unter Linux. Was ich nun nicht verstehe ist, warum die Auswahl des Boardes bei dir ganz anders aussieht und bei dir die Option für den "old" Bootloader fehlt. Welche Version ist das denn?
Steve van de Grens schrieb: > Was ich nun nicht verstehe ist, warum die Auswahl des Boardes bei dir > ganz anders aussieht und bei dir die Option für den "old" Bootloader > fehlt. Weil das unter "Processor" steht und nicht unter "Board".
Kilo S. schrieb: > Weil das unter "Processor" steht und nicht unter "Board". Das ist mir klar, siehe mein Screenshot 3. Aber Gio B. meinte, dass diese Option in der Linux Version fehlen würde, deswegen hat er auf Windows gewechselt. Ich kann das nicht nachvollziehen.
Gio B. schrieb: > mit Linux hätte ich das nie geschafft. Ich denke es liegt daran, > dass man dort in der aktuellen Version keinen "old bootloader" wählen kann Doch das kann man, und zwar schon seit Version 1.8.6 von 2018. Davor gab es den neuen Bootloader noch nicht, also war bei den älteren Versionen der "old bootloader" fest vorgegeben. Insofern ist die fehlende Auswahlmöglichkeit absolut sicher nicht deine Problemursache. Gio B. schrieb: > 2023-11-21_22-27.png Das ist dein Beitrag mit den Screenshot, dessen Board-Auswahl mir fremd vorkam. Steve van de Grens schrieb: > Was mich irritiert ist, dass deine Liste anders aussieht, > als bei mir (Arduino IDE 1.8.19). Bei mir gibt es einen "Arduino Nano" Gio B. schrieb: > Meine Linux IDE Version ist die aktuellste und die hat nicht dieselben > Funktionen wie die Windows Das kann nicht stimmen. Ich habe dir Screenshots der aktuellen Versionen 1.8.19 und 2.2.2 gezeigt, die sehen ganz anders aus. Steve van de Grens schrieb: > Welche Version ist das denn? Leider hast du meine Frage nach der "problematischen" Version immer noch nicht beantwortet. Inzwischen habe ich herausgefunden, dass die letzte IDE mit diesem Aussehen die Version 1.0.5 von 2013 ist. Also eine 10 Jahre alte Version! So viel zur Aussage "Meine Linux IDE Version ist die aktuellste". Jetzt mal eine ernst gemeinte Frage: Willst du mich verarschen?
Kilo S. schrieb: > Aber der wahre Grund war die im Vergleich Zum Beispiel falsche > Verdrahtung des Player. Nein, tatsächlich nicht. Ich habe beide Versionen (Rx, Tx - 10,11 und andersherum) getestet und beides mal lief es nicht.
Steve van de Grens schrieb: > Welche Version ist das denn? im Anhang mal ein Screenshot. Ich habe Arduino mittels Anwendungsverwaltung installiert. Sollte dann die neuste sein. Trotzdem fehlt bei mir die Option mit old Bootloader. In der Windowsversion war sie da.
Steve van de Grens schrieb: > Kilo S. schrieb: >> Weil das unter "Processor" steht und nicht unter "Board". > > Das ist mir klar, siehe mein Screenshot 3. Aber Gio B. meinte, dass > diese Option in der Linux Version fehlen würde, deswegen hat er auf > Windows gewechselt. Ich kann das nicht nachvollziehen. Processor gibt es in meiner Linux Version nicht.
Steve van de Grens schrieb:> > Jetzt mal eine ernst gemeinte Frage: Willst du mich verarschen? Nein, will ich nicht und ich wüsste auch nicht, warum ich das tun sollte. Soviel Negativität und Frust hier von dir und ich verstehe nicht warum?
Wie gesagt ist das die 10 Jahre alte Version 1.0.5 Kein Wunder dass aktuelle Beispielprogramme und Anleitungen nicht dazu passen.
Gio B. schrieb: > warum? Weil du auf meine Frage zur Version nicht eingegangen bist und deinen Screenshot genau dort abgeschnitten hast, wo man die Version hätte sehen können.
Gio B. schrieb: > Soviel Negativität und Frust hier von dir und ich verstehe nicht > warum? Du erzeugst hier bei Allen Frust, weil Du komplett planlos herumwurstelst. Dein Text von gestern war auch nicht dazu angetan, sich weiterhin mit Deinem 'Problem' zu befassen: Gio B. schrieb: > Ich habe null Ahnung vom Arduino und ich will das auch nicht lernen.
Gio B. schrieb: > Nein, will ich nicht und ich wüsste auch nicht, warum ich das tun > sollte. Ich glaub dir sogar das du es nicht mit Absicht machst! Geh mal in die Konsole und poste die Ausgabe vom befehl "uname -a"... Wenn deine IDE schon so oll ist, wie alt ist dann erst dein OS? Oder eher wie ungepflegt! (Da Kreuze ich die Finger das es kein SuSe ist...) Planlos rumbasteln (und das auch noch als "Linuxer") bin ich von Freunden des Pinguin so absolut NICHT gewohnt! Updates/Upgrades sind unter Linux ebenso essentiell wie unter Windows. Sonst kannst du versuchen was du willst. Ohne aktuelle Software die auf dem gleichen Stand wie der Programmcode ist (gcc zb.) kannst du das vergessen!
:
Bearbeitet durch User
Nun ja, wenn man "arduino 2:1.0.5+dfsg2-4" annimmt, ist man bei Debian Stretch (2017) oder Buster (2019). Fuenf Jahre ist natuerlich eine lange Zeit in der Composterei. Und das erklaert natuerlich, warum er diese Probleme hatte.
Steve van de Grens schrieb: > Gio B. schrieb: >> warum? > > Weil du auf meine Frage zur Version nicht eingegangen bist und deinen > Screenshot genau dort abgeschnitten hast, wo man die Version hätte sehen > können. nicht extra, um dich zu ärgern. Jetzt hast du ja einen Screenshot von der Version bekommen. Ich hoffe das hilft
Gio B. schrieb: > Ich habe nochmal einen anderen Weg genutzt und alles mit einem Windows > Rechner gemacht: > Arduino IDE 2.2.1 installiert > CH430 Treiber installiert Und gucke mal womit Du vergleichst: "arduino 2:1.0.5+dfsg2-4". Und die Bilder von Deinem Nano sind aus dem Katalog denn Dein Arduino-Klon hat einen CH430. Das Orginal (das Du gezeigt hast) hat einen FT232. Meine Konsequenz: Vermeide Arduino-Benutzer, denn sie wissen nicht was sie tun.
Kilo S. schrieb: > Geh mal in die Konsole und poste die Ausgabe vom befehl "uname -a"... > > Wenn deine IDE schon so oll ist, wie alt ist dann erst dein OS? Ich bin kein Updatefeak das stimmt, aber so alt ist mein Linux nicht. Warum meine Linux IDE Version nicht dieselbe ist wie die Windows Version schiebe ich einfach mal darauf, dass die Entwickler sich mehr auf Windows konzentrieren, was legitim ist. 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023
Vax W. schrieb: > Gio B. schrieb: >> Ich habe nochmal einen anderen Weg genutzt und alles mit einem Windows >> Rechner gemacht: >> Arduino IDE 2.2.1 installiert >> CH430 Treiber installiert > > Und gucke mal womit Du vergleichst: "arduino 2:1.0.5+dfsg2-4". Und die > Bilder von Deinem Nano sind aus dem Katalog denn Dein Arduino-Klon hat > einen CH430. Das Orginal (das Du gezeigt hast) hat einen FT232. > > Meine Konsequenz: Vermeide Arduino-Benutzer, denn sie wissen nicht was > sie tun. Ja genau. Das Bild ist von Recihelt und da ging es mir nur um die Rx und Tx Pins. Ich habe einen Clon aus China, stimmt. Wie schon gesagt, ich will kein Arduino Entwickler werden. Mir wurde bereits zur Last gelegt, dass ich das so einfach sage und mich weigere, mich tiefer als notwendig in die Materie einzuarbeiten. Allerdings steht für mich das Erreichen des Ziels im Vordergrund (Mp3 Player) und nicht das Werkzeug (Arduino). Das mag nicht schön klingen, aber ich finde das legitim. Man muss m.E. auch nicht Biologie studieren, um eine Karotte pflanzen zu dürfen.
Gio B. schrieb: > Warum meine Linux IDE Version nicht dieselbe ist wie die Windows Version > schiebe ich einfach mal darauf, dass die Entwickler sich mehr auf > Windows konzentrieren, was legitim ist. Auch wieder Quatsch. Ich bekomme ganz offiziell, die aktuelle Arduino IDE ebenfalls für Linux. https://www.arduino.cc/en/software Der einzige Grund für mich die ältere Version zu nutzen ist, das ich die IDE2 (2.x) sehr "langsam" finde und unter der 1.8.19 trotzdem alles funktioniert. Das ist alles und nur für mich gültig! (oder gleichgesinnte, welche die neue Version ebenfalls als langsam empfinden) Andere mögen auch noch mehr oder andere Gründe haben.
Kilo S. schrieb: > Ich bekomme ganz offiziell, die aktuelle Arduino IDE ebenfalls für > Linux. > > https://www.arduino.cc/en/software Ich habe über die Anwendungsverwaltung installiert. Kann sein, dass da die Version nicht die letzte war. Ich installiere lieber so als per Webseite, geht irgendwie leichter.
Gio B. schrieb: > Man muss m.E. auch nicht Biologie studieren, um eine Karotte > pflanzen zu dürfen. wenn die Karotte aber verkümmert dann muss man wohl mal den Boden passend aufbereiten! https://www.hauert.com/ch-de/angebot/privatkunden/ratgeber/detail/karotten-saeen-pflegen-und-ernten Karotten wachsen gerne auf sandig-lehmigen Böden. Ist die Erde zu schwer oder verdichtet, gedeihen sie nur schlecht.
:
Bearbeitet durch User
Gio B. schrieb: > Ich installiere lieber so als per Webseite, geht irgendwie leichter. Vollkommen ok, unter der voraussetzung das sowohl dein System aktuell ist als auch die Software in den repo's. Oder um es mal so zu sagen: apt-get update; apt-get dist-upgrade Das sollte dich auf einen aktuelleren Stand bringen. Sollte das nicht so einfach gehen, wird es Zeit eine Neuinstallation durchzuführen mit einem aktuelleren System. Kann ja das "gleiche" (Ubuntu, Debian, Mint, Parrot... was du eben möchtest) sein wie vorher.
Kilo S. schrieb: > Gio B. schrieb: >> Ich installiere lieber so als per Webseite, geht irgendwie leichter. > > Vollkommen ok, unter der voraussetzung das sowohl dein System aktuell > ist als auch die Software in den repo's. > > Oder um es mal so zu sagen: apt-get update; apt-get dist-upgrade > > Das sollte dich auf einen aktuelleren Stand bringen. > Sollte das nicht so einfach gehen, wird es Zeit eine Neuinstallation > durchzuführen mit einem aktuelleren System. Kann ja das "gleiche" > (Ubuntu, Debian, Mint, Parrot... was du eben möchtest) sein wie vorher. Danke für die Linux Tipps, sie sind sehr nett von dir gemeint. Das Ding ist, dass die Zig Videos, in denen das mit dem Arduino und DFPlayer gezeigt wurde, etwa 4 bis 5 Jahre alt waren. Damals waren die Versionen noch älter. Ich behaupte, dass es an etwas anderem liegt, dass ich unter Linux keinen old bootloader finde aber unter Windows doch. Z.b. steht bei mir install bootloader. Vielleicht muss das erst gemacht werden, keine Ahnung. Hatte ich mal hier gefragt, kam aber keine Antwort. Ist auch kein Problem. Ich muss mich jetzt um den PIR SR505 kümmern und dem genauen Code. Denn momentan spielt der DF los, auch wenn ich den PIR Signalkontakt gar nicht angeschlossen habe. Da lese ich mich mal ein bevor ich euch damit belästige.
Joachim B. schrieb: > Gio B. schrieb: >> Man muss m.E. auch nicht Biologie studieren, um eine Karotte >> pflanzen zu dürfen. > > wenn die Karotte aber verkümmert dann muss man wohl mal den Boden > passend aufbereiten! > https://www.hauert.com/ch-de/angebot/privatkunden/ratgeber/detail/karotten-saeen-pflegen-und-ernten > Karotten wachsen gerne auf sandig-lehmigen Böden. Ist die Erde zu schwer > oder verdichtet, gedeihen sie nur schlecht. Da hast du mit allem Recht was du sagst. Ich finde das spontane Beispiel mit der Karotte ziemlich gut. Zu wissen was für Boden sie braucht und wann pflanzen und Abstand etc. ist sicher gut und hilfreich. Das habe ich aber hier bzgl. Arduino gewusst würde ich sagen. Was teilweise von mir aber verlangt wurde war mir anzuschauen wie sinnbildlich die Genetik der Karotte aufgebaut ist, da mir das helfen wird eine gute Ernte zu erhalten. Das mag zwar sein, schießt aber für mich übers Ziel hinaus.
Gio B. schrieb: > Was teilweise von > mir aber verlangt wurde ach du armer Sonnenschein, keine Arme keine Kekse, denn wo ein Wille ist ist auch ein Gebüsch.
Gio B. schrieb: > Ich behaupte, dass es an etwas anderem liegt, dass ich unter Linux > keinen old bootloader finde aber unter Windows doch. Ne das liegt an der veralteten IDE Version! Das hat mit Windows oder Linux nichts zu tun. Gio B. schrieb: > Vielleicht muss das erst gemacht werden, keine Ahnung. Wäre kein bootloader auf dem arduino könntest du dein Programm nicht hochladen. Selbst wenn das gemacht werden müsste, so bräuchtest du dazu zusätzlich einen passenden programmieradapter. Das ist also garantiert nicht das Problem. Gio B. schrieb: > Ich muss mich jetzt um den PIR SR505 kümmern und dem genauen Code. Denn > momentan spielt der DF los, auch wenn ich den PIR Signalkontakt gar > nicht angeschlossen habe. Da lese ich mich mal ein bevor ich euch damit > belästige. Und jetzt wird lustig. Anstelle gleich den dfplayer zu verwenden solltest du erst ein mal eine LED (nimm die bereits auf dem nano angebrachte an pin 13 dafür) mit dem PIR ein und ausschalten. Die Empfindlichkeit und Zeitdauer des Ausgang kannst du bei den meisten dieser Module über zwei kleine Potis einstellen. Dann änderst du den Code so, daß er das für dich gewünschte Verhalten (Play, Stop, nächster Titel, Lautstärke usw..) an der LED wiederspiegelt. Danach erst bist du (hoffentlich) sicher genug beides zusammen zu führen. Dabei meine ich das ganze wirklich logisch zusammen zu bringen. Verfrickelter code der "irgendwie" funktioniert, führt früher oder später zu Fehlern.
Am Ende kanns ja nur die Sortware-Uart gewesen sein und die falschen PINs zu Initialisierung. Wenn man aber die Ausgabe der serial als Initialsiserungssequenz des Players ansieht, muss man sich dann nicht wundern, wenn man nicht weiterkommt? Es liegt definitiv nicht an irgendwelchen Versionen, die so alt sein können, wie sie wollen. Davon ändert sich keine TimeSlot der SW-Uart oder die Baudrate. Man muss hier eben tatsächlich die richtigen Pins nehmen. Halt einen zum Senden Richtung Player und einen zum Empfang für die Bestätigungen, die der Player wohl ausgibt. Und wenn da steht, nimm PIN10 und nimm PIN11, dann nimmt man die halt. Wenns nicht geht, tauscht man beide PINs ( RX/TX wird ja ganz gern mal verwechselt). ZUr not hängt man sich da n Kopfhöhrer mit 100nF davor an die PINS und hört sich halt an, wo Daten rauskommen. Wenns dann immernoch nicht geht, kann man weitersehen. Aber man kann auch alles auf die SW-Versionen schieben. Gerade dieses Arduino-Habitat macht ja nun schon fast alles von allein und nimmt den User komplett mit.
Axel R. schrieb: > Es liegt definitiv nicht an irgendwelchen Versionen, die so alt sein > können, wie sie wollen. Und wie willst du dir da so sicher sein? Ein originaler arduino, mit dem "neuen bootloader" (optiboot) wird ziemlich sicher nicht mit einer alten IDE sprechen die ATmegaBOOT als bootloader erwartet. Schon deshalb nicht weil sie unterschiedliche Geschwindigkeiten erwarten...
Kilo S. schrieb: > Dabei meine ich das ganze wirklich logisch zusammen zu bringen. > Verfrickelter code der "irgendwie" funktioniert, führt früher oder > später zu Fehlern. Ich habe den PIR an 5V angeschlossen und den Signal Pin gemessen. Sobald der PIR Strom bekommt (ohne Bewegung), geht der Signal Pin für ca 20 Sekunden auf 3,3V. Daher spielt der DFPlayer auch sofort los. Erst nach diesen 20 Sekunden ist der PIR auf 0V und geht erst wieder bei Bewegung an. Ich muss mal schauen, wie ich als nächstes weitermache. Es sind immer Schritte in die richtige Richung, aber sehr kleine Schritte. So einfach wie auf Youtube ist es auf jeden Fall nicht. Mein SR505 hat übrigens keine Potis drauf. Mein erstes Video hat diesen 505er verwendet, dann habe ich ihn bestellt, da ich dachte damit läuft es. War ein Fehler meinerseits.
Gio B. schrieb: > Ich habe den PIR an 5V angeschlossen und den Signal Pin gemessen. Sobald > der PIR Strom bekommt (ohne Bewegung), geht der Signal Pin für ca 20 > Sekunden auf 3,3V. Da hätte ich 2 Lösungen: 1. Wenn der Arduino und der PIR an derselben Spannungsquelle hängt, kannst Du in der Funktion setup(), welche lediglich einmal beim Start ausgeführt wird, am Ende einfach 30 Sekunden warten, bevor es weitergeht. 2. In der Funktion loop(), da wo Du das PIR-Signal checkst, erst die Funktion millis() aufrufen. Ist der Return-Wert kleiner als 30000, das PIR-Signal ignorieren. Das einzige Problem hier: Alle 27 Tage wird der millis-Wert wieder zurückgesetzt und deshalb wird der PIR dann wieder für 30 Sekunden ignoriert. Das könnte man aber mit einem Flag, welches man beim ersten Mal setzt, abfangen - sollte diese Unschönheit tatsächlich stören. Es reicht, wenn Du einen der beiden Punkte umsetzt.
:
Bearbeitet durch Moderator
Gio B. schrieb: > Warum meine Linux IDE Version nicht dieselbe ist wie die Windows Version > schiebe ich einfach mal darauf, dass die Entwickler sich mehr auf > Windows konzentrieren, was legitim ist. Neun, der Grund ist ein ganz anderer. Deine IDE ist 10 Jahre alt, weil du eine 10 Jahre alte IDE installiert hast. Die aktuelle Version für Linux ist genau die gleiche, wie auch für Windows. Ich habe dir doch zum Beweis Screenshots gezeigt, denkst du die habe ich mit einem Malprogramm erstellt? https://www.arduino.cc/en/software Gio B. schrieb: > Kann sein, dass da die Version nicht die letzte war. Nicht "kann" sondern es ist definitiv so. Es ist sogar so extrem, dass du eine der allerersten Versionen installiert hat. Gio B. schrieb: > Ich habe über die Anwendungsverwaltung installiert. > Ich installiere lieber so als per Webseite, geht irgendwie leichter. Normalerweise tue ich das auch, denn es ist ein einfach und meist auch der sicherste weg, keine Probleme zu bekommen. Doch gerade bei Entwicklungs-Tools hinken diese dem aktuellen Stand oft hinterher. So schlimm wie es in deinem Fall ist, habe ich allerdings noch nie erlebt. Gio B. schrieb: > Das Ding ist, dass die Zig Videos, in denen das mit dem > Arduino und DFPlayer gezeigt wurde, etwa 4 bis 5 Jahre alt > waren. Damals waren die Versionen noch älter. Ich bezweifle, dass in einem 5 Jahre alten Video eine 10 Jahre alte Arduino Version verwendet wurde. > Ich behaupte, dass es an etwas anderem liegt, dass ich unter > Linux keinen old bootloader finde aber unter Windows doch. Liest du überhaupt, was ich dir geschrieben habe? Die Bootloader Einstellung kann nicht die Problemursache sein, denn deine alte Arduino Version kennt nur den alten Bootloader, der sich auf deinem Arduino Nano befindet. Das passt zusammen. > Z.b. steht bei mir install bootloader. Vielleicht muss das erst > gemacht werden, keine Ahnung. Hatte ich mal hier gefragt, kam > aber keine Antwort. Schreibe ich türkisch? Steve van de Grens schrieb: > Zum Programmieren dieses Boardes brauchst du keinen > "Programmer", denn du nutzt ja das USB Kabel und den > vorinstallierten Bootloader. >> weil da Bootloader installieren steht. heisst das dass der noch >> nicht installiert? > Nein. Mit dem Befehl kannst du den Bootloader installieren (egal ob > schon drauf oder nicht
Axel R. schrieb: > Gerade dieses Arduino-Habitat macht ja nun schon fast > alles von allein und nimmt den User komplett mit. Wie du siehst verleitet es Leute zum Programmieren, die das nicht erlernen wollen. Man muss das mal ganz klar sagen: Programmieren heißt, sich Wochenlang mit klitzekleinen Details zu beschäftigen, hundert bis tausende Seiten (meist englische) Dokumentation zu lesen und hunderte Fehlversuche zu ertragen, bis man zum Ziel kommt. Wer dazu nicht bereit ist, soll es besser sein lassen.
Gio B. schrieb: > Sobald der PIR Strom bekommt (ohne Bewegung), geht der Signal > Pin für ca 20 Sekunden auf 3,3V. Daher spielt der DFPlayer > auch sofort los. Bis zu 30 Minuten brauchen PIR Sensoren, um funktionsfähig zu werden.
Kilo S. schrieb: > Sollte das nicht so einfach gehen, wird es Zeit eine Neuinstallation > durchzuführen mit einem aktuelleren System. Kann ja das "gleiche" > (Ubuntu, Debian, Mint, Parrot... was du eben möchtest) sein wie vorher. Wie jetzt, ich dachte, dass nur die Windows-Leute ständig neu installieren würden. Frank M. schrieb: > Da hätte ich 2 Lösungen: > 1. Wenn der Arduino und der PIR an derselben Spannungsquelle hängt Wieso soll jetzt der PIR bespielt werden, solange der Arduino noch nicht mit dem Player kommuniziert? Aktuell geht ja wohl garnichts mehr, noch nicht einmal, ein "Blink.ino" hochzuladen. Steve van de Grens schrieb: > Liest du überhaupt, was ich dir geschrieben habe? Die Bootloader > Einstellung kann nicht die Problemursache sein, denn deine alte Arduino > Version kennt nur den alten Bootloader, der sich auf deinem Arduino Nano > befindet. Das passt zusammen. Er hat in seinem Chaos irgendwas verbeult. Zu Beginn ging Compilieren und Hochladen, lediglich der Programmkot spielte nicht. Jetzt geht auf einmal garnichts mehr? Steve van de Grens schrieb: > Schreibe ich türkisch? Nein, die Sprache heißt Vergebens. Steve van de Grens schrieb: > Axel R. schrieb: >> Gerade dieses Arduino-Habitat macht ja nun schon fast >> alles von allein und nimmt den User komplett mit. > > Wie du siehst verleitet es Leute zum Programmieren, die das nicht > erlernen wollen. > > Man muss das mal ganz klar sagen: Programmieren heißt, sich Wochenlang > mit klitzekleinen Details zu beschäftigen, hundert bis tausende Seiten > (meist englische) Dokumentation zu lesen und hunderte Fehlversuche zu > ertragen, bis man zum Ziel kommt. Übertreibe mal nicht mit "tausende Seiten Doku". Axel hat schon recht, mit Arduino kommt man deutlich einfacher als in anderen Umgebungen um Ziel. Recht hast Du mit "hunderte Fehlversuchen", die muß man ertragen und dann gezielt nach deren Ursachen suchen, also lesen. Und ja, wie Kilo schrieb, ertsmal klein anfangen: LED blinken, Lauflicht bauen, Taster abfragen und sich so einen Grundstock einfacher Programme zuzulegen.
der Troll übt schon recht erfolgreich für Freitag!
Manfred P. schrieb: > Übertreibe mal nicht mit "tausende Seiten Doku". Schau dir mal die Doku eines STM32F4 an. Datasheet, Reference Manual, Errata. Die Doku von Arm zum CPU Kern und Befehlssatz lassen wir mal außen vor. Und C/C++ kann man einfach so (hust).
Steve van de Grens schrieb: > Manfred P. schrieb: >> Übertreibe mal nicht mit "tausende Seiten Doku". > Schau dir mal die Doku eines STM32F4 an. Datasheet, Reference Manual, > Errata. Die schaue ich mir nicht an, weil ich Arduino mit ATMega328 verwende. Und auch die schaue ich nicht an, weil mich Arduino-C++ weitestgehend von der Hardware entkoppelt. Ich schreibe "setze D13 als Ausgang und auf low" und "wenn A5 größer 500, setze D13 high". Fertig, die Register, die Abfrage des ADC etc. nimmt mir das Arduino-Framwork ab. Das mag Dir nicht gefallen, aber genau das begründet doch den Erfolg von Arduino. Meine erste Begegnung mit Prozessoren war der 6504 / 6502 in Assembler, das hat Tage gedauert, mit einem einfachen Schalter an Port-x eine LED an Port-y ein-/ausschalten zu können. Das will ich mir heute nicht mehr antun müssen. Später hatte ich eine eigene Hardware mit 68HC805, ähnlich dem (damals noch nicht erfundenen) A*-Uno und damit einige Prüfplätze ausgerüstet, ebenfalls in Assembler geschrieben. Jahre später, Hobbybereich, hatte ich keine Lust, mich wieder einzuarbeiten und habe mir einen Uno gekauft. Die A*-IDE holen, Treiber installieren, etwas lesen ... müsste so 3 Stunden gedauert haben, bis meine 5 LEDs Lauflicht machten. Du kannst noch so viel strampeln, wer nicht total dämlich ist, hat mit Arduino recht schnell erste Erfolge. > Und C/C++ kann man einfach so (hust). Das ist in der Tat ein Lernprozess, wo man durch muss und ich erhebliche Defizite habe. Aber auch der ist nicht beliebig schwer, ich habe mehr als ein Gerät aufgebaut, was seine Zwecke zuverlässig erfüllt.
Manfred P. schrieb: > die schaue ich nicht an, weil mich Arduino-C++ weitestgehend > von der Hardware entkoppelt. Von dieser Einstellung rate ich ab Manfred P. schrieb: > wer nicht total dämlich ist, hat mit > Arduino recht schnell erste Erfolge. Da stimme ich dir zu.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.