Arduino Polska Forum

Pełna wersja: sterownik dla pupila
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3
Dzięki. Jak w końcu podejmę działania to dam znać.
Ostatnie brak czasu mnie zblokował.
Witam,
przeszedłem kurs podstawowy i mam minimalne pojęcie. Klaruje mi się jak to wszystko zaprogramować.
Kiedy chciałem wejść na poziom wyżej i chciałem przetestować czujnik DHT 11 to wyskoczył mi komunikat :

"In file included from C:\Users\archa_000\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.cpp:22:0:
C:\Users\archa_000\Documents\Arduino\libraries\DHT_sensor_library\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory
compilation terminated.
exit status 1
Błąd kompilacji dla płytki Arduino/Genuino Uno."
zainstalowałem 2 biblioteki ze spisu (Szkic- Dołącz bibliotekę- Zarządzaj bibliotekami) i nic
proszę o pomoc co z tym fantem począć.
Wszystko masz w opisie błędu, brakuje pliku Adafruit_Sensor.h, najwyraźniej musisz to zainstalować i nie jest zawarte w pakiecie biblioteki DHT. Adafruit tak ma, np. poszczególne biblioteki do różnych ekranów i wspólna do wszystkich ekranów z czcionkami/grafikami. Lub znajdź inną bibliotekę do DTH11.
Napotkałem zaporę. Przechodząc kurs doszedłem do czujników temp. oraz DHT11.
I tu mam kłopot. Wgrałem odpowiednią (zalecaną w kursie) bibliotekę, podpiąłem tak jak w instrukcji i wczytałem program.
Za 1 razem poszło bez wilgotności a temperatura była fałszywa.
Zmieniłem bibliotekę i podłączyłem wszystko tak by wyświetlało mi dane na wyświetlaczu (schemat i program znalazłem na innej stronie). Po wgraniu wszystko działało poza czujnikiem. Wyświetlało zamiast wartości odczytu "nan".
Wróciłem do kodu i podłączenia z kursu. Tym razem nie wyświetlało już żadnych informacji.

Przy działaniu z czujnikiem analogowym LM35 temperatura była wyświetlana jakoś totalnie z kosmosu. Najpierw na poziomie 500 stopni i spadała do niemal 0. Ogólnie widać było że odczyt faluje od max do min. wartości. Kod był wgrany z kursu więc raczej poprawny.

Proszę o radę w czym może być problem. Czy czujniki są uszkodzone czy Arduino.
Jak by nie patrzeć bez wiarygodnych odczytów temperatury i wilgotności cały mój plan na nic.
Wszystko może być uszkodzone, ale że dopiero zaczynasz to raczej chodzi o umiejętności. Pokaż używany kod programu, jeśli używasz bibliotek to napisz jakich (z autorami/skąd, bo może być wiele wersji) i schemat. Schemat najlepiej sam narysuj, nawet odręcznie na papierze i fotka, tak byśmy nie oglądali czegoś czego nie użyłeś przed sobą.
co do tych 500oC, na początku drukuj pomiary na Serial, każdy w nowej linijce. Z LCD to nawet może chodzić o to jak go używasz - zostają cienie poprzednich wyświetleń, to się nakłada i dziwne rzeczy na ekranie gotowe.
program wgrany z tej strony :
https://forbot.pl/blog/kurs-arduino-ii-c...11-id18417
Mam czujnik w wersji z 3 pinami więc podpinałem zgodnie ze schematem :
http://blog.circuits4you.com/2015/05/dht...ature.html
Dokładnie tę wersję czujnika mam.
Obawiam się że problem leży w czujniku bo nie ma żadnych odczytów.
kiedy wgrałem najprostszy program to wyświetlany odczyt był 0 stopni i 0 wilgotności.
Zanim zaczniesz podłączać przeanalizuj krytycznie schematy z Internetu. Zobacz, że masz dwa różne czujniki w przykładach, jeden goły, drugi z płytką i rezystorem. Akurat mam ten drugi, więc wiem, że na nim już jest wbudowany rezystor 5k. Oczywiście możesz miec 5/10 lub wcale, najpierw więc sprawdź jaki masz u siebie, zmierz rezystancję między pinami VCC i DATA. Jak coś to zmień rezystor na 5k. Jak dodasz drugi to i tak powinno działać, nawet jeśli to będzie 2x 5k równolegle, czyli 2.5k wynikowo. Wydruki pomiarów rób na Serial, a biblioteki poszukaj innej. Zaczynasz od tego że każdy element testujesz na przykładzie z biblioteki, jak nie działa to na początek przegląd płytki, potem zmiana biblioteki. Wiem że z jedną też miałem problem z działaniem. Kod użyty do testów wklej w pełnej edycji posta. Wiele osób przegląda fora na telefonie, dając linki "sobie sprawdźcie" albo co gorsza jako załącznik czy link do pliku sam pozbawiasz się szansy na pomoc.
Dzięki za wskazówki. Czujnik z początku podłączyłem z rezystorem. Później po poczytaniu kilku postów podłączyłem bez rezystora. teraz już wiem że na płytce z czujnikiem jest wbudowany odpowiedni rezystor.
Z początku były odczyty.
Później po kilku próbach nic.
Zgodnie z opisem jeżeli nie ma odczytów to nic się nie pojawi i w tym przypadku tak też było . Czysty ekran.
kod który wgrałem to:
#include "DHT.h"
#define DHT11_PIN 2
DHT dht;

void setup()
{
Serial.begin(9600);
dht.setup(DHT11_PIN);
}

void loop()
{
//Pobranie informacji o wilgotnosci
int wilgotnosc = dht.getHumidity();
//Pobranie informacji o temperaturze
int temperatura = dht.getTemperature();

if (dht.getStatusString() == "OK") {
Serial.print(wilgotnosc);
Serial.print("%RH | ");
Serial.print(temperatura);
Serial.println("*C");
}

//Odczekanie wymaganego czasugo
delay(dht.getMinimumSamplingPeriod());
}

dodałem sugerowaną w kursie bibliotek i przy sprawdzani błędów nie wykrywało nieprawidłowości.
W tym tygodni postaram się zorganizować inny czujnik i sprawdzę jeszcze raz program.
Zobacz tę bibliotekę, u mnie działa (jest też w managerze, to ta od Adafruit), w przykładzie tester wystarczy komentarzem zmienić typ czujnika.
Nie wiem skąd masz swoją, ale te biblioteki zwykle obsługują kilka typów tego czujnika i niepokoi mnie brak wyboru czujnika w szkicu, może być gdzieś wewnątrz biblioteki, trzeba tam się dogrzebać i zmienić definicje.
Ściągnąłem, sprawdziłem, w tej wystarczy zmienić setup: dht.setup(DHT11_PIN,1);, jedynka oznacza typ czujnika DHT11, brak oznaczał 0 i biblioteka może sama nie wykryć. Niestety dla Ciebie, u mnie wykrywa i bez tej jedynki, ale może sprawdź u siebie.
W te czujniki nie warto inwestować, tak realnie mają dokładność zegarkowego czujnika ze stacji pogodowej +/-10RH i >2oC.
Kupiłem nowy czujnik i poszło. Użyłem biblioteki wskazanej w kursie i jakoś działa.
am tylko podejrzenie co do dokładności odczytu.
Wyświetla mi że mam w domu 25 *C i 32 wilgotności
Jak sprawdzić czy czujnik prawidłowo podaje wartości ?
Chciałem sprawdzić poprzez zmianę programu i podpięcie LM35 ale wówczas wyszły same bzdury. Temperatura na poziomie 300 - 150 *C
Stron: 1 2 3