Forum: Mikrocontroller und Digitale Elektronik Arduino 4 Sensoren auswertung


von Exeo (Gast)


Lesenswert?

Hallo Zusammen


Ich habe mir das Wochenende einen Arduino UNO bestellt,
dazu gleich die Software heruntergeladen.

Habe mich jetzt scho ein bischen eigeatbeitet und scho die ersten Code's
geschrieben. Kann sie nur leider noch nicht Austesten da der Arduino 
noch nicht hier ist..

Ich habe so ziemlich keine Ahnung was das Programmieren angeht. Also ein 
blutiger Anfänger. Habe mich nur bei der
Arduino Web-Site und bei Arduino Tutorial's schlaugemacht.


Ich will mit dem Arduino 4 Fotodioden auswerken lassen.. Also welche der 
4 Fotodioden am
hellsten ist..
Nun weis ich nicht recht wi ich das Code mässig machen soll..
Also mit 2 Fotodioden sollte es ja nicht allzuschwer sein..
Habe hierzu auch schon eine code, den ich noch nicht austesten kann... 
^^

Nun wollte ich euch fragen wie man den das am besten lösen kann..
Ich dachte mir mit if() oder max() nur aber hier darfman ja nur mit 2 
Variablen arbeiten..

MfG
Exeo

von Exeo (Gast)


Lesenswert?

Weis hier den niemand wi man das macht?

MfG

Exeo

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Die Frage ist doch nun echt einfach mit Google selbst zu beantworten.

Da dus ja augenscheinlich nicht kannst, hab ich das mal für dich 
gemacht:
http://www.delphipraxis.net/165871-hoechsten-wert-von-5-integer-variablen-bestimmen.html

von Thomas B. (briddl)


Lesenswert?

Exeo schrieb:
> Weis hier den niemand wi man das macht?
>
> MfG
>
> Exeo


du hast 4 variablen. machs mit ner zusätzlichen variable in der du den 
aktuellen höhsten wert abspeicherst und mit diesem immer den nächsten 
vergeleichst.

also z.b.

int a,b,c,d,max;


if( a > b ){
 max = a;
}
else
{
max = b;
}
if(c > max){
max = c;
}
if( d > max){
 max = d;
}



So was wäre ne möglichkeit, naja musst halt noch die fälle beachten wenn 
2 werte gelich sind.

von Karl (Gast)


Lesenswert?

man kann auch Funktionen Verschachteln

max(max(a,b),max(c,d);

von Karl (Gast)


Lesenswert?

Klammer fehlt
max(max(a,b),max(c,d));

von Karl H. (kbuchegg)


Lesenswert?

Exeo schrieb:
> Weis hier den niemand wi man das macht?

Im Zweifelsfall einfach mal überlegen, wie DU das machen würdest, wenn 
DU vor dieser Aufgabe stehen würdest.

Du hast 4 Zahlen

   25, 89, 36, 52

wie gehst DU vor, um die größte Zahl zu finden?


Du bist als Mensch ziemlich gut darin, Probleme zu lösen, auch wenn du 
selbst oft nicht bewusst genau weißt, wie du das machst.
Nimm dir Papier und Bleistift, setze dich selbst diesem Problem aus und 
beobachte wie du selbst intuitiv ein konkretes Problem löst. Du kannst 
von dir selbst lernen, mit welchen Schritten du ein Problem löst!

Edit: Ach und noch was: Die Lösung 'Ich schau einfach hin und weiß die 
Lösung' gilt nicht. Du musst mit einem - mit DEM - Kochrezept 
hochkommen, mit dem du ein bestimmtes Problem löst.
Darum gehts in der ganzen Programmierung - um das Lösen von Problemen. 
Und eine nicht unbeträchtlich lange Zeit wirst du ganz brauchbare 
Lösungen finden, wenn du dir einfach nur selber zusiehst und dir bewusst 
machst, wie DU selbst ein bestimmtes Problem löst. Programme zu 
schreiben hat auch viel damit zu tun, ein genauer Beobachter zu sein.

von Troll (Gast)


Lesenswert?

Ich würde die Variabelen schön in ein Array packen und dieses Array dann 
mit Hilfe eines Quicksort algorithmusses sortieren (soll ja zügig gehen) 
Dabei empfiehlt es sich, zusätzlich zu den Werten dann die Dioden Nummer 
mit abzuspeichern, d.h. ein 2 Dimensionales Array auswählen, oder 
nachträglich nach dem sortieren den sortierten Werten wieder eine Dioden 
Nummer zuzuweisen, wobei jedoch darauf geachtet werden muss, dass jede 
Dioden zugeordnet wird

Zuzüglich kann man aus den Messwerten für jede Diode ein Polynom bilden 
um damit die weitere Entwicklung zu berechnen und dies dann als 
Plausibilitätsprüfung für weitere Messwerte zu verwenden, ggf auch ein 
Algorithmus der selbstständig dazu lernt.


*Kurz: Wenn du damit schon Probleme hast, dann lass es am besten sein 
erstmal mit einem Ardruino und lerne am PC in der Konsole! 
programmieren. Am besten dazu ein Java Buch (Java ist auch eine Insel 
fällt mir da speziell ein) und wenn das verstanden ist, dann lohnt sich 
ein Blick in C*

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.