• 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
Bezprzewodowy pomiar temperatury
#1
Szukałem,szukałem ale jakoś nie udało się tego znalezć . Chodzi o bezprzewodowy pomiar temperatury ,ciśnienia , wilgotności itp . Lecz chodzi mi przede wszystkim o to aby nadajnik chodził bez pośredniczenia arduino . Wyświetlanie pomiarów na LCD . Wiem że są opisy prostych czujników na ESP8266 , lecz odbiór wtedy przez internet . A mi chodziłoby o coś takiego :
np. czujnik ds18b20 podpięty np do ESP8266 lub NRF24L01 i to wszystko
A odbiornik może tu już być arduino + ESP8266 lub NRF24L01 + wyświetlacz LCD
Czy można takie coś zrealizować ?
 
Odpowiedź
#2
Jaką chcesz mieć odległość między Arduino a czujnikiem? Możesz pomyśleć o Arduino podpięte do czujnika, a komunikację bezprzewodową przez FS100A z drugim Arduino.
 
Odpowiedź
#3
wszystko znajdziesz tutaj http://forum.arduinopolska.com/watek-kom...o-nrf24l01

jak użyjesz nrf24l01 +PA to masz przy dobrych wiatrach i antenach 2 km zasięgu .
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#4
Kochany moderatorku znam oczywiście ten temac co podlinkowałeś . Już kilkakrotnie go przeglądałem lecz przekonany byłem że do niego każdy z modułów musi być podpięty do osobnego arduino . Jeżeli tak nie jest to dobrze ale niech ktoś zapoda jakiegoś linka jak to połączyć bo ja tego nie znalazłem .
 
Odpowiedź
#5
tak każdy moduł musi mieć swoje arduino ale zaraz zerknę czy na digisparku nie poleci (attiny85)

edyta:

Jest wersja pod attiny85 ale troszkę ciężka a nie bardzo mam czas optymalizować pod ten scalak bo nie wlezie obsługa barometru  . Myślę że jak użyjesz 2x promini za 8 zł sztuka to portfela nie zrujnujesz .

edyta 2:

[Obrazek: Arduino%2Band%2BNRF%2Bconnection.png]
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#6
(05-12-2016, 22:09)JasQ napisał(a): tak każdy moduł musi mieć swoje arduino ale zaraz zerknę czy na digisparku nie poleci (attiny85)

edyta:

Jest wersja pod attiny85 ale troszkę ciężka a nie bardzo mam czas optymalizować pod ten scalak bo nie wlezie obsługa barometru  . Myślę że jak użyjesz 2x promini za 8 zł sztuka to portfela nie zrujnujesz .

edyta 2:

[Obrazek: Arduino%2Band%2BNRF%2Bconnection.png]
 
Odpowiedź
#7
Tak nie zbiednieję na pewno tym bardziej że cztery sztuki promini leżą u mnie w domu .Ale bardzo mi zależało aby to zminimalizować (przynajmniej nadajnik) , żeby był tam tylko czujnik i nadajnik . Ale widzę że się nie da . Na ESP8266 idzie takie coś zrobić (trzeba go tylko zaprogramować ) ale odczyt tylko przez internet . A ja chcę na lcd . Rozumiem że nie ma takiej możliwości aby nadajnikiem był ESP8266 np z podłączonym ds18b20 a odbiornikiem powiedzmy UNO z ESP8266 . Nie ma takiej możliwości ? Niemniej bardzo dziękuję za pomoc i schemat bo przyznam że raczej tego schematu z mini nie widziałem . Jak nie ma innej możliwości to będę próbować z tym co zapodałeś .
 
Odpowiedź
#8
Jakiś rok temu zamawiałem w serwisie NRF24L01 . Niestety nie przeczytałem dobrze aukcji i wczoraj gdy go wyciągnąłem okazało się że jest to Similar NRF24L01 + 2.4G . Walczę już z nim od wczoraj i nie chce mi współpracować radiowo z drugim modułem . Nie wiem może potrzebuje innej biblioteki , czy modyfikacji skecza . Może ktoś ma taki Similar NRF24L01 + 2.4G jak na zdjęciu poniżej i go uruchomił .

[Obrazek: Similar%20NRF24L01%20%2b%202.4G.jpg]

Używam takich skeczy:

Odbiornik

Kod:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <DHT11.h>
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
// Addr, En, Rw, Rs, d4, d5, d6, d7, backlighpin, polarity

float temperature[2];

RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void) {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
lcd.begin(16, 2);
lcd.backlight();
lcd.clear();
lcd.print("Humidity & temp");
delay(1000);
lcd.clear();
lcd.print("Starting.....");
delay(1000);
}

void loop(void)
{
if ( radio.available() )
{
bool done = false;
while (!done)
{
done = radio.read(temperature, sizeof(temperature));
lcd.clear();
delay(500);
lcd.setCursor(0, 0);
lcd.print("Temp");
lcd.setCursor(0, 1);
lcd.print("Humidity");
lcd.setCursor(9, 0);
lcd.print(temperature[0]);
lcd.print(" C");
lcd.setCursor(9, 1);
lcd.print(temperature[1]);
lcd.print(" %");
delay(1000);
}
}
else
{
lcd.setCursor(0, 0);
lcd.print("No radio available");
}
}


Nadajnik


Kod:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <DHT11.h>

int pin = A0;
DHT11 dht11(pin);
float temperature[2];

double Fahrenheit(double celsius) {
return ((double)(9 / 5) * celsius) + 32;
}

double Kelvin(double celsius) {
return celsius + 273.15;
}

RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void) {
radio.begin();
radio.openWritingPipe(pipe);
}

void loop(void)
{
float temp, humi;
dht11.read(humi, temp);
temperature[0] = temp;
temperature[1] = humi;
radio.write(temperature, sizeof(temperature));
delay(1000);
}

[Obrazek: nadajnik.png]

[Obrazek: odbiornik.png]
 
Odpowiedź
  


Skocz do:


Przeglądający: 2 gości