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.
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.
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?
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
SoftwareSerialsoftSerial(/*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!
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
>SoftwareSerialsoftSerial(/*rx =*/4,/*tx =*/5);
3
>#defineFPSerialsoftSerial
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...
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?
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.
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)"));
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
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.
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.
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.
>> 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:
>
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?
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
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...
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.
>> 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!
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.
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...
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.
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.
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
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.
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.
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?
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!
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:> 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.
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/softwareGio 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.
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.