• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Prośba o pomoc.? sterowanie Motopompa
#12
a proszę bardzo

Kod:
// dla nadajnika

#include <VirtualWire.h>

int guzik1 = 2 ;
int guzik2 = 3 ;
int guzik3 = 4 ;

int czas_d1 = 5 ; // czas świecenia diody 1 w sekundach
int czas_d2 = 5 ; // czas świecenia diody 2 w sekundach
int czas_d3 = 5 ; // czas świecenia diody 3 w sekundach

long d1 , d2 , d3 ; // pomocnicze pomiaru czasu

char *msg;

void setup()
{
pinMode(guzik1, INPUT_PULLUP);
pinMode(guzik2, INPUT_PULLUP);
pinMode(guzik3, INPUT_PULLUP);

pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);

vw_set_tx_pin(9);
vw_setup(2000); // Bits per sec
}

void loop()
{
if (digitalRead (guzik1)==LOW){
  msg="ona";d1 = millis()+(czas_d1*1000);
  digitalWrite(6, HIGH);sendtx();}

if (digitalRead (guzik2)==LOW){
  msg="onb";d2 = millis()+(czas_d2*1000);
  digitalWrite(7, HIGH);sendtx();}
  
if (digitalRead (guzik3)==LOW){
  msg="onc";d3 = millis()+(czas_d3*1000);
  digitalWrite(8, HIGH);sendtx();}

if ( millis() > d1 )digitalWrite(6, LOW);
if ( millis() > d2 )digitalWrite(7, LOW);
if ( millis() > d3 )digitalWrite(8, LOW);
}

void sendtx(void){

digitalWrite(13, true);

vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13, false);
delay(200);

msg="off";

}

// dla odbiornika


#include <VirtualWire.h>
int LED1=2;
int LED2=3;
int LED3=4;

boolean LEDON1 = false;
boolean LEDON2 = false;
boolean LEDON3 = false;

char stan;

void setup()
{

Serial.begin(9600);
pinMode (LED1,OUTPUT);
pinMode (LED2,OUTPUT);
pinMode (LED3,OUTPUT);

vw_setup(2000);
vw_set_rx_pin(4);
vw_rx_start();
}

void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;

if (vw_get_message(buf, &buflen))
{
int i;
String stan;
for (i = 0; i < buflen; i++)
{
stan +=char(buf[i]);
}

if ( stan =="ona") {
LEDON1=!LEDON1;
digitalWrite (LED1, LEDON1);
delay(2000);
digitalWrite (LED1,LEDON1);
delay(50);
}

if ( stan =="onb") {
LEDON2=!LEDON2;
digitalWrite (LED2, LEDON2);
delay(2000);
digitalWrite (LED2,LEDON2);
delay(50);
}

if ( stan =="onc") {
LEDON3=!LEDON3;
digitalWrite (LED3, LEDON3);
delay(2000);
digitalWrite (LED3,LEDON3);
delay(50);
}
} }
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Prośba o pomoc.? sterowanie Motopompa - przez JasQ - 10-12-2015, 00:13

Skocz do:


Przeglądający: 1 gości