Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Programmierung


von Grun D. (grunder)


Angehängte Dateien:

Lesenswert?

Liebe Forum Gemeinde,

Ich habe derzeit ein Projekt bei dem ich Hilfe aufgrund der kurzen 
Deadline benötige.

Seit nunmehr 4 Tage versuche ich mir die Arduino Software anzueignen um 
die Programmierung für mein Projekt selbst zu erstellen, leider werde 
ich meine Deadline nicht halten können da ich die Hardware auch noch 
installieren muss.

Deshalb meine Frage an euch… kann mir jemand aufgrund meiner 
Beschreibung eine Programmierung vornehmen ?

Ich werde weiter lernen und das nächste Projekt hoffentlich selbst zu 
Programmieren aber für das aktuelle benötige ich eure Hilfe.

Benutze Hardware:

Distanzsensor von Sharp
LED Weiß
LED Rot
LED Grün
Taster

Ablauf:
„Grundstellung“  Distanzsensor auf 5m; A-Knopf unberührt; Weiße LED 
Leuchtet.
A-Knopf wird betätigt -> LED Weiß geht aus, LED Grün geht an.
Distanzsensor misst 4m -> LED Grün geht aus, LED Rot geht an
Distanzsensor misst wieder 5m = Grundstellung

Das Problem dabei ist, dass wenn der Taster gedrückt wird immer Position 
2. Hergestellt werden soll und wenn der Distanzsensor 4m misst aber der 
Taster aktiviert wird Trotzdem die Grüne und nicht die Rote LED Leuchten 
soll.

Wie gesagt würde und werde ich mich gerne weiter in der Materie einlesen 
aber für das Projekt bitte ich um Hilfe.

Mit freundlichen Grüßen und besten Dank im Voraus

Grunder

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Schon deine Hardware ist falsch gewählt. Sharp Distanzsensoren sind auf 
keinen Fall für 5m Abstand geeignet, 150cm ist das höchste, was die 
können:

https://www.pololu.com/search/compare/79

Spalte 'Maximum Range'

Du musst also auf Ultraschall umschwenken, um überhaupt eine Chance zu 
haben.

von Grun D. (grunder)


Lesenswert?

Matthias S. schrieb:
> Schon deine Hardware ist falsch gewählt. Sharp Distanzsensoren sind auf
> keinen Fall für 5m Abstand geeignet, 150cm ist das höchste, was die
> können

Habe mir einen bei Conrad besorgt der das angeblich kann.

https://www.conrad.de/de/distanz-sensor-gp2y0a710k0f-sharp-gp2y0a710k0f-messbereich-e-erfassungsbereich-100-550-cm-5-vdc-504597.html

Bin aber offen für Vorschläge welche Sensoren genutzt werden können.

Der Sensor ist gleich ersetzt die Software fehlt leider.

Mfg

von Stefan (Gast)


Lesenswert?

Ganz schön teuer.
Wenn bis zu 4 Meter reichen dann kannst
du den HCSR04  Sensor nehmen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Marcel A. schrieb:
> Habe mir einen bei Conrad besorgt der das angeblich kann.
>
> 
https://www.conrad.de/de/distanz-sensor-gp2y0a710k0f-sharp-gp2y0a710k0f-messbereich-e-erfassungsbereich-100-550-cm-5-vdc-504597.html

Gut, der Sensor kann das - allerdings sind alle Diagramme nur auf 
schneeweissem Papier als Reflektor gültig.
Das nächste Problem ist der sehr geringe Spannungsunterschied zwischen 4 
und 5m. Das wird selbst bei optimalen Reflektoren nicht einfach, das mit 
einem ADC auszuwerten.
Ultraschall ist bis auf die Signalaufbereitung einfacher. Du sendest 
einen 40kHz Burst mit ein paar Schwingungen aus und startest einen 
Timer. Der frequenzselektive Empfänger auf 40kHz empfängt die Reflexion 
und wandelt mit einem Aktivgleichrichter das Signal in eine Spannung um, 
die dem ADC zugeführt wird. Der erste Peak nach der Aussendung ist das 
Signal, bei dem du den Timer ausliest und die Laufzeit errechnest.
Hier ist der Zusammenhang im Gegensatz zum Sharpsensor linear, d.h. ein 
Timerwert von z.B. 2000 ist genau die doppelte Distanz eines Timerwertes 
von 1000.
Angehängt habe ich mal eine einfache alte Schaltung zur US 
Distanzmessung von roboterwelt.de, die mit Sicherheit verbessert werden 
kann.

von Hux (Gast)


Lesenswert?

nur mal so heruntergetippt:

enum STATE{
   weiss = 0,
   grün,
   rot
}


enum STATE state=weiss;

for(;;)
{
switch(state)
{
case weiss:
{
  led_weiss=1; led_grün=0; led_rot=0;
  if (A==1) state =grün;
  break;
}
case grün:
{
  led_grün=1;led_weiss=0,red_led=0;
  if (d < 4m && A != 1) state = rot;
  break;
}
case rot:
{
  led_rot=1; led_grün=0;led_weiss=0;
  if(d >=5m) state = grün;
  if (A==1) state = grün;
  break;
}
}
}

Ich würde bei deinen IR Sensor bleiben wenn er geeignet ist. 
Ultraschalsensor gibts aber auch fertig da brauchst keine Schaltung mehr 
nur brauchen die für die Messung schon einiges an Zeit 10-100ms. mal 
geschätzt aber die Laufzeit kannst dir eh selber ausrechnen 5m * 2 / 
300m/s = ca 30ms.

von Grun D. (grunder)


Lesenswert?

Hux schrieb:
> nur mal so heruntergetippt:
>
> enum STATE{
>    weiss = 0,
>    grün,
>    rot
> }
>
>
> enum STATE state=weiss;
>
> for(;;)
> {
> switch(state)
> {
> case weiss:
> {
>   led_weiss=1; led_grün=0; led_rot=0;
>   if (A==1) state =grün;
>   break;
> }
> case grün:
> {
>   led_grün=1;led_weiss=0,red_led=0;
>   if (d < 4m && A != 1) state = rot;
>   break;
> }
> case rot:
> {
>   led_rot=1; led_grün=0;led_weiss=0;
>   if(d >=5m) state = grün;
>   if (A==1) state = grün;
>   break;
> }
> }
> }
>
> Ich würde bei deinen IR Sensor bleiben wenn er geeignet ist.
> Ultraschalsensor gibts aber auch fertig da brauchst keine Schaltung mehr
> nur brauchen die für die Messung schon einiges an Zeit 10-100ms. mal
> geschätzt aber die Laufzeit kannst dir eh selber ausrechnen 5m * 2 /
> 300m/s = ca 30ms.

Ich danke euch erstmal für eure Bemühungen.

Welchen Sensor ich Schlussendlich verwende ist mir eigentlich egal so 
lange er mir das Ergebnis liefert was ich brauche.

Ich würde es erstmal mit meinem jetzigen versuchen und falls der nicht 
taugt wird er ausgetauscht.

Wenn ich das richtig erkannt habe ist der "nur mal so heruntergetippt" 
Code nur für den Sensor gedacht, seh ich das richtig?

Mfg

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Marcel A. schrieb:
> Wenn ich das richtig erkannt habe ist der "nur mal so heruntergetippt"
> Code nur für den Sensor gedacht, seh ich das richtig?

Da ist gar kein Sensor festgelegt, es handelt sich lediglich um die 
Anzeige an den LED.

von Keks (Gast)


Lesenswert?

Marcel A. schrieb:
> Ich habe derzeit ein Projekt bei dem ich Hilfe aufgrund der kurzen
> Deadline benötige.
-> Ich habe die Hausarbeit seit Wochen vor mir hergeschoben, morgen muss 
ich abgeben.

> Seit nunmehr 4 Tage versuche ich mir die Arduino Software anzueignen um
> die Programmierung für mein Projekt selbst zu erstellen
->Nach dem Blackout am letzten Wochenende bin ich zurück in der tristen 
Realität und denke drüber nach, wie ich einen Dummen finde, der mir die 
Arbeit abnimmt.

> ...meine Deadline nicht halten können da ich die Hardware auch noch
> installieren muss.
-> Ich habe kein USB-Kabel/keinen Arduino

> Deshalb meine Frage an euch… kann mir jemand aufgrund meiner
> Beschreibung eine Programmierung vornehmen ?
-> Wer macht die Hausaufgabe für mich?

> Ich werde weiter lernen und das nächste Projekt hoffentlich selbst zu
> Programmieren aber für das aktuelle benötige ich eure Hilfe.
-> Eigentlich interessiert mit dieser Krempel nicht die Bohne

> Wie gesagt würde und werde ich mich gerne weiter in der Materie einlesen
> aber für das Projekt bitte ich um Hilfe.
-> Eigentlich interessiert mit dieser Krempel nicht die Bohne

> Wenn ich das richtig erkannt habe ist der "nur mal so heruntergetippt"
> Code nur für den Sensor gedacht, seh ich das richtig?
Was sind das für komische Buchstaben, Zahlen und Klammern?

von Holger (Gast)


Lesenswert?

@Keks:

ja, an deinen Ausführungen ist was dran...

von Dennis S. (eltio)


Lesenswert?

@Keks: YMMD. Schade, dass hier trotzdem bald irgendwer die (fast) 
lauffähige Lösung liefert...

von Grun D. (grunder)


Lesenswert?

Keks schrieb:
> -> Ich habe die Hausarbeit seit Wochen vor mir hergeschoben, morgen muss
> ich abgeben.

Ich habe keine Hausarbeit weil es ein Projekt meiner Firma ist. habe sie 
auch nicht vor mir her geschoben sonder erst letzten Samstag zugetragen 
bekommen.

->Nach dem Blackout am letzten Wochenende bin ich zurück in der tristen
> Realität und denke drüber nach, wie ich einen Dummen finde, der mir die
> Arbeit abnimmt.

Ich suche niemand der es mir abnimmt sondern unter die arme greift.
Typisch für Leute wie dich Keks, keine Ahnung von den Umständen aber 
klappe auf reißen.

> -> Ich habe kein USB-Kabel/keinen Arduino

Du wirst lachen... ich hab beides und weiß auch wie es funktioniert ;-)

> -> Wer macht die Hausaufgabe für mich?

Such dir Freunde ;-)und hör auf Kommentare ab zu geben wenn du nix zu 
sagen hast !

> -> Eigentlich interessiert mit dieser Krempel nicht die Bohne

Ich habe mir bereits das Grundwissen angeeignet und bekomm LED´s zum 
leuchten usw.

> Was sind das für komische Buchstaben, Zahlen und Klammern?

Ich weiß nicht was alles bedeutet richtig, deshalb Frag ich um Hilfe.

Keks wenn du keine Brauchbaren Informationen für mich hast geh mal raus 
und spiel mit deinen Freunden.

Ich bin kein dummes Schulkind das seine Hausaufgaben vor sich her 
schiebt und hofft das ein andere Trottel es für Ihn macht.
Ich bin ein Selbständiger Unternehmer und versuche mit meiner 
Partnergruppen einen neuen Zweig auf zu bauen.

Also lass bitte deine unbrauchbaren Kommentare wenn du nix zu sagen 
hast.

@Dennis S. und  Holger steht ruhig hinter so einem kindischen verhalten, 
erstmal fragen dann Handeln! ;-)

Wenn hier einem nicht geholfen wird frag ich wo anders, meine Zeit ist 
zu kostbar um mich mit solchen Sachen auseinander zu setzen.

Einen Schönen Tag erst mal und danke für ....


Mfg

von Hux (Gast)


Lesenswert?

sei nicht so eingeschnappt, das bringt Dich auch nicht weiter, poste 
doch mal deine Lösung dann gibt es sicher konstruktive Kommentare.

von Grun D. (grunder)


Lesenswert?

Hux schrieb:
> sei nicht so eingeschnappt, das bringt Dich auch nicht weiter, poste
> doch mal deine Lösung dann gibt es sicher konstruktive Kommentare.

Werd ich bei Gelegenheit machen!

Mfg

von Stefan F. (Gast)


Lesenswert?

Klingt für mich so, als ob du das komplette Programm fertig präsentiert 
bekommen möchtest. Aber vielleicht war das gar nicht so gemeint.

> weil es ein Projekt meiner Firma ist

Dann sollte dafür auch ein gewisses Budget bereit stehen. Ich verdiene 
mir gerne ab und zu etwas dazu, indem ich solche Aufgaben übernehme. Mit 
so wenig Angaben kann ich den Aufwand allerdings noch nicht vernüftig 
abschätzen.

Wenn du mir die fertige Hardware zuschickst, kann ich das Programm 
vermutlich für einen Preis ab 200 Euro entwickeln. Ich schätze 
allerdings, dass da noch weitere Anforderungen hinzu kommen, wie z.B. 
Fehlerbehandlung (kein Sensor ist pefekt).

Macht das für Dich Sinn? Dann schreibe mal alle Anforderungen hier hin 
oder in einer persönlichen Nachricht an mich. Wenn Du möchtest, helfe 
ich Dir auch gerne, die technischen Anforderungen zu sammeln und zu 
formulieren. Für 20 Euro pro Stunde.

> für das Projekt bitte ich um Hilfe.

Welche konkreten Fragen hast du denn?

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
Noch kein Account? Hier anmelden.