- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 110

Thema: Think Modular

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Als Freak würde ich mich nicht gerade bezeichnen, aber ich mach viel mit der seriellen Schnittstelle (die ist einfach praktisch).

    Zuerst @Moppi: du musst die serial.h nicht extra einbinden.
    Das macht die IDE sowieso.
    Wichtig ist nur, diese Schnittstelle auch zu starten:
    Serial.begin(115200);
    Tipp: wie hoch man hier mit der Baudrate wirklich gehen kann, einfach ausprobieren, das geht oft noch deutlich höher, wenn mans eilig hat)
    Teilweise muss man aber auch mal runter gehen, beispielsweise, wenn man BT-Module dazwischen hat, und der Empfang nich mehr so gut ist.

    Und: man kann diese Kommunikation auch wieder beenden mit
    Serial.end();
    Das macht beispielsweise dann Sinn, wenn man die Pins gleichzeitig für _irgendwas_ anderes benutzen will.

    Ja- das geht auch asynchron.
    Beide Teilnehmer haben einen (in der Grösse definierbaren) Empfangspuffer. Dort landet das, was die Gegenstelle spricht, erstmal ohne weiter beachtet zu werden. Man muss halt aufpassen, dass dieser Puffer nicht überlaufen kann, daher auch die Möglichkeit, den grössenmässig zu definieren.
    Wenn der Empfänger dann Zeit hat, kann er nachsehen, ob da was ist und was...
    Eine "Rückkopplung" gibt es nicht- der Sender kann senden, was und wie oft er will- er weiss _nicht_, ob es auch ankommt!
    Das kann man aber natürlich in Software lösen, wenn man beide Leitungen benutzt.
    Dadurch kriegt man die ganze Sache eigentlich so robust, wie man sie haben will.

    Man kann das auch abspecken- wenn der Empfänger _nur_ Empfänger zu sein braucht (weil er nix zu melden hat) kann man eine der Leitungen auch weglassen.
    Das funktioniert, hat aber den Nachteil, dass man eben keine Sicherheit hat, dass auch alles richtig angekommen ist.
    Manchmal braucht man die aber auch nicht.
    Im Grunde kann man damit sogar mehrere Rechenknechte kommunizieren lassen (nur nich jeden beliebig mit jedem).
    R1 kriegt eine Strippe an Tx, die führt zu Rx an R2. Der bekommt nun eine an Tx, die zu Rx an R3 führt...und so weiter.
    Da keiner der Rechner weiss, mit was er da eigentlich redet, funktioniert das tadellos- man könnte nun noch R3 mit R1 verbinden und schon weiss R1, ob seine Kommandos wirklich befolgt wurde...
    Abenteuerlich, aber das geht.
    Auch möglich: ein Sender gibt Befehle an _mehrere_ Empfänger.
    Die kann man einfach alle mit ihrem Rx an den TX des Masters hängen.
    Logischerweise kriegen die alle dann das Gleiche....dort könnte man, wenn man Feedback will, auch noch Kommandos einbauen, bei denen der Master den Slaves sagt, von wem er eine Antwort wünscht- man muss halt sicherstellen, dass alle anderen dann die Klappe halten.
    Hier kann man sich lustige Protokolle basteln...

    Aufpassen muss man aber bei vielen Arduinos doch etwas: die serielle Schnittstelle (man kann die auch in Software nachbilden, das funktioniert...manchmal..auch) wird zugleich zum programmieren benutzt.
    Viele Arduinos (Uno, Nano, ProMini...) haben aber nur die eine- man sollte also ein anderes Gerät, was da dann im Betrieb dran hängt, zum schweigen bringen, ehe man versucht, ihn zu programmieren.
    Es reicht, wenn man die Leitung, die zu Rx geht, unterbricht.
    Die Tx muss nur raus, wenn das dort dran hängende Gerät nicht "mithören" darf (Arduino sendet auch beim programmieren was retour, damit der Rechner, von dem aus er programmiert wird, weiss, dass es klappt).
    Es geht auch, wenn das angeschlossene Gerät einfach die paar Sekunden die Klappe hält- weil die Dinger eben _nicht_ unterscheiden können, woher das Gesabbel eigentlich kommt.
    Schöner ist hier der Mega2560- der hat drei der Dinger in Hardware.
    Da kann man recht sorglos basteln...

    Hift das weiter?
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Zitat Zitat von Rabenauge Beitrag anzeigen
    Zuerst @Moppi: du musst die serial.h nicht extra einbinden.
    Das macht die IDE sowieso.
    Bitte beachte die Fragestellung zuvor! Sinngemäß: wo finde ich den Code dafür, welche Datei?

    MfG

    PS: Bin heute etwas empfindlich dahingehend. Habe ein MRT an die Uniklinik geschickt, zum Termin in der Orthopädie, was ich bekommen habe ist ein ein Chirurg, der Einzelheiten der MRT nicht erläutern konnte, weil nicht sein Fachgebiet. Weiß nicht, ob das gerade gesellschaftlich in Mode ist, einfach mal irgendwas zu machen, anstatt das Richtige? Jetzt fange ich noch mal von vorne an, wieder neuer Termin... usw. Vielleicht können wir hier wenigsten auf so "unbedeutende Kleinigkeiten" achten?


    --------------------------------------
    Nachtrag 27.11.2020:

    Das mit der "serial.h" will ich so nicht stehen lassen, weil es offenbar nicht richtig ist. Heute bin ich dazu gekommen, dies direkt auszubrobieren. Wie ich da auch "serial.h" kam? - Weiß ich auch nicht mehr. Wenn ich es benötige, füge ich persönlich "HardwareSerial.h" per #include hinzu. Da ich gerade jetzt damit zu tun habe, hier nur die Richtigstellung.

    Letzter Punkt dazu:

    Die IDE bindet nicht zwangsläufig eine "serial.h" oder richtiger die "HardwareSerial.h" ein. Oder anders ausgedrückt: "Serial" ist nicht zwangsläufig vorhanden, also nicht immer im aktuellen Scope deklariert. Es gibt Ausnahmen. Und weil ich es gerade in der Mache habe, hier ein Beispiel, wie das z.B. in der der Arduino-IDE ausschaut, wenn es eben nicht vorhanden (eingebunden) ist:

    Code:
    xFunktion.cpp:7: error: 'Serial' was not declared in this scope
    
    
       Serial.println("funktion 1");
    
    
       ^


    Wie kann man das Lösen? Zum Beispiel so:

    Code:
    #include <HardwareSerial.h>
    extern HardwareSerial Serial;



    Geändert von Moppi (27.11.2020 um 17:50 Uhr) Grund: Richtigstellung zu "serial.h"

Ähnliche Themen

  1. Roccat Nyth im Test: Die 130-Euro-Modular-Daumentasten-Gaming-Maus
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 01.10.2015, 09:10
  2. ROV-CONTROL - a modular control system for diving robots
    Von Diron im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 0
    Letzter Beitrag: 03.02.2015, 22:58
  3. Atmel Studio modular Programmieren
    Von Che Guevara im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 11.06.2014, 23:48
  4. Kennt ihr MTRAN3 Modular Robot?
    Von Sergetg im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 09.11.2009, 14:46
  5. Modular, shape-shifting robots
    Von johns im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 01.05.2008, 09:40

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests