Arduino mega 2650

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 30 Antworten in diesem Thema. Der letzte Beitrag () ist von Akanel.

    Arduino mega 2650

    Hallo Gemeinde

    Wie kann ich mit vb.net / visual Basis die Verfügbarkeit der offenen Ports am Board ( Arduino Mega 2650 ä ermitteln, bzw auslesen lassen um zu erkennen welche nicht frei sind und welche nicht.

    Wäre lieb wenn ihr ne Idee habt

    Liebe Grüße und ein Zukünftiges Dankeschön im voraus

    DerLaie
    Was heißt für dich "welche frei sind und welche nicht" ? Im Sketch konfiguriert oder ist "nicht mehr frei" für dich auch, wenn nur Bauteile angeschlossen sind? Letzteres kannst du eh nicht ermitteln.
    Ersteres kannst du dir über Serial hin&her senden und dann auswerten, also sowohl ob pinMode ein INPUT, OUTPUT oder INPUT_PULLUP ist, als auch den Zustand HIGH oder LOW.

    Ohne das allerdings über Serial mitzuteilen wird nichts. Soll heißen, ohne Vorbereitung bzw. Bereitstellung entsprechender Funktionen im Arduino-Sketch kannst du das nicht mit deinem .net-Programm ermitteln.
    Dumm ist der, der dumm ist. Nicht andersrum!
    Such mal nach Firmata... Damit kann man den Arduino von VB.Net aus ansteuern. Es zeigt dann zwar nicht an welche Portpins frei sind, aber im Quellcode des VB-Programms kannst Du das abbilden. Was wie belegt wird liegt dann ja am VB-programm.
    Der Beitrag wurde aus 100% wiederverwendbaren Elektronen erstellt!
    Hallo Gemeinde

    Wie kann ich über den Comport am Arduino mega 2650 übet vb.net eine PinZustand - Anfrage machen um zu prüfen ob Pins belegt oder noch frei sind um noch etwas an zuschliesen.

    Arduino mega 2650 am PC anschließen und wie muss ich dann in vb.net vorgehen programmiertechnisch um meiner Software mitzuteilen zu können welche Pins am Arduino frei sind und welche voll sind.

    LG DerLaie
    Hallo???? Dass du ein Laie bist ist ja OK, dass du aber auch noch völlig beratungsresistent bist schon weniger :( Die Vorredner haben dir doch schon mehrfach gesagt: Du kannst am COM-Port des Arduino nur die Informationen abfragen die dir das im Arduino gespeicherte Programm (wenn man so will die Firmware) bereitstellt - nicht mehr und nicht weniger! Wobei ich mich frage was du da überhaupt abfragen willst... Was meinst du denn mit "frei" und "voll"? Ob da etwas physisch am PIN angeschlossen ist? Ob der PIN als Aus- oder Eingang geschalten ist????
    Es wurden dir schon mehrere Schlagwörter wie z.B. Serial oder Firmata genannt, die Begriffe zusammen mit "Arduino" in einer Suchmaschine einzugeben und selbst etwas zu recherchieren, dürfte wohl nicht zu viel verlangt sein. Bislang hat jeder nachgefragt, was du genau meinst mit "freier Pin" und "voller Pin"...daraufhin einfach noch mal genau dasselbe wie zuvor zu schreiben ist schon fast frech.

    Private Konversationen zu Threads werde ich dir auch nicht beantworten, dafür ist ja das Forum da...aber das wurde dir in der Vergangenheit ja bereits öfter gesagt!

    Also erklär hier bitte mal etwas genauer (vorzugsweise in etwas besserem Deutsch, damit man dich auch versteht) was du nun mit deinen Aussagen meinst und was genau du vorhast, ansonsten muss ich mich leider ausklinken. Falls du .net- und/oder Arduino-seitig schon Code geschrieben hast, zeig ihn uns, so können wir gezielter helfen und es wird vielleicht auch einiges klarer.
    Dumm ist der, der dumm ist. Nicht andersrum!
    Mein Vorhaben ist :

    das ich ein Arduino Sketch schreiben kann, das die ganzen Pins eine art Schalter funktionieren. SPRICH sobald der Pin belegt ist oder in Funktion ist soll bei mir in vb.net als Low oder High angezeigt werden. EIN ODER AUSGESCHALTET sein so bald der Pin wieder frei ist als Low.

    Vb.net soll nix anderes machen als alle paar Sekunden das zu prüfen ob der pin aus oder eingeschaltet ist. Und das bei jedem pin.

    Hoffe man kann es jetzt besser verstehen.

    Kleine frage ohne vorlaut zu sein wie schreibt man das in einem Arduino Sketch

    LG DerLaie
    Woher soll der PIN vom Arduino wissen, ob eine Schaltung oder ein Schalter oder ein Aktor dran hängt??? Das ist doch durch die Beschaltung bestimmt. Diese Beschaltung wiederum bestimmt den Programmablauf im Arduino. Es bringt nichts einen PIN als Eingang zu deklarieren wenn eine LED dran hängt. Wenn Du nun ein Arduino Programm hast welches die Hardwareseitige beschaltung abbildet, weißt Du welche Pins in Verwendung sind. Nun kannst Du eine Routine programmieren welche den Schaltzustand an das VB-Programm meldet und Steuercommandos vom VB-Programm entgegennimmt und an den Pins ausgibt.
    Der Beitrag wurde aus 100% wiederverwendbaren Elektronen erstellt!
    @Der Laie
    ich würde mal vermuten, dass du 0 Erfahrung mit Arduino Coding hast! -> richtig?

    Wie du hier die Frage stellst, ist sehr kompliziert und absolut unverständlich, deswegen wirst du vermutlich auch nicht die ANtworten bekommen, die die suchst.

    1.
    Grundlegend solltest du erst mal eines verstehen:
    du sprichst von 41 port pins!? -> folgende specs hat ein Arduino mega 2560:
    D0 - D5 54 Digital Input / Output Pins.
    A0 - A15 16 Analog Input / Output Pins.
    D2 - D13 12 Pulse Width Modulation ( PWM ) Pins.
    Pin # 13 Built-In LED for Testing.
    Pin # 0 (RX) , Pin # 1 (TX)Pin # 19 (RX1) , Pin # 18 (TX1)Pin # 17 (RX2) , Pin # 16 (TX2)Pin # 15 (RX3) , Pin # 14 (TX3) 4 Serial Communication Ports (8 Pins).

    Von welchen "port pins" sprichst du?

    2.
    wie funktioniert das ganze?
    Das board selbst ist erstmal "dumm" -> sprich, ohne dass du dem board über deinen "code" sagst, was es tun soll, kann es nichts -> ich vermute mal, dass du genau nach solch einem "code" fragst.
    -> Beginnen wir mal mit den "elektrischen basics" -> ob etwas am PIN angeschlossen ist oder nicht, kann das board nur dann erkennen, wenn es 1. ein EINGANGSSIGNAL ist -> sprich die 12 PWM Outputs fallen schonmal weg!
    Somit hättest du noch 54 digitale und 16 analoge Eingänge welche du abfragen könntest.
    ABER -> 2. -> das board könnte nur erkennen ob etwas angeschlossen ist, wenn das "Angeschlossene" auch eine Spannung liefert.
    Deine Fragestellung versteht man kaum oder falsch -> ich glaube manche hier, (ich auch im ersten Moment) meinen du würdest einen code wollen, welcher sagt, "ob ein Kabel am Digitalen Eingang 12 angeschlossen ist oder nicht"
    -> und sowas ist schlichtweg mit keinem Microcontroller möglich!

    Sprich simpel gesagt:
    Dein code legt fest, welche Eingänge abgefragt werden (das machst also du)
    Und auch du, musst sicherstellen, dass dann genau an diesen Eingängen wie im code festgelegt ist, auch deine "kabel angeschlossen" sind

    Das ganze geht recht einfach.
    Arduino mit USB an den PC anschließen.
    dann für den arduino + deine vb Anwendung die Programme erstellen mit einer Kommunikation über Serial
    Tutorial hier -> das sicherlich perfekt für dich ist:
    youtube.com/watch?v=eBywxIE-ucM
    Mit dem Tutorial hast du eine Basis.
    Dann passt du dir das an wie du es brauchst.
    -> du brauchst ja die abfrage ob dein Eingang High oder Low ist -> und die Antwort schickst dann per serial zur VB Anwendung.
    Und zum Thema wie man HIGH/LOW abfragt auch hier für den Arduino ein perfektes Tutorial:
    https://www.youtube.com/watch?v=UleNSti4TSw

    Ich hatte vor einigen Jahren mal viel mit Arduino gemacht -> das was du vermutlich machen möchtest (abgesehen von dem was praktisch nicht gehen wird) ist total einfach umgesetzt -> schau die Tutorials, lies alles nach -> und du bist schneller am Ziel als mehrere Tage hier im Forum die Fragen so unklar zu stellen, dass dir keiner helfen kann.
    Das erste Tutorial ist sehr gut mit serialport aber da fehlt ne Kleinigkeit vllt hab ich es auch übersehen.

    Woher soll die Software in dem Tutorial wissen ob die led Softwareseitig auch aktiv ist sie ist zwar Hardwareseitig aktiv aber nicht Softwareseitig sprich Rückmeldung an die Software

    LG DerLaie
    @Der Laie
    ich verstehe auch diese Frage wieder nicht so ganz. Du tust dir wirklich schwer, es so auszudrücken, dass andere wissen was du möchtest.
    Wir haben hier 2 Teile an Software. Einmal die VB-Software. Und einmal die vom Arduino. In der VB Software im Tutorial werden die Werte für die LED eben direkt von der Trackbar in den Seriellen Port geschrieben. Siehe im Video bei 07:05min
    Das ist ein absolutes Anfänger-video und vielleicht nicht perfekt gelöst. Aber funktioniert einfach.
    Aber die Software weis doch dass die LED an ist, da die Software die LED doch ansteuert.Eine Rückmeldung??? meinst du damit dass der Arduino der VB Software zurückmelden soll, dass er den Befehl "LED an" erfolgreich durchgeführt hat?

    Im Prinzip brauchst du eine Art "Hand-Shake" -> sprich:
    VB Software schickt an Arduino den Befehl "Befehl LED an" + setzt sich eine variable "led status" auf false
    Arduino bekommt den Befehl "LED an" und Antwortet der VB Software mit "Befehl LED an erhalten"
    Arduino macht was....(in deinem Fall wird der Arduino den PIN ansteuern, an dem du die LED angeschlossen hast), und wenn das erledigt ist, sendet der Arduino der VB Software "Befehl LED an erfolgreich"
    Die VB Software bekommt die Antwort "Befehl LED an erfolgreich" und setzt die Variable "led status" auf true.
    Das ganze kannst du dann auch visualisieren mit Buttons, Labels oder was auch immer.Wenn du das so machst hättest du folgendes Ergebnis:
    Deine Visual Basic Anwendung (Eine Form mit Buttons) sagt dem Arduino er soll die LED anschalten. Deine VB Software zeigt dir aber solange an, dass die LED aus ist, bis der Arduino sich meldet und sagt, dass er die LED angeschalten hat.
    Sollte nun eines passieren:
    VB sagt dem Arduino mach die LED an, aber der Arduino nicht antwortet (weil z.B. ein Problem am Arduino besteht) dann siehst du in deiner VB Software, dass die LED ausgeschalten sein müsste, da der Arduino sich nicht zurück gemeldet hat, dass die LED angeschalten wurde.
    Sowas ist im Prinzip ein Handshake. Teilnehmer A(Visual Basic) spricht zu Teilnehmer B(Arduino), und Teilnehmer B antwortet immer, dass er verstanden hat, was Teilnehmer A gesagt hat. Und eben auch anders rum.


    @Der Laieich hab da was gefunden -> ich hab vor 8 Jahren mal genau sowas gemacht, was du suchst.
    Eine kleine VB Anwendung, die mit einem Arduino spricht. Mit komplettem "Handshake" und "Heartbeat"
    Ich hatte damals mit Relais gearbeitet, und einige Befehle direkt aus der VB Software an den Arduino gegeben.
    Das "Heartbeat" um einfach im VB zu wissen, ob der Arduino noch arbeitet.
    Ich hab das ein bisschen visualisiert mit on/off buttons in grün und rot -> welche aber nur umschalten -> wenn der Arduino sagt, dass das Relais erfolgreich eingeschalten wurde.
    Ich vermute mal, dass ist genau das was du suchst.
    Schau mal hier

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Denis Claß“ ()