Нужна помощь Беспроводная сигнализация на базе Arduino
- Войдите на сайт для отправки комментариев
Сб, 23/09/2017 - 19:26
нужна помощь делаю проект племяшке
Беспроводная сигнализация на базе Arduino
не могу загрузить скетч
// Include VirtualWire library
#include <VirtualWire.h>
int led_pin = 13;
int transmit_pin = 12;
int pir_pin = 2;
int val = 0;
int pir_state = LOW;
void setup()
{
Serial.begin(9600);
vw_set_tx_pin(transmit_pin);
vw_setup(4000); // Transmission rate
pinMode(led_pin, OUTPUT);
pinMode(pir_pin,INPUT);
}
void loop()
{
char msg[1] = {'0'};
// Get sensor value
val = digitalRead(pir_pin);
// Change message if motion is detected
if (val == 1)
{
msg[0] = '1';
digitalWrite(led_pin, HIGH); // Flash a light to show transmitting
vw_send((uint8_t *)msg, 1);
vw_wait_tx(); // Wait until the whole message is gone
if (pir_state == LOW)
{
Serial.println("Motion detected!");
pir_state = HIGH;
}
}
else
{
msg[0] = '0';
digitalWrite(led_pin, LOW);
vw_send((uint8_t *)msg, 1);
vw_wait_tx(); // Wait until the whole message is gone
if (pir_state == HIGH)
{
Serial.println("Motion ended!");
pir_state = LOW;
}
}
}
и
// Include VirtualWire library
#include <VirtualWire.h>
// Pins definition
const int led_pin = 13;
const int receive_pin = 12;
int pinSpeaker = 10;
void setup()
{
Serial.begin(9600); // Debugging only
// Initialise the IO and ISR
vw_set_rx_pin(receive_pin);
vw_setup(4000); // Transmission rate
// Start the receiver PLL
vw_rx_start();
// Set LED pin and Buzzer
pinMode(led_pin, OUTPUT);
pinMode(pinSpeaker, OUTPUT);
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
// Check if a message was received
if (vw_get_message(buf, &buflen))
{
if(buf[0]=='1')
{
Serial.println("Motion detected!");
digitalWrite(led_pin,1);
playTone(300, 160);
delay(150);
}
if(buf[0]=='0')
{
Serial.println("Motion ended!");
digitalWrite(led_pin,0);
playTone(0, 0);
delay(300);
}
}
}
// duration in mSecs, frequency in hertz
void playTone(long duration, int freq)
{
duration *= 1000;
int period = (1.0 / freq) * 1000000;
long elapsed_time = 0;
while (elapsed_time < duration)
{
digitalWrite(pinSpeaker,HIGH);
delayMicroseconds(period / 2);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(period / 2);
elapsed_time += (period);
}
}
Так, а в чём проблема-то?
при загрузке выдает ошибку компиляции
при загрузке выдает ошибку компиляции
секретную?
А у ошибки текст есть? На него посмотреть можно? Или Вы думаете, что все сейчас кинутся копировать, запускать и т.д.? Это Ваша проблема, так потрудитесь хоть вопрос нормально задать.
я просто не часто на форум обращаюсь но сейчас попробую
Ну, и что Вам тут не понятно? Система не может найти файл VirtualWire.h. Либо его нет, либо он расположен не в той папке, где его ищут.
sega555 - и вообще, разберитесь с путями к файлам. Почему у вас скетч имеет двойное расширение и лежит в дважды вложенной директории?
спасибо огромное добавил файл VirtualWire.h в папку сразу все загрузилось