INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Hilfestellung für Neueinsteiger
09.12.2014, 12:19
Beitrag #17
RE: Hilfestellung für Neueinsteiger
(09.12.2014 12:13)Milo schrieb:  Ok, den kann ich ja dann mit einer Diode sperren?
Hä?
Da müsstest Du jetzt mal aufzeichnen, was genau Du machen willst.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.12.2014, 12:23
Beitrag #18
RE: Hilfestellung für Neueinsteiger
Ich mache das heute Abend, wenn ich zuhause bin.
Thorsten, vielen Dank für die ganze Hilfe!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 00:18
Beitrag #19
RE: Hilfestellung für Neueinsteiger
Ich bin wieder ( Vielleicht sollte man einen Facepalmsmiley für mich einfügen )Confused

Jedenfalls bin ich kurz davor, den ganzen Krempel hier in die Tonne zu hauen.
Ich wollte eigentlich die Schaltung zeichnen. Klappt mit mit dem programm was ich habe ( Zeichenprogramm von Fritzing.org )

Also wollte ich den Code schreiben. Ich habe den Beispielcode von der NewPing Lib. so umgeschrieben, dass der Sensor HC-SR04 nur bis 10 cm misst. Laut Monitor klappr das auch ganz gut.

Jetzt wollte ich den Code um diese Funktion erweitern:

Misst der Sensor unter 10 cm, soll er die LED zum Blitzen bringen.

Ich habe nun wieder einmal das I-Net durchforstet und habe nun mehrere Möglichkeiten gefunden.
Alleine die Bestimmung des Pins, womit die LEd ( bzw. das Mosfet ) gesteuert werden soll.
Ich habe gefunden:
1) pinMode ()
2) int LEDPin = Pin mit LED
3) #define LED

Ich weis gerade gar nicht mehr, was ich davon nehmen soll.

Wann muss ich digitalRead und wann analogRead nehmen?

Kann ich die "if" Funktion nutzen um Sensor und LED zu steuern? Müsste ja dann sein:

Sensor unter 10 cm -> Mosfet auf high schalten, LED blitzt kurz aus, Mosfet auf low schalten??

Sorry für die ganzen Fragen, aber mein Buch und das Internet kann mir gerade nicht weiterhelfen.
Vielleicht Ihr?HuhHuhHuhHuhHuhHuhHuh


Weiter zur Schaltung...HuhHuh

Diese LED habe ich ausgesucht:

http://www.ebay.de/itm/1x-HighPower-Led-...5651c245af

oder

http://www.ebay.de/itm/1x-HighPower-Led-...5aed506460

Kann ich diese LED´s mit diesem Mosfet steuern?
http://www.reichelt.de/BUZ-71A/3/index.h...9STP16NF06


Micha

PS: Buch "Arduino Workshops" von Johan Boxall
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 05:38 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2014 17:38 von dqb312.)
Beitrag #20
RE: Hilfestellung für Neueinsteiger
Hallo Micha,

erst mal tief durchathmen......

Zum Lernen ist es immer gut, kleine Programme, welche genau eine Funktion erfüllen, unter die Lupe zu nehmen.
Dann siehst du, dass z.B. zum Ansteuern der LED mehrere Schritte nötig sind.
Der Pin muss benannt werden, der Pin muss als Ausgang definiert werden, der Pin muss auf den gewünscten Pegel gesetzt werden.

Da es an manchen Stellen mehrere Möglichkeiten bzw. Vorgehensweisen gibt, immer nur mit einer Vorlage arbeiten (z.B. aus den Beispielen "Blink without delay" - in der IDE unter Datei - Beispiele - 02.digital).

Das baust du dann schrittweise in dein Programm an den entsprechenden Stellen ein.

Zum Blitzen kannst du beim Beispiel "Blink without delay" die Variable interval zuerst auf z.B. 200 und dann auf 800 setzen, dann bltzt es im Sekundentakt.
Den Teil von "Blink without delay" in der Loop-schleife packst du dann in eine if-Schleife innerhalb deines bestehenden Programmes, die nur bei Unterschreiten der Entfernung abgearbeitet wird. In einer Else-Bedingung dazu musst du die LED aber abschalten, da es beim Verlassen der Entfernungsbedingung zu 20 % warscheinlich sein kann, dass die LED gerade an ist und daher auch an bleibt.

original:
Code:
// if the LED is off turn it on and vice-versa:
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

angepasst:
Code:
// if the LED is off turn it on and vice-versa:
    if (ledState == LOW)
      {
      ledState = HIGH;
      interval = 200;
      }
    else
    {
      ledState = LOW;
      interval = 800;
     }

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 09:26
Beitrag #21
RE: Hilfestellung für Neueinsteiger
Also, es soll nur blitzen, wenn die gemessene Distanz von 10cm unterschritten wird.
Ich werde meinen angepassten Code heute Abend hier Posten und dann immer was ergänzen.
Vielleicht können wir den Code so zusammen entwickeln. Also ich schreibe und ihr schaut ob es so richtig ist?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 09:46 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2014 09:50 von Thorsten Pferdekämper.)
Beitrag #22
RE: Hilfestellung für Neueinsteiger
(11.12.2014 00:18)Milo schrieb:  Jedenfalls bin ich kurz davor, den ganzen Krempel hier in die Tonne zu hauen.
Software- und Hardware-Entwicklung ist immer ein gewisser Prozess. Man braucht hauptsächlich Sturheit, um weiterzukommen. Nicht aufgeben!

Zitat:Ich wollte eigentlich die Schaltung zeichnen. Klappt mit mit dem programm was ich habe ( Zeichenprogramm von Fritzing.org )
Da gibt's jetzt was ganz neues: Papier und Bleistift. Mit einer Handykamera wird da ganz schnell ein Online-Tool draus. Mal es halt einfach auf und fotografiere es.

Zitat:Alleine die Bestimmung des Pins, womit die LEd ( bzw. das Mosfet ) gesteuert werden soll.
Ich habe gefunden:
1) pinMode ()
2) int LEDPin = Pin mit LED
3) #define LED
Ich weis gerade gar nicht mehr, was ich davon nehmen soll.
Also wenn Du das nicht weißt, dann hast Du nicht einmal das Blink-Programm verstanden. Gehe nochmal zurück zu "Blink" und versuche mal jede einzelne Zeile und in jeder einzelnen Zeile jedes einzelne Zeichen zu verstehen. Falls Du auch nur ein Bit des Blink-Beispiels nicht verstehst, dann frag erstmal nach.
Das meine ich ernst!

Zitat:Wann muss ich digitalRead und wann analogRead nehmen?
Hast Du ein Starter-Kit oder irgend ein anderes Einsteiger-Tutorial oder Buch? Wenn ja, dann mach da mal alle Beispiele durch und versuche das alles zu verstehen. (Siehe oben.) Zur Not kannst Du auch die Beispiele nehmen, die mit der Arduino-IDE kommen.
Außerdem ist das hier gaaaanz wichtige Lektüre: http://arduino.cc/en/Reference/HomePage. Das bitte (!) lesen. Falls Du kein Englisch kannst, dann schau Dir wenigstens die Beispiele zu den jeweiligen Statements und Funktionen an.

Zitat:Kann ich die "if" Funktion nutzen um Sensor und LED zu steuern? Müsste ja dann sein:
Sicherlich wird Dein Programm ein paar "if" enthalten.

Zitat:Sorry für die ganzen Fragen, aber mein Buch
Aha, Du hast ein Buch. Hast Du die ersten paar Kapitel gelesen und verstanden und alle Beispiele selbst nachgebaut? Wenn nicht, dann wäre jetzt ein guter Zeitpunkt.

Gruß,
Thorsten

(11.12.2014 05:38)dqb312 schrieb:  angepasst:
Code:
// if the LED is off turn it on and vice-versa:
    if (ledState == LOW)
      ledState = HIGH;
      interval = 200;
    else
      ledState = LOW;
      interval = 800;
Dieses Coding wird es nicht einmal durch den Compiler schaffen... Da fehlen zwei { und zwei }.
Gruß,
Thorsten

(11.12.2014 09:26)Milo schrieb:  Also ich schreibe und ihr schaut ob es so richtig ist?
Ich würde sagen: Du schreibst und probierst aus. Wenn es funktioniert, dann sag' uns Bescheid und zeige Dein Werk her. Wenn es nicht funktioniert, dann versuch erstmal selbst herauszufinden, was falsch läuft. Wenn das keinen Erfolg bringt, dann schauen wir nach.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 17:34 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2014 17:35 von dqb312.)
Beitrag #23
RE: Hilfestellung für Neueinsteiger
@ Thorsten

Jetzt wo du es sagst - das ist komischerweise im Beispiel der Arduino-IDE ohne geschweifte Klammern (original). Wusste nicht, dass das so geht.
Ich ändere es mal ab.

Eine Änderung wird zusätzlich nötig:
Code:
// constants won't change :
const long interval = 1000;           // interval at which to blink (milliseconds)

muss geändert werden in
Code:
// constants won't change :
long interval = 1000;           // interval at which to blink (milliseconds)

Gruß Rainer
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.12.2014, 17:37
Beitrag #24
RE: Hilfestellung für Neueinsteiger
(11.12.2014 17:34)dqb312 schrieb:  Jetzt wo du es sagst - das ist komischerweise im Beispiel der Arduino-IDE ohne geschweifte Klammern (original). Wusste nicht, dass das so geht.
Es geht dann, wenn zu dem "if" nur ein Statement gehört. Mit den geschweiften Klammern fasst man sozusagen mehrere Statements zu einem zusammen.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


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