C# Fremden Code benutze

kex03

Cadet 3rd Year
Registriert
Okt. 2011
Beiträge
48
Hallo!

Ich bin blutiger Anfänger was Programmieren betrifft. Abgesehen von kleineren Spielereien in der Schule, habe ich bisher leider noch nicht viel gemacht.

Da ich allerdings meinen Horizont erweitern will, habe ich angefangen, mit einem I/O Warrior ein bisschen hin und her zu programmieren.

Wenn ich das richtig verstanden habe, ist das Teil nichts anderes als ein umgebauter Arduino (?)



Das nur zur Vorgeschichte. Hier kommt allerdings meine Frage:

Ich habe es bisher geschafft, dass ich die Eingänge schalten kann und auslesen kann - soweit, so gut. Nun habe ich mir ein Hygrometer besorgt, was über einen Analog Ausgang Bodenfeuchtigkeit bestimmen kann.

(Ich weiß leider nicht, ob links hier erlaubt sind. Man kann den Sensor unter "AZDelivery 5 x Bodenfeuchtesensor Hygrometer Modul V1.2" bei bspw. Amazon finden)

Mein Problem ist nur, dass ich nicht weiß wie ich das Teil integriert bekommme [IMG]https://www.computerhilfen.de/hilfen/Smileys/german/huh.gif[/IMG]

Der Hersteller hat ein Datenblatt mit angehangen ( siehe Bild ), was ich auch soweit verstehe. Nur leider ist es so, dass die Methode "Serial.begin" so nicht in visual studio existiert, was prinzipiell ja auch Sinn macht.

Gibt es denn nun überhaupt eine Möglichkeit für mich, den Sensor anzusprechen?



Falls irgendwelche Infos fehlen, nur raus damit. Ich will das ganze unbedingt zum Laufen kriegen, nur so komplett ohne Anhaltspunkt ist man doch etwas aufgeschmissen [IMG]https://www.computerhilfen.de/hilfen/Smileys/german/undecided.gif[/IMG]
 

Anhänge

  • hygrometer.jpg.png
    hygrometer.jpg.png
    95 KB · Aufrufe: 235
Links sind erlaubt. Poste doch mal bitte links zu aller von dir genutzten Hardware und Pack den Quellcode ordentlich formatiert in einen Codeblock :)
 
Zuletzt bearbeitet:
Serial ist nicht analog. Das ist definitv falscher Beispielcode.

Der Sensor ist analog, du musst also herausfinden wie du mit deinem I/O Warrior analogwerte von einem Pin ausliest.

1651855770008.png


Der Code ist für ein anderes Model, mit integriertem Controller für Serial, also "COM-Port". Würde bedeuten das man es direkt über eine USB->Seriell Schnittstelle oder nativ (wenn der PC noch über sowas verfügt), dann aber mit Pegelwandler. Daher versteht das Ding auch Befehle und es liegt nicht nur eine Variable Spannung am Pin an. Zumindest kein I/O Warrior notwendig.

Wie gesagt, nicht dein Model.

[Edit]
Frage falsch verstanden. Ignoriert mich!
[/Edit]
 
Zuletzt bearbeitet von einem Moderator: (Wer lesen kann ist klar im Vorteil)
Digitalzombie schrieb:
Serial ist nicht analog. Das ist definitv falscher Beispielcode.
Die Feuchtigkeit wird ja über einen AnalogRead() eingelesen. Die serielle Ausgabe ist wohl Richtiung OS. (meldet sich über USB als virtuellen COM-Port und kann dann z.B. mit Putty unter Windows ausgelesen werden)

Hier die Doku zu dem Ding:
https://www.codemercs.com/de/io-warrior?L=1

Als Einsteiger wäre ggf. ein gut dokumentierter Raspberry Pi oder "echter" Arduino besser gewesen.
 
Hui ich bin etwas über die vielen Antworten überrascht 😄

Also:

Ich benutze das IOW28 Kit - dazu habe ich mal das Datasheet angehangen. Das Hygrometer ebenfalls.

Nilson schrieb:
Als Einsteiger wäre ggf. ein gut dokumentierter Raspberry Pi oder "echter" Arduino besser gewesen.
Der Hintergrund ist, dass wir das Ding mal in der Schule benutzt haben und ich dementsprechend einen leichteren Einstieg haben sollte. Ich bin davon ausgegangen, dass dementsprechend das Teil relativ Benutzer bzw. Anfänger freundlich ist 😥

Nilson schrieb:
Die Feuchtigkeit wird ja über einen AnalogRead() eingelesen.
Kann ich das denn in VS benutzen?


madmax2010 schrieb:
und Pack den Quellcode ordentlich formatiert in einen Codeblock :)
Der bisherige Quellcode hat noch recht wenig mit dem auslesen des Sensors zu tun. Bisher ging's mir nur darum, dass ich die jeweilige I/O ports, als solche deklarieren und auslesen kann. Dementsprechend denke ich, dass mein, aus testzwecken, sehr unordentlicher code nicht wirklich positiv beiträgt.



/edit: Da der Warrior über eine I2C Buchse verfügt, würde es ggf. die Geschichte erleichtern, ein Hygrometer zu suchen, was einen passenden Anschluss hat?
 

Anhänge

  • Hygrometer_Modul_V1.2_Datenblatt_AZ-Delivery_Vertriebs_GmbH_d24d33d6-9496-4b26-8819-476bcb7184e8.pdf
    5,1 MB · Aufrufe: 157
  • IOW28_Datasheet.pdf
    438,5 KB · Aufrufe: 150
Krass, da hat scheinbar jemand das exakt gleiche Problem, Zufälle gibt es...
Habe ja nichts grundlegendes gegen Crosspostings, aber zumindest wäre ein Hinweis nicht unbedingt verkehrt.
 
Den Post hab ich aufgegeben, nachdem ich beim posten ordentlich verkackt hab 😅

Die Seite ist leider so unübersichtlich, dass ich keinen delete gefunden habe, sonst würde der post schon nicht mehr existieren
 
kex03 schrieb:
/edit: Da der Warrior über eine I2C Buchse verfügt, würde es ggf. die Geschichte erleichtern, ein Hygrometer zu suchen, was einen passenden Anschluss hat?
Das ist nicht dein Problem.
Up to four analog input channels are available on IO-Warrior28

Du musst deinem Visual Studio eben die gerätespezifischen Funktionen beibringen / einbinden. Unter dem Link den ich oben gepostet habe kannst du dir ein paar Beispielprojekte herunterladen und mal schauen wie es dort gelöst ist.

Wie habt ihr das damals in der Schule gemacht?
 
Nilson schrieb:
Das ist nicht dein Problem.


Du musst deinem Visual Studio eben die gerätespezifischen Funktionen beibringen / einbinden. Unter dem Link den ich oben gepostet habe kannst du dir ein paar Beispielprojekte herunterladen und mal schauen wie es dort gelöst ist.

Wie habt ihr das damals in der Schule gemacht?

Damals in der Schule haben wir nicht mit Analog Werten gearbeitet, sondern nur mit digitalen werten. Sprich wenn der eingang kommt -> mach das, wenn er weg fällt -> mach das.

Ich habe gerade im Datasheet unter 5.9.4 ADC special mode (IOW28 only) vermutlich genau das gefunden, was ich nun umsetzen muss. Nur leider werde ich nicht wirklich schlau aus dem Text.

Den Link den du angehangen hattest kannte ich bereits und ich habe mir auch die Beispiel codes vor einigen Tagen runtergezogen und angeschaut, nur leider arbeitet auch hier keiner mit Analog Werten - zumindest nicht, dass ich gesehen hätte 😭


/Edit ich habe gerade in der iowkit.pas einen Anhaltspunkt dazu gefunden. Anscheinend muss ich bei der read Methode (IowKitReadNonBlocking(int iowHandle, int numPipe, ref byte buffer, int length)) als numPipe den dritten Modus auswählen.

Das könnte eine heiße Spur sein - ich schau mal was ich finde 🧐

/Edit2 Mich hat das ganze nur noch mehr verwirrt. Ich denke, dass ich erstmal aufgeben werde :headshot:

Ich bedanke mich trotzdem für die Hilfe!
 
Zuletzt bearbeitet:
Zurück
Oben