Ahoj,
netušíte někdo kde dělám chybu? Strýček Google a tetka Wikipedie mi zoufale nenabídly nic, krom odesílání ASCII pomocí char, ale to je jaksi pro rozsah 0-600 (rozsah vzdálenosti sonaru US 020) k ničemu.
Jednoduchá věc oč jde. Studna, pohyblivá hladina, 433mhz transceiver a reciever + 2x arduino uno.
Přípdaně, že dělám v jednoduchosti chybu a data jsou moc velká, dalo by se stejně jako při použití Serial.print(ln) využít odeslání pouze 3 čísel? Místo abych posílal celé třeba 253, tak bych poslal 2 (par vteřin klid) 5 (pár vteřin klid) 3 s příkazem jako u Serial.println… Jen teda netuším jak takové číslo z toho sonaru rozdělit..
Pište prosím cokoliv, tápu v tomhle už asi 2 měsíce, tak i když to bude hanlivé, rád se přiučím.
#include <VirtualWire.h>
#include <NewPing.h>
#define TRIGGER_PIN 10
#define ECHO_PIN 9
#define MAX_DISTANCE 450
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup()
{vw_setup(2000);}
void loop(){
delay(150);
unsigned int y = sonar.ping();
int x = (y / US_ROUNDTRIP_CM);
send(x);
delay(2000);}
void send (char *zprava){
vw_send((uint16_t *)zprava, strlen(zprava));
vw_wait_tx();}