Skocz do zawartości

Przesyłanie danych na strone WWW


Pomocna odpowiedź

@hazi18 olej na razie Blynka, spróbuj zrobić tak, by wynik pomiaru wyświetlał ci w monitorze portu szeregowego. Potem pomyślimy nad Blynkiem. 

Bo na razie pod inny pin masz podpięty DHT, z innego odczytujesz i zapisujesz do zmiennej... to nie zadziała. 

Jak chcesz gotowca to napisz w dziale ogłoszenia. 

Kurs Arduino na Forbocie to naprawdę przydatna rzecz w nauce podstaw programowania. 

  • Lubię! 1

Hej,

Czeski błąd przy zmianie nr pinu 🙂

Więc podsumowując co mi radziłeś:

na pinie A0 nie czyta danych a na D1 czyta. Więc muszę ustawić wszystko w programie na D1.

Nie chcę gotowca całego programu bardziej zależy mi tylko na kawałeczku który pozwoli mi na odczyt danych z czujnika i wyświetlenie w Blynku. Jeśli tutaj będę miał to co chcę to sądzę, że każdy następny projekt nie sprawi mi tylu kłopotów 🙂

Pokaż teraz kod, proszę. 

16 minut temu, hazi18 napisał:

Czeski błąd przy zmianie nr pinu 🙂

Chyba jednak nie czeski błąd przy zmianie, bo masz analogRead... więc było raczej ctrl+c, ctrl+v... 

Hej,

no zmieniałem to dlatego z digital na analog i na A0 a u góry zapomniałem zmienić na A0.

OK ogarnąłem troszkę kod i zmieniłem wyświetlanie danych dla Virtualnych pinów. Przecież ja ściągałem dane z całego czujnika DTH a w pierwotnym kodzie mam podział na temperaturę i wilgotność... pomyślałem chwilę i do wyświetlania danych dałem zmienna którą używałem. oto kod:

#include "DHT.h"
//#include <TM1637Display.h>
#define DHTPIN D1     // what pin we're connected to
#define DHTTYPE DHT22   // DHT 22  (AM2302)
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
// You should get Auth Token in the Blynk App.
char auth[] = "_hyKFQylC32c9eUlduUNgp_oM1c9RydD";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "TP-LINK";
char pass[] = "";

DHT dht(DHTPIN, DHTTYPE);

float sensorData;


void setup(void)
{
  // Debug console
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  

  dht.begin();
}

void loop(void)

{ 
  Blynk.run();

  float h = dht.readHumidity();
  float t = dht.readTemperature();
  int i=0;
if (dht.readTemperature()>=36.5)  // wywołanie funkcji warunkowej
{
    // digitalWrite(przekaznik,HIGH);  // włączenie przekaźnika   
    Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");

}

  else  // wywołanie funkcji warunkowej
  {
//   digitalWrite(przekaznik,LOW);  // wyłączenie przekaźnika
   Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");  
  }

}
  BLYNK_READ(V1) //Blynk app has something on V1
{
  sensorData = dht.readTemperature(); //reading the sensor on D1
  Blynk.virtualWrite(V1, sensorData); //sending to Blynk
}
  BLYNK_READ(V2) //Blynk app has something on V1
{
  sensorData = dht.readHumidity(); //reading the sensor on D1
  Blynk.virtualWrite(V2, sensorData); //sending to Blynk
}

 

Pomijając zmienną "i", którą nie wiadomo po co deklarujesz, "if"-a i "else" - a które wyświetlają te same dane, na dodatek nieaktualne, to powiedz mi co jest zapisane w zmiennej której wartość wysyłasz do BLYNKa? 

Kurs Arduino Forbota, to zaledwie kilkanaście godzin pracy, góra kilkadziesiąt, licząc czas jaki upłynął od założenia tego wątku, dawno byś go przerobił i wykonał zadanie z tego tematu z palcem w.... 

zmienna i to pozostałość po starym kodzie, wywalona. If else to chyba widać po kodzie po co są potrzebne, tylko jeszcze odkomentowałem w kodzie linijki z przekaźnikiem aby to działało. W zmiennych jest temperatura i wilgotność, co działa na szeregowym i w Blynku.

3 minuty temu, hazi18 napisał:

If else to chyba widać po kodzie po co są potrzebne

Po to żeby oprócz jednej czynności (włączenie/wyłączenie przekaźnika) w obu gałęziach robić to samo?

Powielanie kodu to straaaasznie fujasta sprawa...

(edytowany)

Chcę aby mimo wyłączonego przekaźnika pokazywał mi dane na wyświetlaczu. To jak można inaczej to zrobić?

 

Co może być powodem, że dane w Blynk aktualizują mi się co 12 sek na okres 2-3 sek?

Edytowano przez hazi18
pytanie

Porównaj sobie dwa kody:

if (cośtam) {
  wykonaj_czynność_a();
  wykonaj_czynność_b();
}
else {
  wykonaj_czynność_c();
  wykonaj_czynność_b();
}
  

I taki:

if (cośtam) {
  wykonaj_czynność_a();
}
else {
  wykonaj_czynność_c();
}
wykonaj_czynność_b();

Teraz wyciągnij wnioski i popraw swój kod.

 

a wiesz o tym, że dane w szeregowym i w Blynku to dane z zupełnie różnych odczytów? 

Wracając do if i else, powiedz mi kiedy to co wyświetla się po spełnieniu warunku if, będzie różnić się od tego co wyświetla się po spełnieniu warunku else? 

Różnić się nie będzie niczym tylko nie chciałem aby przy wyłączonym przekaźniku było brak danych. To akurat tyczy się szeregowego więc usunąłem.

Pytanie czemu dane z Blynka aktualizują się co 12 sek na 2-3 sekundy? mam sekundnik w blynku to widzę jaki jest czas

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...