Posting Freak Beiträge: 1905 Registriert: 7.12.2006 Status: OfflineGeschlecht:
|
|
erstellt am: 13.2.2013 um 03:25 |
|
|
Hallo an die Elektronikhelfer,
mal ein Positionsbericht von meiner Arbeit.
Ich habe nun alles zusammen, das Adruino-bord habe ich mit dem
mitgelieferten Kabel an meinen Labtop angeschlossen und habe den Sketch für
den HC-SR04 aufgeladen mit der Adruino 1.02 software. Es blinken auch
einige LED's auf dem Board, aber wie stell ich die ausgelesenen Daten auf
dem Labtop-bildschirm dar, oder geht das gar nicht und ich muß einen
seperates Display an das Board anschließen.
Entschuldigt die dusseligen Fragen, aber ich habe mit Elektronik nicht viel
Kenntnis und mir fehlt z.Z. die Ruhe mich durch die Berge von Info durch zu
lesen.
Mit bestem Dank, Jörg
____________________ Ich braue Hoppesäcker Ur-biere nach dem Hoppesäcker Reinheitsgebot von
AD512 (Dokument ging leider verloren).
|
|
Antwort 25 |
|
Posting Freak Beiträge: 1453 Registriert: 7.8.2012 Status: Offline
|
|
erstellt am: 13.2.2013 um 08:10 |
|
|
Moin,
Normalerweise kannst du die Daten auch über die Usb-Schnittstelle schicken
und dann über den seriellen Monitor betrachten...
Welches Arduino-programm (also welchen sketch genau) nutzt du? Bei der
normalen Arduino PC-Anwendung ggf einfach mal den seriellen Monitor
aufmachen?
Viel Erfolg, Dale.
[Editiert am 13.2.2013 um 08:14 von Dale]
|
|
Antwort 26 |
|
Posting Freak Beiträge: 1905 Registriert: 7.12.2006 Status: OfflineGeschlecht:
|
|
erstellt am: 14.2.2013 um 01:55 |
|
|
Hallo Dale,
meine Version ist die 1.0.2.
Als Sketch benutze ich jetzt diesen:
int TriggerPin = 12; // Digital 12 -> HC-SR04 Trigger
int EchoPin = 13; // Digital 13 -> HC-SR04 Echo
// HC-SR04 Vcc -> 5V, GNG -> GND
void setup()
{
Serial.begin(9600);
}
void loop()
{
// establish variables for duration of the ping,
// and the distance result in inches and centimeters:
long duration, cm;
// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
pinMode(TriggerPin, OUTPUT);
digitalWrite(TriggerPin, LOW);
delayMicroseconds(2);
digitalWrite(TriggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
// The same pin is used to read the signal from the PING))): a HIGH
// pulse whose duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(EchoPin, INPUT);
duration = pulseIn(EchoPin, HIGH);
// convert the time into a distance
cm = microsecondsToCentimeters(duration);
if (cm <= 500)
{
Serial.print(cm);
Serial.println("cm");
}
else Serial.println("Ungueltige Messung ! Entfernung groesser als 5 Meter
!!!");
delay(100);
}
long microsecondsToCentimeters(long microseconds)
{
// The speed of sound is 340 m/s or 29 microseconds per centimeter.
// The ping travels out and back, so to find the distance of the
// object we take half of the distance travelled.
return microseconds / 29 / 2;
}
Auf meinem Labtop screen sehe ich nur den Arduino Sketch, wenn ich auf
'Upload' drücke sagt es mir in rot das der Serial Port 13 already in
use....
Beste Grüße, Jörg
____________________ Ich braue Hoppesäcker Ur-biere nach dem Hoppesäcker Reinheitsgebot von
AD512 (Dokument ging leider verloren).
|
|
Antwort 27 |
|
Posting Freak Beiträge: 1453 Registriert: 7.8.2012 Status: Offline
|
|
erstellt am: 14.2.2013 um 04:00 |
|
|
Arduino hardwaremäßig resetten. Da ist so ein Knopf..
Das Programm musst du mit "upload"auf den Arduino bekommen. Wenn das dann
geklappt hat, kannst Du mit dem seriellen Monitor die Abstand cm
lesen...
Die werden vom programm gesendet..
Viel Erfolg,
Dale.
|
|
Antwort 28 |
|
Senior Member Beiträge: 103 Registriert: 3.12.2012 Status: OfflineGeschlecht:
|
|
erstellt am: 14.2.2013 um 08:55 |
|
|
Moin Jörg!
Hat den der Upload auf den Arduino beim ersten Mal geklappt?
Was siehst Du denn, wenn Du den Seriellen Monitor öffnst?
Viele Grüße - Sönke
____________________ [... und nicht vergessen: Schaumpumpe schmieren!]
|
|
Antwort 29 |
|
Posting Freak Beiträge: 1905 Registriert: 7.12.2006 Status: OfflineGeschlecht:
|
|
erstellt am: 17.2.2013 um 21:10 |
|
|
Ha! Et löve!
Nun bin ich aber froh das ich endlich die Entfernung ausgewiesen bekomme
wenn ich an den 'Externen Monitor' anklicke.
Ich freue mich wie ein Kleinkind das eine neu Klapper bekommen hat.
Nun wieder eine Frage, kann ich an ein Arduino Board beliebige Sonar
Sensoren anschließen? Und wie lese ich die dann aus? Muß ich den Sketch
dann irgendwie verändern?
Dann die nächste große Frage: wie kann ich das auf meinem Monitor graphisch
darstellen?
Ebenso: im COM13 screen wird die Entfernung gespeichert, ist es möglich da
nur die aktuelle Enfernung anzuzeigen, da die Histroy mich nicht weiter
interesiert, sonder der aktulle Stand graphisch angezeigt werden soll.
Ich will mit den Sensoren den Füllstand in bis zu 22 Silos anzeigen.
Hoffe einer von Euch Elektronikgenies kann mir dabei noch helfen.
Wenn Ihr mich damit direkt anschreiben, meine Emailadresse ist:
joerg(at)columbiaseed.ca
Cheers und tausend Dank für die Hilfe die ich hier bekommen habe.
Jörg
____________________ Ich braue Hoppesäcker Ur-biere nach dem Hoppesäcker Reinheitsgebot von
AD512 (Dokument ging leider verloren).
|
|
Antwort 30 |
|
Junior Member Beiträge: 48 Registriert: 11.2.2010 Status: OfflineGeschlecht:
|
|
erstellt am: 17.2.2013 um 21:48 |
|
|
|
|
Antwort 31 |
|
Posting Freak Beiträge: 1453 Registriert: 7.8.2012 Status: Offline
|
|
erstellt am: 17.2.2013 um 23:29 |
|
|
Zitat von Biermann, am 17.2.2013 um
21:10 | Nun wieder eine Frage, kann ich an ein
Arduino Board beliebige Sonar Sensoren anschließen? Und wie lese ich die
dann aus? Muß ich den Sketch dann irgendwie
verändern? |
Einfache Antwort vermutlich. Es wird von den Sensoren abhängen, mit
Bastelei und Programmiererei wird man viel machen können, aber ob du dafür
auch so komfortabel einfach mal nur einen fertigen Sketch nehmen kannst,
bezweifele ich..
Zitat von Biermann, am 17.2.2013 um
21:10 | Dann die nächste große Frage: wie kann
ich das auf meinem Monitor graphisch darstellen?Ebenso: im COM13 screen
wird die Entfernung gespeichert, ist es möglich da nur die aktuelle
Enfernung anzuzeigen, da die Histroy mich nicht weiter interesiert, sonder
der aktulle Stand graphisch angezeigt werden
soll. |
Der Arduino schickt alle x ms nur die aktuelle Entfernung über die
COM-Schnittstelle, gespeichert wird da nichts, bis auf in dem Fenster
vielleicht. Natürlich kann man so etwas programmieren. Ich hab sowas auch
schon mal gemacht, wie sind denn Deine Programmierkenntnisse so?
Es ist alles mit dem Arduino zu machen, ggf. müsstest Du Dich damit nur
etwas intensiver auseinandersetzen..
Grüße,
Dale.
|
|
Antwort 32 |
|
Posting Freak Beiträge: 1905 Registriert: 7.12.2006 Status: OfflineGeschlecht:
|
|
erstellt am: 18.2.2013 um 00:23 |
|
|
Dale & Werner,
ich glaube ich schließe meine 'Forschung' bzgl. einer günstigen
Sonarsilofüllstandsmessung hiermit ab und gebe sie an meinen Elektriker ab
sobald ich einen Prototyp in einem Silo an meinem PC im Betrieb
angeschlossen habe.
Dazu werde ich den Sonsor mal sauber in eine Dose einbauen, mit einem
Schaumgummifilter vor den beiden Trichtern die die Sonarwellen erzeugen und
auffangen damit kein Staub da rein kommt. (so ist das an meiner
Feldspritze, die die höhe des Spritzgestänges zum Boden über Sonar
regelt)
Es ging mir hier darum eine Lösung zu finden die unter €500 pro Silo liegt,
also €11000 für 22 Silos. Das hab ich ja nun bewiesen.
Er (mein Elektriker) kann das dann in seine PLC Steuerung meines Betriebes
mit graphischer Anzeige für jeden Silo integrieren, das ist ja seine
Kunst.
Ich habe ihm nun gezeigt das es geht, wo er meinte 'nein', aber was von der
Stange für einen Haufen von meinem Geld kaufen kann jeder, mir ist mein
hart erarbeitetes Geld aber oft zu wertvoll so einfach raus zuschmeißen.
Fazit: es geht!
Mit bestem Dank noch mal, Jörg
____________________ Ich braue Hoppesäcker Ur-biere nach dem Hoppesäcker Reinheitsgebot von
AD512 (Dokument ging leider verloren).
|
|
Antwort 33 |
|
Posting Freak Beiträge: 893 Registriert: 25.5.2012 Status: OfflineGeschlecht:
|
|
erstellt am: 18.2.2013 um 00:41 |
|
|
Hallo Jörg,
also wenn ich den Sketch richtig interpretiere, dann muss man die Sensoren
einmal "kurz" antriggern (anschubsen) und dann liefern sie auf einem
Digitalen Eingang einen Zeitwert, wie lange das Echo auf sich warten
liess... So weit, so gut. Die cm-Genauigkeit klingt für mich zwar ein wenig
"grob", aber sollte für Deinen Anwendungsfall ggf. reichen.
Um damit dann die Füllstände von 22 Silos zu überwachen, müsste man
zusätzlich noch wissen, wie zeitkritisch das Ganze werden soll. Wenn man
davon ausgeht, daß es alles nicht so wirklich schnell gehen muss, ...
Also mal zu den Basics: Pro Sensor sind also 2 digitale Anschlüsse
vorgesehen, ein Schubser und ein Auslesewert, würde also für 22 Silos 44
dig. Anschlüsse vorraussetzen, die nacheinander bedient werden. Wenn
allerdings das dig. "Ergebnis" längere Zeit auslesbar ist, dann spricht
doch eigentlich nichts dagegegen, alle Sensoren gleichzeitig über eine
gemeinsame Leitung anzutriggern und danach nacheinander auszulesen ... also
bräuchte man nur 23 dig. Leitungen. Das sollte ein einzelner Arduino
schaffen.
Für die Ausgabe der Daten gibt es dann wieder versch. Möglichkeiten:
Entweder man gibt die Werte aller Sensoren dauernd via ser. Schnittstelle
aus oder nur auf Anforderung z.B. über eine Netzwerkschnittstelle, als
Laufband auf ein LCD, ...
Gut Mess, Harry
____________________ Ich kann allem widerstehen, außer der Versuchung (Oscar Wilde)
|
|
Antwort 34 |
|
Posting Freak Beiträge: 893 Registriert: 25.5.2012 Status: OfflineGeschlecht:
|
|
erstellt am: 18.2.2013 um 00:45 |
|
|
Dann war ich ja jetzt knapp zu spät
Gut Sud, Harry
[Editiert am 18.2.2013 um 00:46 von HarryHdf]
____________________ Ich kann allem widerstehen, außer der Versuchung (Oscar Wilde)
|
|
Antwort 35 |
|
Posting Freak Beiträge: 1905 Registriert: 7.12.2006 Status: OfflineGeschlecht:
|
|
erstellt am: 18.2.2013 um 01:21 |
|
|
Harry, allein der gute Wille zählt!
Cheers, Jörg
____________________ Ich braue Hoppesäcker Ur-biere nach dem Hoppesäcker Reinheitsgebot von
AD512 (Dokument ging leider verloren).
|
|
Antwort 36 |
|
Posting Freak Beiträge: 1453 Registriert: 7.8.2012 Status: Offline
|
|
erstellt am: 18.2.2013 um 06:54 |
|
|
Ah - jetzt verstehe ich..
Ok, schön, dass es dann erfolgreich war.
Bezüglich der 44 / 22 Leitungen müsste man evtl. die Ströme noch im Auge
behalten, k.A., was der Sensor so zieht. Vor allem, wenn alle 22 auf einmal
messen sollen. Ansonsten würde ich mal unter Multiplexer und Arduino
googlen, da gibts wirklich günstige Lösungen, die Pin-Anzahl quasi zu
erhöhen..
Viel Spaß beim Basteln,
Dale.
|
|
Antwort 37 |
|