Arduino rörelsedetektor + göra det trådlösa + ring telefon när rörelse upptäcks (6 / 10 steg)
Steg 6: Del 2: kodning
SÄNDAREN KOD
------------------------------------------------------------------------
#include < VirtualWire.h >
CONST int led_pin = 13.
CONST int transmit_pin = 9;
CONST int sensor_pin = 7.
int sensor_value;
void setup() {
vw_set_tx_pin(transmit_pin);
vw_setup(2000);
pinMode (led_pin, produktionen);
pinMode(sensor_pin,INPUT);
}
void loop() {
sensor_value = digitalRead(sensor_pin);
char msg [3] = {"o", "f", "f"};
om (sensor_value == 1) {
MSG [0] = ' o ';
MSG [1] = 'n';
MSG [2] = "#";
}
digitalWrite (led_pin, hög);
vw_send ((uint8_t *) msg, 3);
vw_wait_tx();
digitalWrite (led_pin, låg);
Delay(1000);
}
-----------------------------------------------------------------------------
MOTTAGARE KOD
----------------------------------------------------------------------------
#include < VirtualWire.h >
CONST int motion_pin = 10;
CONST int led_pin = 13.
CONST int transmit_pin = 9;
CONST int receive_pin = 6;
void setup() {
Delay(1000);
Serial.BEGIN(9600);
Serial.println("Setup");
vw_set_rx_pin(receive_pin);
vw_setup(2000);
vw_rx_start();
pinMode (led_pin, produktionen);
pinMode (motion_pin, produktionen);
}
void loop() {
uint8_t buf [VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
om (vw_get_message (buf, och buflen)) {
digitalWrite (led_pin, hög);
Serial.Print ("fick:");
för (int jag = 0; jag < buflen; i ++) {
Serial.Print(Char(BUF[i]));
Serial.Print(' ');
}
IF(Char(BUF[2])=='#') {
digitalWrite (motion_pin, hög);
Delay(1000);
digitalWrite (motion_pin, låg);
}
Serial.println();
digitalWrite (led_pin, låg);
}
}
-------------------------------------------------------------