Skocz do zawartości

Przekaźnik 12V DC


Pomocna odpowiedź

To nie jest pin Arduino, musisz wysłać komunikat przez UART do drugiego uC, tak by zrozumiał czy ma załączyć, czy wyłączyć.

Tak wygląda przykładowy program:


byte on1[] = {0xA0, 0x01, 0x01, 0xA2};
byte off1[] = {0xA0, 0x01, 0x00, 0xA1};



void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);

for (int i=0;i<10;i++)
{
  Serial.write(on1, sizeof(on1));
  delay(1000);
  Serial.write(off1,sizeof(off1)); //A00100A1 
  delay(1000); 
}
}

void loop() {
  // put your main code here, to run repeatedly:

}

 

Trochę nie rozumiem, możesz jeszcze raz podpowiedzieć gdzie podpinam każdy przewód?

obraz.thumb.png.4ef82436a02fed10bc7c6273031194c6.png

(IN+ IN- ) rozumiem, że to jest zasilanie modułu tak? Podłaczyć tam 5v?

Czy podpinam coś do PINów?

5V
RXD
TXD
GND

 

 

  • Lubię! 1

Wykorzystujesz piny 5V i GND do zasilania, GND musi być połączony z GND UNO, podłączasz TX  z UNO do TXD obok pinu GND. Tu uwaga, bo typowo łączy się TX z RX, ale ten TXD tutaj to pin TX ESP, który wyciągnąłeś, to jest podłączone do RX uC STC, który ma odebrać ten komunikat. RX UNO możesz nie podłączać w sumie, bo tylko wysyłasz do uC STC. Resztę robi już program, w setup ustawia UART na 9600 i wysyła odpowiedni ciąg bajtów, komendę, co 1s by poklikać przekaźnikiem.

TX z UNO powinien być połączony przez konwerter poziomów logicznych z 5V na 3.3V, ESP działa na Vcc 3.3V, nie powinno się podawać sygnałów do uC powyżej Vcc, może być dzielnik rezystorowy. Czasami uC są odporne na podwyższone napięcie, nie wiem jak zareaguje ten uC, zamiana ESP na UNO jest dla mnie zupełnie bez sensu i sam tego nie robiłem, do ESP można wgrać program, stronę WWW, klikać sobie tym zdalnie z dowolnego urządzenia w sieci lokalnej, albo wg napisanego programu. Jedyną trudność stanowiło zgadnąć jaki komunikat oryginalnie wysyłał ESP przez UART do drugiego uC na tej płytce.

Jakbyś umiał wysłać taki komunikat z PC, to wtedy podłączasz RX UNO do TXD, RX UNO jest podłączony na stałe do konwertera USB-UART, czyli to co na płytce UNO jest oznaczone jako RX to jest RX uC Atmega, a TX z USB. Na czas wykorzystywania UNO jako przejściówki UART-USB należy zewrzeć na stałe RST do GND, tak by Atmega coś nie wystawiała na ten pin sprzecznego z komunikatami pozostałych użytkowników linii, generalnie UART jest do komunikacji 1 do 1, ale w UNO jakoś to działa, raz lepiej, raz gorzej, lepszy byłby np. Leonardo czy MICRO, ma osobny UART, a do USB ma USB, MEGA ma UART0 podłączony do USB, a pozostałe trzy są wolne. Do nadawania 9600 można też wykorzystać softSerial na dowolnym pinie.

Pod IN + IN- możesz faktycznie podłączyć zasilanie zewnętrzne, nawet lepiej niż ciągnąć do przekaźnika 5V z UNO, to złącze jest zwarte odpowiednio z 5V i GND, wtedy z UNO prowadzisz tylko GND i TX.

Mam nadzieję, że zmiksowałem Ci już mózg dostatecznie :D.

 

Nie przesadzaj, to nie jest technologia rakietowa, dzielnik to po prostu rezystory w odpowiednich proporcjach i masz z 5V sygnał obniżony do 3.3V, np. :

image.thumb.png.5719ce2a78199d19daecd6ec5540bf9c.png

W drugą stronę to może i trudniej, ale zwykle nawet nie trzeba, bo urządzenie 5V rozpozna zera i jedynki w sygnale 3.3V. Rezystory maja być w tych proporcjach, i też nie apteka, +-10%, raczej nie mniejsze niż 1k bo prąd by uciekał za bardzo do GND, raczej nie powyżej 20k, bo sygnał może być osłabiony. Wpisałem to w Google i takich schematów jest na pęczki, wybrałem pierwszy z brzegu.

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...