Skocz do zawartości

Sterowanie bezprzewodowe serwomechanizmem za pomocą tact switchy i nrf24l01.


Pomocna odpowiedź

Przyciski podłączone do 5V.

Zdjęcie z serial monitora w załączniku

Kod:

//Transmiter
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";


void setup() {
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
pinMode(2 , INPUT);
pinMode(3 , INPUT);
}
 void loop(){
  char text1[] = "up";
  char text2[] = "down";
  int button_1 = digitalRead(2);
  int button_2 = digitalRead(3);
  if (button_1 == 1){
    radio.write(&text1, sizeof(text1));
    
  }
  if (button_2 == 1){
    radio.write(&text2, sizeof(text2));
   
  }
  }
//Reciver
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>




RF24 radio(7, 8); // CE, CSN
const byte address[6] = "00001";
void setup() {
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(0, address);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();

}
void loop()
{  
  if (radio.available())
  {
    char text[32] = {0};
    radio.read(&text, sizeof(text));
    Serial.println(text);
   
 }
}

 

3333.png

Link to post
Share on other sites

Podłącz przyciski do GND. Zmień deklarację na: pinMode(2 , INPUT_PULLUP);

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Cały czas. Mam płytkę przygotowaną i mam tam na stałe przylutowane przyciski do 5V. Czyli muszę zmienić INPUT_PULLUP na INPUT i 

if(button_2 == 0) na if (button_2 == 1) 

Link to post
Share on other sites

To komplikuje sprawę, bo jeśli masz przyciski podłączone do 5V to po wciśnięciu przycisku masz na nim stan wysoki, ale jak nie wciśniesz to możesz mieć wysoki lub niski - loteria.

Link to post
Share on other sites
(edytowany)
14 minut temu, Lolheadshootpl napisał:

Czyli nie ma możliwości podpięcia przycisków pod 5V ? Serio?

Da się, ale musisz mieć wtedy zewnętrzne rezystory ściągające do masy. AVR-y niestety nie mają wbudowanych PULLDOWN, tylko PULLUP.

Edytowano przez deshipu
Link to post
Share on other sites

A te guziki napewno przewodza??? Nie pamietam dobrze ale chyba masz zle...chodzi o to ze tam sa jakby dwa odseparowane linie...a ty masz na "krzyz" teraz

Link to post
Share on other sites
(edytowany)

To sprawdz miernikiem czy dobrze podpiales...juz tu byl taki przypadek ze ktos uzywal takiego samego guzika zle

Albo jeszcze tak...napisz prosciutki program ktory bedzie zapalal diode jak guzik wcisniety i sprawdz czy napewno guziki chodza

Edytowano przez farmaceuta
Link to post
Share on other sites
#define guzik 5
#define guzik1 6
  
  if (guzik == HIGH) {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(200);
  } else {
  digitalWrite(LED_BUILTIN, LOW);
  }

  if (guzik1 == HIGH) {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(200);
  } else {
  digitalWrite(LED_BUILTIN, LOW);
  }

wgraj i zobacz czy swieci dioda jak wciskasz guziki

Link to post
Share on other sites
15 minut temu, Lolheadshootpl napisał:

czy mogę użyć pinów D13, D12,D11 do wejść przycisków, kiedy mam podpięte NRF24l01 do złącz ICSP?

To są te same piny, więc... możesz, ale nie powinieneś.

Da się zakombinować z przełączaniem CS i opornikami żeby tych pinów użyć do dwóch rzeczy na raz, ale jak masz inne wolne, to łatwiej użyć innych.

Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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