- LiTime Speicher und Akkus         
Seite 8 von 10 ErsteErste ... 678910 LetzteLetzte
Ergebnis 71 bis 80 von 91

Thema: abstandhalten mit 433MHz

  1. #71
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    55
    Beiträge
    2.197
    Anzeige

    LiFePo4 Akku selber bauen - Video
    2.4GHz ist insgesamt ziemlich ungeeignet für grössere Entfernungen.
    Die Hersteller von RC-Modellfernsteuerungen (die dann ohne weiteres mehr als nen Km überbrücken können) arbeiten da mit allen möglichen Tricks, damit das klappt.

    Was aber bleibt: schon ein lausiger Baum kann die Verbindung komplett unterbrechen.
    2cm Wasser über der Antenne auch.
    Die Ausbreitungsbedingungen solcher kurzen Funkwellen sind einfach mies, daran ist nichts zu ändern.
    Vermutlich brauchst du deswegen die grösseren Antennen, damits überhaupt gescheit klappt.
    Ich hab neulich im Job ein Funk-Überwachungskamera-System aufgebaut, die Gurken schafften nicht mal 15m im Freien bei direkter Sichtverbindung. Bei den Dingern waren auch noch die Antennenanschlüsse linksrum, damit man die ja nich einfach austauschen kann *grummel
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  2. #72
    HaWe
    Gast
    Zitat Zitat von Rabenauge Beitrag anzeigen
    2.4GHz ist insgesamt ziemlich ungeeignet für grössere Entfernungen.
    Die Hersteller von RC-Modellfernsteuerungen (die dann ohne weiteres mehr als nen Km überbrücken können) arbeiten da mit allen möglichen Tricks, damit das klappt.

    Was aber bleibt: schon ein lausiger Baum kann die Verbindung komplett unterbrechen.
    2cm Wasser über der Antenne auch.
    Die Ausbreitungsbedingungen solcher kurzen Funkwellen sind einfach mies, daran ist nichts zu ändern.
    Vermutlich brauchst du deswegen die grösseren Antennen, damits überhaupt gescheit klappt.
    Ich hab neulich im Job ein Funk-Überwachungskamera-System aufgebaut, die Gurken schafften nicht mal 15m im Freien bei direkter Sichtverbindung. Bei den Dingern waren auch noch die Antennenanschlüsse linksrum, damit man die ja nich einfach austauschen kann *grummel
    stimmt, und der Topic-Titel ist hier auch völlig verwirrend, denn da geht es ja um 433 MHz, das wäre z.B. die LoRa-Frequenz.
    In dem Fall, dass man komplett die technische Basis ändert (WiFi >= 2.4GHz) , hätte man ein neues Topic eröffnen sollen, denn so geht in dem Sammelsurium alles wie Kraut und Rüben durcheinander, und das ist ziemlich unzumutbar für andere Forums-Leser.

    @admins:
    Kann man bitte mal den Titel ändern oder das Topic splitten?

  3. #73
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    Zitat Zitat von HaWe Beitrag anzeigen
    @admins:
    Kann man bitte mal den Titel ändern oder das Topic splitten?
    wäre auch in meinem sinn - angefangen hat es ja mit den 433mhz teilen... - es wurden WEMOS daraus - so ist manchmal das leben...
    gruß inka

  4. #74
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    ich sehe wahrscheinlich wieder die bäume wegen dem wald nicht. Oder umgekehrt....

    Wie kann ich in einer IF-anweisung danach fragen ob beim digital.read etwas angekommen ist? Welcher wert da ankam ist egal, ich möchte nur den unterschied zwischen "nichts angekommen" und "irgendwas angekommen" abfragen. Geht das überhaupt? Bitte helft mir aus dem wald...
    gruß inka

  5. #75
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    Für Dich vermutlich am verständlichsten:
    Code:
    if (digitalRead(inPin)==HIGH) {
     ....
    }
    

    oder
    Code:
    if (digitalRead(inPin)==1) {
     ....
    }
    

    oder
    Code:
    if (digitalRead(inPin)) {
     ....
    }
    


  6. #76
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von inka Beitrag anzeigen
    Wie kann ich in einer IF-anweisung danach fragen ob beim digital.read etwas angekommen ist?
    Gar nicht. digital.read liefert den Zustand eines Pins. Und ein Pin hat immer einen Zustand, es "kommt" also immer etwas an.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #77
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    Zitat Zitat von Klebwax Beitrag anzeigen
    Gar nicht. digital.read liefert den Zustand eines Pins. Und ein Pin hat immer einen Zustand, es "kommt" also immer etwas an.

    MfG Klebwax
    ok, danke, ich sitz wahrscheinlich schon zu lange vor der kiste...

    wie sieht es bei client.read(); aus? das, was da ankommt (oder auch nicht) wird einer variablen zugewiesen:

    request = client.read();

    wenn da nichts ankam, wird die variable den ihr vorher zugewiesenen zustand "0" behalten?
    gruß inka

  8. #78
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von inka Beitrag anzeigen
    wie sieht es bei client.read(); aus? das, was da ankommt (oder auch nicht) wird einer variablen zugewiesen:

    request = client.read();
    client.read() liefert immer etwas. Wenn die Funktion als void definiert wäre, dann würde sie nie etwas liefern, der Compiler wüsste das und würde einen Fehler melden. Und request kann seinen vorigen Zustand nicht behalten, es muß den Wert annehmen, den read liefert. Das sagt das "=", der Zuweisungsoperator. Findet man in request den vorigen Wert, dann hat read ihn geliefert.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  9. #79
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    Wenn man wissen will, ob bei der Klasse "Client" etwas angekommen ist, nutzt man .available(). Diese Methode gibt die Anzahl Bytes zurück, die verfügbar ist.

    Beispiel:

    Code:
    if(client.available()){
    char c = client.read();
    Serial.print(c);
    }

  10. #80
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    76
    Beiträge
    2.180
    danke erstmal für die vorschläge für die auswertung der client.read funktion. Leider funktioniert das, was ich vorhatte - so nicht...

    aber von anfang an:
    - die kopplung von client und master mit den "WEMOS-D1_mini-teilen" funktioniert gut, die entfernung bei der die verbindung abbricht liegt auf gerader und unverbauter strecke bei ca. 150m, was absolut meinen vorstellungen entspricht.
    - beim abbiegen zwischen häusern ist es etwas weniger, also um die 100m, ist aber ok...
    - das signalisieren des abbruch (grünes blinken geht in rotes blinken über) funktioniert beim slave auch gut, beim master allerdings nicht...

    Das höchste der gefühle was ich erreiche, ist, dass das grüne blinken aufhört, ich schaff es einfach nicht, den punkt im code zu knacken, an dem ich das so sensieren kann, dass es ins rote blinken übergeht...

    Wie gesagt ist für die nutzung kein muss, wäre aber schon schöner...

    wer schaut sich das bitte an?

    hier der mastercode:
    Code:
    // https://www.arduinoforum.de/arduino-Thread-ESP8266-Daten-%C3%BCbertragen
    
    // https://www.arduinoforum.de/arduino-Thread-2-ESP8266-miteinander-kommunizieren-lassen?page=2
    
    // LOLIN(WEMOS)D1 mini pro
    
    #include <ESP8266WiFi.h>
    #include <WiFiUdp.h>
    
    const int ledPin_rt =  D5;
    const int ledPin_gn =  D6;
    const int ledPin_bl =  D7;
    
    int ledState_rt = LOW;
    int ledState_gn = LOW;
    int ledState_bl = LOW;
    
    long previousMillis_rt = 0;
    long previousMillis_gn = 0;
    long previousMillis_bl = 0;
    
    //long interval_rt = 500;
    //long interval_gn = 200;
    //long interval_bl = 50;
    
    WiFiServer server(80);
    IPAddress IP(192, 168, 4, 15);
    IPAddress mask = (255, 255, 255, 0);
    
    //adresse slave
    IPAddress remoteIP(192, 168, 4, 114);
    
    // überwachter port
    unsigned int remotePort = 4210;
    
    char befehl[10];
    
    WiFiUDP Udp;
    
    uint32_t aktMillis;
    uint32_t prevMillis;
    
    int8_t request = 0;
    int8_t rt_blink;
    
    boolean ledStatus = false;
    
    char udp_buffer[WIFICLIENT_MAX_PACKET_SIZE + 1];
    
    void setup()
    {
    
      pinMode(ledPin_rt, OUTPUT);
      pinMode(ledPin_gn, OUTPUT);
      pinMode(ledPin_bl, OUTPUT);
    
      Serial.begin(115200);
    
      Serial.println("code ---- /home/georg/Arduino/fahr_rad/entfernung_messen/WEMOS_mit_UDP/WEMOS_AP_mit_UDP_master_1");
    
      //Inizialisiere WIFI
      WiFi.mode(WIFI_AP);
      WiFi.softAP("fahrrad_echo", "12345678");
      WiFi.softAPConfig(IP, IP, mask);
    
      digitalWrite(ledPin_bl, HIGH);
      delay(500);
      digitalWrite(ledPin_bl, LOW);
    
      server.begin();
    
      Serial.println();
      Serial.println("accesspoint_fahrrad_echo");
      Serial.println("Server started.");
      Serial.print("IP: ");     Serial.println(WiFi.softAPIP());
      Serial.print("MAC:");     Serial.println(WiFi.softAPmacAddress());
    }
    
    void loop()
    {
    
      digitalWrite(ledPin_gn, LOW);
      //rt_blinken();
    
      // schalten der LEDs auf dem client
      aktMillis = millis();
    
      if (aktMillis - prevMillis >= 200)
      {
        prevMillis = aktMillis;
        Serial.print("LED schalten auf ");
        if (ledStatus)
        {
          Serial.println("An");
          befehl[0] = 1;
         // digitalWrite(ledPin_rt, LOW);
        }
        else
        {
          Serial.println("Aus");
          befehl[0] = 0;
         // digitalWrite(ledPin_rt, HIGH);
        }
    
        Udp.beginPacket(remoteIP, remotePort);
        Udp.write(befehl, 1);
        Udp.endPacket();
        ledStatus = !ledStatus;
      }
    
      WiFiClient client = server.available();
      if (!client)
      {
        return;
    
      }
    
      //schalten der LEDs auf dem server (echo empfang)
      request = client.read();
      Serial.println("********************************");
      Serial.print("From the station: ");
      Serial.println(request);
      client.flush();
      
    
      if ((request != -1) || (rt_blink == 0))
      
      {
        digitalWrite(ledPin_gn, LOW);
        //digitalWrite(ledPin_rt, LOW);
        delay(200);
    
        digitalWrite(ledPin_gn, HIGH);
        //digitalWrite(ledPin_rt, LOW);
        delay(200);
        //request = 0;
      }
    }
    
    void rt_blinken (void)
    {
    
      unsigned long currentMillis_rt = millis();  // aktueller Wert rot
      if (currentMillis_rt - previousMillis_rt > 200)
      {
        previousMillis_rt = currentMillis_rt;   // aktuellen Wert speichern
        ledState_rt = ((ledState_rt == LOW) ? HIGH : LOW); // toggeln
        digitalWrite(ledPin_rt, ledState_rt);   // LED ansteuern
        //rt_blink = 0;
      }
    }
    gruß inka

Seite 8 von 10 ErsteErste ... 678910 LetzteLetzte

Ähnliche Themen

  1. 433MHz Funkmodule bei Pollin
    Von toemchen im Forum Elektronik
    Antworten: 97
    Letzter Beitrag: 24.05.2009, 21:43
  2. antenne 433MHz Easyradio
    Von nobody1900 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 30.01.2007, 13:46
  3. 433MHz Übertragung
    Von Muecke im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 28.12.2006, 21:01
  4. 433Mhz Verstärker
    Von BastelWastel im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 16.09.2006, 22:35
  5. Problem mit Abstandhalten zur Wand
    Von semicolon im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 12.07.2006, 22:08

Berechtigungen

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

LiTime Speicher und Akkus