Wstęp:
W celu prawidłowego działania sensora i kodu musimy pobrać i zainstalować bibliotekę obsługującą sensor DHT11 (biblioteka DHT11).
Poniżej przedstawiony kod jest identyczny z przykładem znajdującym się w tej bibliotece poza jedną zmianą, zmieniłem int pin = 4; na int pin = A1 aby pinem odczytującym wartości układu był analogowy pin A1.
Zasada działania:
1. Miernik wilgoci i temperatury DHT11 wysyła sygnał pomiary tych dwóch wielkości.
2. Monitor seryjny pokazuje wartości pomiaru wilgoci i temperatury.
Kod programu dla sensora DHT11:
#include <DHT11.h>
int pin=A1;
DHT11 dht11(pin);
void setup()
{
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
}
void loop()
{
int err;
float temp, humi;
if((err=dht11.read(humi, temp))==0)
{
Serial.print("temperature:");
Serial.print(temp);
Serial.print(" humidity:");
Serial.print(humi);
Serial.println();
}
else
{
Serial.println();
Serial.print("Error No :");
Serial.print(err);
Serial.println();
}
delay(DHT11_RETRY_DELAY); //delay for reread
}
sobota, 29 marca 2014
wtorek, 4 marca 2014
Arduino nadajnik-odbiornik 433MHz RF
Wstęp:
Tytułem wstępu. Schemat łączenia zaczerpnąłem od Pana Elektro Maras z Youtuba a stronę stworzyłem aby nie zapomnieć jak to podłączyć i mieć to zawsze pod ręką. Polecam zajrzeć też na Youtuba.
http://www.youtube.com/watch?v=3rRlp79qHIs
Na uwagę zasługuje także projekt ze skrzynką pocztową wykorzystujący połaczenie RF
http://majsterkowo.pl/prosty-system-powiadamiania-o-nowych-listach-znajdujacych-sie-w-skrzynce-pocztowej/
Zasada działania:
1. Nadajnik wysyła sygnał z arduino sygnalizując wysyłanie miganiem diody L (sprzężonej z pinem 13).
2. Odbiornik z drugiego arduino odbiera sygnał potwierdzając odbiór miganiem diody L, oraz wyświetla pobierany sygnał na monitorze połączenia.
3. W celu prawidłowego działania systemu należy pobrać ze strony arduino bibliotekę VirtualWire.
Kod programu dla nadajnika:
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_set_ptt_inverted(true);
vw_setup(2000);
}
void loop()
{
const char *msg = "hello";
digitalWrite(13, true);
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
digitalWrite(13, false);
delay(200);
}
Kod programu dla odbiornika:
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_set_ptt_inverted(true);
vw_setup(2000);
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;
digitalWrite(13, true);
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(" ");
}
Serial.println("");
digitalWrite(13, false);
}
}
Tytułem wstępu. Schemat łączenia zaczerpnąłem od Pana Elektro Maras z Youtuba a stronę stworzyłem aby nie zapomnieć jak to podłączyć i mieć to zawsze pod ręką. Polecam zajrzeć też na Youtuba.
http://www.youtube.com/watch?v=3rRlp79qHIs
Na uwagę zasługuje także projekt ze skrzynką pocztową wykorzystujący połaczenie RF
http://majsterkowo.pl/prosty-system-powiadamiania-o-nowych-listach-znajdujacych-sie-w-skrzynce-pocztowej/
Zasada działania:
1. Nadajnik wysyła sygnał z arduino sygnalizując wysyłanie miganiem diody L (sprzężonej z pinem 13).
2. Odbiornik z drugiego arduino odbiera sygnał potwierdzając odbiór miganiem diody L, oraz wyświetla pobierany sygnał na monitorze połączenia.
3. W celu prawidłowego działania systemu należy pobrać ze strony arduino bibliotekę VirtualWire.
Kod programu dla nadajnika:
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_set_ptt_inverted(true);
vw_setup(2000);
}
void loop()
{
const char *msg = "hello";
digitalWrite(13, true);
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx();
digitalWrite(13, false);
delay(200);
}
Kod programu dla odbiornika:
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_set_ptt_inverted(true);
vw_setup(2000);
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;
digitalWrite(13, true);
Serial.print("Got: ");
for (i = 0; i < buflen; i++)
{
Serial.print(buf[i], HEX);
Serial.print(" ");
}
Serial.println("");
digitalWrite(13, false);
}
}
Subskrybuj:
Posty (Atom)