> der Arduino hat eine Fehlermeldung angegeben jedoch finden wir ihn nicht.
Super präzise. Wäre vielleicht vorteilhaft, diese hier zu posten.
> if(digitalWrite(5==HIGH)) {
wie kann 5 HIGH sein?
> if(digitalWrite(6==HIGH)) {
dito
> if(digitalWrite(7==HIGH)) {
dito
> if(digitalWrite(8==HIGH)) {
dito
Danny haß schrieb:> der Arduino hat eine Fehlermeldung angegeben jedoch finden wir ihn> nicht.
Meistens befindet er sich am anderen Ende des eingesteckten USB-Kabels.
Falls ihr ihn im Netzwerk betreibt, wird es schwieriger, weil
Netzwerkverkabelung recht unübersichtlich sein kann, besonders im Labor-
und Bastel-Setting.
Vielleicht vereinfacht es die Suche, wenn ihr im Blick behaltet, daß der
Arduino so sieben mal fünfeinhalb Zentimeter groß ist, und gezielt nach
solchen Platinen schaut.
Fred schrieb:> Danny haß schrieb:>> der Arduino hat eine Fehlermeldung angegeben jedoch finden wir ihn>> nicht.>> Meistens befindet er sich am anderen Ende des eingesteckten USB-Kabels.>> Falls ihr ihn im Netzwerk betreibt, wird es schwieriger, weil> Netzwerkverkabelung recht unübersichtlich sein kann, besonders im Labor-> und Bastel-Setting.>> Vielleicht vereinfacht es die Suche, wenn ihr im Blick behaltet, daß der> Arduino so sieben mal fünfeinhalb Zentimeter groß ist, und gezielt nach> solchen Platinen schaut.
+1
Wenn eine Fehlermeldung ausgegeben wird, empfiehlt es sich, diese auch
hier mitzuteilen ;)
Beim drüberlesen fällt auf:
| if(digitalWrite(6==HIGH))
Das kann so nicht stimmen. digitalWrite() erwartet 2 Parameter (Pin,
Pegel) und gibt keinen Wert zurück. Das quittiert der Compiler mit einem
Fehler.
Sicherlich meinst du:
if(digitalRead(6)==HIGH)
Das gefällt dem Compiler schon besser, allerdings ist es reichlich
witzlos, einen Pin auszulesen, den man zuvor gesetzt hat und der außer
einer LED nichts zu treiben hat. Denke noch einmal drüber nach, was dein
Programm überhaupt machen soll und setze das dann in eine einfache
Wenn-Dann-Logik um.
Konstantin schrieb:>> der Arduino hat eine Fehlermeldung angegeben jedoch finden wir ihn nicht.>> Super präzise. Wäre vielleicht vorteilhaft, diese hier zu posten.>>> if(digitalWrite(5==HIGH)) {>> wie kann 5 HIGH sein?
Da kann man ruhig auch noch weiter gehen und die nächste Frage
aufwerfen.
Wir wissen, dass digitalWrite eine Funktion ist, die einen Output Pin
auf einen bestimmten Zustand setzt. Nicht mehr und nicht weniger. Das
ist es, was diese Funktion macht.
Also lieber Danny, kannst du mal in einem deutschen Satz formulieren,
was hier eigentlich passieren soll. Also jetzt nicht einfach nur den
Code vorlesen. Was ist die Absicht an dieser Stelle.
beispiel
1
digitalWrite(5,HIGH);
das würde man (mit der Kenntnis dessen, was digitalWrite macht) so
übersetzen. Den Ausgangspin 5 auf HIGH setzen, weil da eine LED drann
hängt, die bei einem HIGH leuchtet.
Was also ist die Absicht in deinem if. Welcher Umstand soll da getestet
werden?
Berücksichtige in deiner Antwort auch, dass der Pin 5 auf Ausgang
geschaltet ist. D.h. wenn du mit einem digitalWrite den Pin auf HIGH
setzt, dann ist der auch HIGH. Und berücksichtige in deiner Antwort
auch, dass digitalWrite einen Pin aktiv auf entweder HIGH oder LOW
setzt, aber abgesehen davon nichts darüber aussagt, welchen Zustand ein
Pin hat.
Welchen Zweck soll daher hier ein if erst mal grundsätzlich haben? Was
ist die Idee dahinter? Was wollt ihr eigentlich testen? Liefert
digitalWrite eigentlich irgendetwas, das getestet werden kann?
Oder habt ihr das if nur hingeschrieben, damit in eurem Programm auch
mal ein if vorkommt?
Hallo Danny,
Danny haß schrieb:> void setup(){> pinMode(5,OUTPUT); // led> pinMode(6,OUTPUT); // led> pinMode(7,OUTPUT); // led> pinMode(8,OUTPUT); // led> pinMode(9,OUTPUT); // das ist der Motor> pinMode(A2,INPUT); // Sensor> pinMode(A1,INPUT); // Sensor> }
Hier fehlt auch noch Serial.begin(9600);
LG, Sebastian