Skocz do zawartości

ESP32 WROOM CH340 i HMMD mmWave


PaPaweu

Pomocna odpowiedź

Cześć,

dopiero zaczynam zabawę z Arduino i chciałem zbudować sobie mały projekt na początek, ot silnik uruchamiany po detekcji ruchu, szerszy kontekst nieistotny. Na początek zakupiłem ESP32 WROOM CH340 i HMMD mmWave, dokładnie to: dokumentacja sensora
Podpiąłem wg zaleceń (mam taki pinout ) 
RX czujnika => GPIO16
TX czujnika => GPIO17
3v3 czujnika => 3v3
GND => GND
Żeby sprawdzić czy w ogóle działa, ściągnąłem przykładowy kod, ze strony sensora ( kod ) i niestety, ale nie działa 

#include <SoftwareSerial.h>

SoftwareSerial mySerial(16, 17); // RX, TX

void setup() {
  // Start the serial communication with a baud rate of 115200
  Serial.begin(115200);
  mySerial.begin(115200);

  // Wait for the serial port to initialize
  while (!Serial) {
    Serial.println("Błąd detekcji");
    delay(100);
  }

  // Hex string to send
  String hex_to_send = "FDFCFBFA0800120000006400000004030201";
  sendHexData(hex_to_send);
}

void loop() {
  // Read and print serial data
  readSerialData();
  delay(100);
}

void sendHexData(String hexString) {
  // Convert hex string to bytes
  int hexStringLength = hexString.length();
  byte hexBytes[hexStringLength / 2];
  for (int i = 0; i < hexStringLength; i += 2) {
    hexBytes[i / 2] = strtoul(hexString.substring(i, i + 2).c_str(), NULL, 16);
  }

  // Send bytes through software serial
  mySerial.write(hexBytes, sizeof(hexBytes));
}

void readSerialData() {
  Serial.println(mySerial.available());
  while (mySerial.available() > 0) {
    char incomingByte = mySerial.read();
    Serial.print(incomingByte);
  }
}

mySerial.available() zwraca zawsze 0. 

No dobra, to na sensorze jest dodatkowy pin, OT2, który powinien dać HIGH po detekcji ruchu.
Podłączam i zgłupiałem.
digitalRead() na tymi pinie cały czas pokazuje 0, a mierzony pin OT2, voltomierzem pokazuje ~3.3V non stop.

Żeby nie było, piny na ESP32 raczej są sprawne, bo podłączałem pod te same piny diody, które działały poprawnie jak i czujniki krańcowe, które też, pod tymi samymi pinami, działały poprawnie.

Na pewno robię coś źle, ale na tym etapie już sam nie wiem co.
Ktoś podpowie co i jak ?

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

W transmisji szeregowej nadajnik (TX) pierwszego urządzenia łączymy z odbiornikiem (RX) drugiego (to, co jeden nadaje, to drugi odbiera); tak samo w drugą stronę. Musisz więc po jednej stronie zamienić miejscami przewody.

Edytowano przez jand
  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.