Fórum témák

» Több friss téma
Lapozás: OK   99 / 137
(#) Firefighter1 hozzászólása Jún 13, 2020 /
 
Sziasztok!
ma volt időm megint a DHT problémával foglalkozni! Visszatettem a DHT22-es szenzort, és tettem még egy 10kOhmos ellenállást a táp és jelvonal közé!
Most lassan 3 órája fut, 10 perces DeepSleep szakaszokkal, de eddig se tévesztés se hibás számítás
(#) pipi válasza Firefighter1 hozzászólására (») Jún 13, 2020 /
 
Hali!
Miért, eddig nem volt felhúzó?
Bővebben: Link
(#) Firefighter1 válasza pipi hozzászólására (») Jún 13, 2020 /
 
Szia pipi!

De volt.. ezeket a gyári modulokat használtam.. és kb 10 százalékuk mőködik is! de mostmár kap mindegyik egy 10K-sat plusszba.
(#) pipi válasza Firefighter1 hozzászólására (») Jún 13, 2020 /
 
A katalógus 1K-t ír.
Ezt is olvastad? When power is supplied to sensor, don't send any instruction to the sensor within one second to pass unstable status.
One capacitor valued 100nF can be added between VDD and GND for wave filtering.
(#) Lamprologus válasza Firefighter1 hozzászólására (») Jún 14, 2020 /
 
Múltori kérdésemre azt írtad 4,7k felhúzóval próbáltad... Akkor most a mellé tettél be még egy 10k-t?
(#) Firefighter1 válasza Lamprologus hozzászólására (») Jún 14, 2020 /
 
Nem.. a 4,7k-sat kivettem és egy 10k-t kapott csak. most raktam össze a 4. szenzort próbapanelon, és az is fut
(#) pont hozzászólása Jún 21, 2020 /
 
Sziasztok! Olyanra programra lenne szükségem NodeMCU -ra, (Arduinon keresztül tudom rá tölteni) hogy egy gps modul RX-TX -ét Cliensként küldje egy távoli szerver ip-re. Tudtok ajánlani ilyesmit, mert amiket találok a neten (írni programot nem tudok) azok egyik sem ezt csinálja... Köszönöm!
(#) atus1981 válasza nedudgi hozzászólására (») Jún 27, 2020 /
 
DS18B20-nál is?
(#) nedudgi válasza atus1981 hozzászólására (») Jún 27, 2020 /
 
Igen. Parazita tápos perifériák hülyét kaphatnak, ha mérés közben rángatja valami a tápot.
A hozzászólás módosítva: Jún 27, 2020
(#) Firefighter1 hozzászólása Júl 4, 2020 /
 
Sziasztok!
Lehet hogy hülyeséget fogok kérdezni de lehet az esp nél adott frekvenciával makrót behívni... mint mondjuk a PIC nél?

Vagy van rá valami más megoldás?
A feladat egy pwm kitöltési tényezőt kellene számolni.
(#) icserny válasza Firefighter1 hozzászólására (») Júl 5, 2020 / 1
 
MicroPythonban szoftveres Timer-ek definiálával lehet periodikus függvényhívást generálni:
  1. from machine import Pin, PWM, Timer
  2. def motor_driver(tim) :
  3.     #Ide írod, amit csinálni akarsz
  4.  
  5. tim = Timer(-1)                   # Soft Timer  
  6. tim.init(period=20, mode=Timer.PERIODIC, callback=motor_driver)


Egynél több Timer is definiálható, s az egyszerűbb faladatokhoz nem muszáj új függvényt definiálni, lambdafüggvény is megadható. Például:
  1. from machine import Timer
  2.  
  3. timA = Timer(-1)
  4. timB = Timer(-1)
  5. timA.init(period=5000, mode=Timer.PERIODIC, callback=lambda t:print(1))
  6. timB.init(period=2000, mode=Timer.PERIODIC, callback=lambda t:print(2))
A hozzászólás módosítva: Júl 5, 2020
(#) Firefighter1 válasza icserny hozzászólására (») Júl 5, 2020 /
 


Azt hiszem kerülni fog egy PIC is a rendszerbe.....
Én ehhez nagyon kevés vagyok!
Mert nem hiszem hogy találnék olyan példaprogit amit copy-past elven be tudok illeszteni!?!?
A hozzászólás módosítva: Júl 5, 2020
(#) usane válasza Firefighter1 hozzászólására (») Júl 6, 2020 /
 
Esetleg a fel és lefutó élekre megszakítást hívni amiben lekéred az aktulis futási időt (millis). Bár nem mondtad, hogy a sajátját vagy külső PWM-et, de a sajátját is rákötheted egy INT lábra.
(#) Firefighter1 hozzászólása Júl 6, 2020 /
 
Külső pwm...
Egy modellen kellene figyelni az egyik csatorna kitöltöttségét!
20 ms a ciklushossz és ebbe a 20 miliszekundumba kap 1 és 2 ms hosszúságú jelet.
Az 1 ms a teljesen balra téritett kar az 1.5 ms a közép állás a 2 ms pedig a teljesen jobbra térített.
Abba bizom hogy legalább 0.1 ms pontosságot tudok elérni .
Nekem az adottbcsatornán egy "poti" van... így tulajdon képpen a potiból tudnék egy 5 állásos kapcsolót csinálni. De a program bonyolultsága és az én nagyon kevés ilyen irányú tudásom miatt valószinűleg áttérek a Flowcode-ra és egy PIC re!
(#) usane válasza Firefighter1 hozzászólására (») Júl 10, 2020 /
 
Ha ilyen kicsi a kitöltési idő akkor van egy kisebb változatta is ami microsecundumokban számol, micros(). Próbáld ki mit tudsz vele elérni.
(#) merlingerin hozzászólása Júl 19, 2020 /
 
Sziasztok!

Tudtok olyan gyári, kínai, akármilyen modulról, ami tasmotálható, és van rajta fázishasításos BEMENET!

a lényeg: a házban minden szobában IR távirányítható/dimmelhető kapcsolók vannak, és ezek a sorolóba bele vannak illesztve. Olyan modult keresek, aminél adott a lehetőség az eredeti funkció megtartására. Ott a shelly 1, Bővebben: Link de ennek csak kapcsoló bemenete van. Az volna a cél, hogy az eredeti, IR funkciós fényerő szabályzás megmaradjon, a wifi mellett.. Vagyis attól, hogy lehet wifin kapcsolni, szabályozni, megmaradjon a "hagyományos" kézzel tapogatva, és az IR is...

Van ilyen?
(#) nedudgi válasza merlingerin hozzászólására (») Júl 19, 2020 /
 
"tasmotálható" Ezt elmagyaráznád, mit is jelent?
(#) merlingerin válasza nedudgi hozzászólására (») Júl 20, 2020 /
 
(#) nedudgi válasza merlingerin hozzászólására (») Júl 20, 2020 1 /
 
Nem nézek reklámokat. Írd le magyarul.
(#) merlingerin válasza nedudgi hozzászólására (») Júl 20, 2020 /
 
Ha érdekel megnézed.
(#) usane válasza merlingerin hozzászólására (») Júl 20, 2020 / 1
 
Valószínűleg nem fogsz találni olyat ami a te X-edik típusoddal működik, ezek általában márka szerint párosíthatóak, ráadásul olyat amiben ESP8266 van. Ha a sonoffnak nincs akkor nem sokat jósolok. Valamint nem egészen értem milyen dimmereid is vannak, esetleg azokról sem ártana valami info. Először infráról beszéltél, aztán meg tapizásról is. A dimmer a lámpánál van és a tapis vezérlő is infra jelet ad, vagy a tapis vezérlő egyben a dimmer is és csak a távirányító az infra? Miért nem építesz egyet? ESP8266-ot meg IR LED-et lehet venni. Ha tudod hogy működik a TASMOTA irmware akkor csak a megfelelő lábakat kell használnod az IR adó jeléhez, meg dekódolnod kell a távirányító jeleket. Az sem bonyolult egy IR fotodiódával vagy hasonlóval.
(#) vargham válasza usane hozzászólására (») Júl 20, 2020 1 /
 
Egyetértek. Tetszőleges ESP alapú dimmerhez nem nagy kunszt infra vevőt illeszteni.
(#) merlingerin válasza usane hozzászólására (») Júl 20, 2020 /
 
Szia!

Ezek Legrand valena kapcsolók/sorolóba illesztett dimmerek. Van kézi tapi, meg IR vevő benne. Hosszan nyomod bármely gombot, elengeded, hosszan nyomod, akkor szabályoz...

A lényeg az lenne, hogy a home assistant alá belehergelve távolról is lehessen állitani, de helyben is...
(#) usane hozzászólása Júl 28, 2020 /
 
Üdv!

Van egy NodeMCU-32S. Arduino IDE-vel próbálom flashelni, de nem megy. A flash gombbal nincs baj azt végigmértem. A 3,3V is megvan.
Most bontottam ki a HEstore-os csomagból.
A baj az, hogy május 12.-ei rendelés, vissza már nem veszik.
Cseréljem a CP2101-et?
(#) szalamandra válasza usane hozzászólására (») Júl 28, 2020 /
 
Semmiféle kommunikàcióra nem hajlandó?
(#) usane válasza szalamandra hozzászólására (») Júl 28, 2020 /
 
Nem. Ha resetet nyomok sem látszik a bootolás a soros monitoron.
(#) szalamandra válasza usane hozzászólására (») Júl 28, 2020 /
 
Esetleg forrasztàsi hiba?
(#) usane válasza szalamandra hozzászólására (») Júl 28, 2020 /
 
A wroom jól van felforrasztva. A CP2102 lehet kontaktos mert ugye QFN, de rámelegítettem hőléggel. Maximum még teljesen leveszem és visszaforrasztom.
(#) usane válasza usane hozzászólására (») Júl 28, 2020 /
 
Javítok. Látom a bootot a soros monitoron.
Kipróbáltam Pl2303-as átalakítóval az rx-tx lábon. Ugyanaz a helyzet. Bootot látom a soros monitoron, de flashelni nem tudom.
Lehet, hogy kuka?
Jobban is melegszik mint a többi. Szerintem hibás a Wroom chip.
A hozzászólás módosítva: Júl 28, 2020
(#) alex01 hozzászólása Aug 2, 2020 /
 
Sziasztok.
Ezt a programot szeretném lefordítani esp32 alaplapra,de alaplapi hibát ír.Mi lehet a hiba?

  1. #include <WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <BlynkSimpleEsp32.h>
  4. #include "max6675.h"
  5. #include <OneWire.h>
  6. #include <DallasTemperature.h>
  7. #include <Wire.h>  // Only needed for Arduino 1.6.5 and earlier
  8. #include <Adafruit_Sensor.h>
  9. #include <Adafruit_BME280.h>
  10. #include "HX711.h"
  11.  
  12.  
  13. #define uS_TO_S_FACTOR 1000000  /* Conversion factor for micro seconds to seconds */
  14. #define TIME_TO_SLEEP 7200      /* Time ESP32 will go to sleep (in seconds) */
  15. #define BLYNK_PRINT Serial
  16.  
  17. //capteur de poids
  18. #define DOUT  17
  19. #define CLK  16
  20. //void getWeight(void);
  21. float weight = 0;
  22. HX711 scale(DOUT, CLK);
  23. float calibration_factor = - 19800;  //You must change this factor depends on your scale,sensors and etc.
  24.  
  25.  
  26. // Data wire is plugged into port 4 on the Arduino or ESP32
  27. #define ONE_WIRE_BUS 15
  28. #define TEMPERATURE_PRECISION 100
  29.  
  30. // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
  31. OneWire oneWire(ONE_WIRE_BUS);
  32.  
  33. // Pass our oneWire reference to Dallas Temperature.
  34. DallasTemperature DS18B20(&oneWire);
  35. float tempruche;
  36.  
  37. //BME sensor
  38. #define SEALEVELPRESSURE_HPA (1013.25)
  39. Adafruit_BME280 bme; // I2C
  40. unsigned long delayTime;
  41.  
  42.  
  43.  
  44. RTC_DATA_ATTR int bootCount = 0;
  45.  
  46. // You should get Auth Token in the Blynk App.
  47. // Go to the Project Settings (nut icon).
  48. const char auth[] =            "################";
  49. const char blynk_server [] =   "blynk-cloud.com"; // new variable to hold the name of the Blynk server
  50. const int blynk_port =         8080;              // new variable to hold the port used by the Blynk server
  51.  
  52. // Your WiFi credentials.
  53. // Set password to "" for open networks.
  54. char ssid[] = "#######";
  55. char pass[] = "#######";
  56.  
  57. int wifi_connect_count = 0;          // New variable to keep track of how manty times we've tried to connect to the Wi-Fi
  58. int wifi_connect_max_retries = 50;   // New variable to specify how many attempts we will have at connecting to the Wi-Fi
  59.  
  60. float sleep_time_minutes =     1;   // New variable - how long (in minutes) we sleep for. As this is a float variable then it can be 0.5 for a 30 second test
  61.  
  62. //thermocouple
  63. int thermoDO = 18;
  64. int thermoCS = 19;
  65. int thermoCLK = 5;
  66. MAX6675 thermo(thermoCLK, thermoCS, thermoDO);
  67.  
  68. // supply control
  69. const int transistorPin = 14;
  70.  
  71. // Voltage batterie
  72. #define ANALOG_PIN_0 32
  73. int analog_value = 0;
  74. float volt=0.00;
  75. float volt1=0.00;
  76.  
  77.  
  78. void getBatterie()
  79. {
  80.    analog_value = analogRead(ANALOG_PIN_0);
  81.    Serial.println(analog_value);
  82.    volt = analog_value;
  83.    volt1=volt/794;
  84.    Serial.print("Voltage = ");  
  85.    Serial.println(volt1);
  86. }
  87. void getBme()
  88.  {
  89.  
  90.   Wire.begin(); //just added
  91.   float t = bme.readTemperature();
  92.   float p  = (bme.readPressure() / 100.0F);
  93.   float h =  bme.readHumidity();
  94.   float a =  bme.readAltitude(SEALEVELPRESSURE_HPA);
  95.   if (isnan(t) || isnan(p) || isnan(h) || isnan(a)) {
  96.     Serial.println("Failed to read from BME sensor!");
  97.     return;
  98.   }
  99.     Serial.print("Temperature = ");
  100.     Serial.print(t);
  101.     //Serial.print(bme.readTemperature());
  102.     Serial.println(" *C");
  103.  
  104.     Serial.print("Pressure = ");
  105.  
  106.     //Serial.print(bme.readPressure() / 100.0F);
  107.     Serial.print(p);
  108.     Serial.println(" hPa");
  109.  
  110.     Serial.print("Approx. Altitude = ");
  111.     //Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
  112.     Serial.print(a);
  113.     Serial.println(" m");
  114.  
  115.     Serial.print("Humidity = ");
  116.     //Serial.print(bme.readHumidity());
  117.     Serial.print(h);
  118.     Serial.println(" %");
  119.  
  120.     Serial.println();
  121. }
  122.  
  123.  
  124. void getWeight()
  125. {
  126.   HX711 scale(DOUT, CLK);
  127.   scale.set_scale(calibration_factor); //Adjust to this calibration factor
  128.   Serial.print("Reading: ");
  129.   weight = scale.get_units();
  130.   Serial.print(weight, 1);
  131.   Serial.print(" kg"); // You can change this to other type of weighing value and re-adjust the calibration factor.
  132.   Serial.print(" calibration_factor: ");
  133.   Serial.print(calibration_factor);
  134.   Serial.println();
  135.  
  136. }
  137.  
  138. void getSendData()
  139. {
  140.  DS18B20.requestTemperatures();  
  141.  tempruche = DS18B20.getTempCByIndex(0); // Sensor 0 will capture Temp in Celcius
  142.  Serial.print("tempruche: ");
  143.  Serial.println(tempruche);
  144.  
  145. }
  146.  
  147.  
  148. void thermoTemp()
  149. {
  150. float tempThermo = thermo.readCelsius();         // reading sensor from analog pin
  151.   Serial.print("tempThermo = ");
  152.   Serial.println(tempThermo);
  153. }
  154.  
  155. void WiFi_Connect() // New functon to handle the connectuon to the Wi-Fi network
  156. {
  157.   Serial.println(F("Connecting to Wi-Fi"));
  158.   //WiFi.config(device_ip, dns, gateway, subnet); // Not needed if you just want to have a DHCP assigned IP address. If you diont use this then delete the device_ip, dns, gateway & subnet declarations
  159.    
  160.   if (WiFi.status() != WL_CONNECTED)
  161.   {
  162.       WiFi.begin(ssid, pass); // connect to the network
  163.   }
  164.   while (WiFi.status() != WL_CONNECTED  && wifi_connect_count < wifi_connect_max_retries) // Loop until we've connected, or reached the maximum number of attemps allowed
  165.   {
  166.     delay(500);
  167.     wifi_connect_count++;  
  168.     Serial.print(F("Wi-Fi connection - attempt number "));
  169.     Serial.println(wifi_connect_count);
  170.   }
  171.  
  172.   if (WiFi.status() == WL_CONNECTED)
  173.   {
  174.     WiFi.mode(WIFI_STA);
  175.     Serial.println(F("Wi-Fi CONNECTED"));
  176.     Serial.println();
  177.   }
  178. } // End of void WiFi_Connect
  179.  
  180. void setup()
  181. {
  182.   Serial.begin(115200);
  183.   pinMode (transistorPin, OUTPUT);
  184.  
  185.   // New section of code - stop using Blynk.begin, which is a blocking function, and instead do the following:
  186.   //
  187.   // 1) Attempt to connect to Wi-Fi a few times (how many times we try is specified by the 'wifi_connect_max_retries' variable)
  188.   // 2) If we successfully connected to Wi-Fi then attempt to connect to Blynk in a non-blocking way. If we aren't connected to Wi-Fi then go to sleep
  189.   // 3) If we connected to Blynk then run the rest of the code as normal. If we aren't connected to Blynk then go to sleep
  190.  
  191.   //  Blynk.begin(auth, ssid, pass);//starts wifi and Blynk - Not used in the new code as it's a blocking function
  192.   WiFi_Connect(); // Attempt to connect to Wi-Fi
  193.  
  194.   if (WiFi.status() == WL_CONNECTED)               // If we managed to connect to Wi-Fi then try to connect to Blynk, else go to sleep
  195.   {
  196.     Blynk.config(auth, blynk_server, blynk_port);  // Initialise the Blynk connection settings
  197.     Blynk.connect();                               // Attempt to connect to Blynk
  198.   }
  199.   else
  200.   {
  201.     Serial.println ("Wi-Fi connection failed - going to sleep");
  202.     //sleep_time_minutes = sleep_time_minutes * 2; // If you enable this line of code the it will make the device go to sleep for twice as long before trying again. Changing to 0.5 would make it try again sooner than normal
  203.     Deep_Sleep_Now();
  204.   }
  205.  
  206.   if (Blynk.connected())                          // If we manages to connect to Blynk then carry-on as normal, else go to sleep
  207.   {  
  208.     Serial.println ("Connected to Blynk");
  209.   }
  210.   else
  211.   {  
  212.     //sleep_time_minutes = sleep_time_minutes * 2; // If you enable this line of code the it will make the device go to sleep for twice as long before trying again. Changing to 0.5 would make it try again sooner than normal
  213.     Serial.println("Blynk connection failed - going to sleep");
  214.     Deep_Sleep_Now();
  215.   }
  216.   ++bootCount;
  217.   Serial.println("Boot number: " + String(bootCount));
  218.   digitalWrite (transistorPin, HIGH);  // turn on the supply
  219.   delay(2000);
  220.    bme.begin(0x76);
  221.   // scale.set_scale();
  222.    DS18B20.begin();
  223.  // scale.tare(); //Reset the scale to 0
  224.   //long zero_factor = scale.read_average();
  225.  
  226.  
  227. }
  228.  
  229. void loop()
  230. {
  231.   delay(2000);
  232.   float tempThermo = thermo.readCelsius();
  233.   float t = bme.readTemperature();
  234.   float p  = (bme.readPressure() / 100.0F);
  235.   float h =  bme.readHumidity();
  236.   float a =  bme.readAltitude(SEALEVELPRESSURE_HPA);
  237.   thermoTemp();
  238.   getBme();
  239.   getWeight();
  240.   getSendData();
  241.   getBatterie();
  242.   delay(2000);
  243.   Blynk.virtualWrite(V0, bootCount);
  244.   Blynk.virtualWrite(V1, volt1);
  245.   Blynk.virtualWrite(V4, tempThermo);
  246.   Blynk.virtualWrite(V5,t);
  247.   Blynk.virtualWrite(V6, p);
  248.   Blynk.virtualWrite(V7, h);
  249.   Blynk.virtualWrite(V8, a);
  250.   Blynk.virtualWrite(V9, weight);
  251.   Blynk.virtualWrite(V10, tempruche);
  252.   Blynk.virtualWrite(V11, TIME_TO_SLEEP);
  253.   float wake_time = (float)millis()/float(1000); // Find out how long since the ESP rebooted
  254.   Blynk.virtualWrite(V2, wake_time);  // Wake time
  255.   Serial.print("Wake Time = ");
  256.   Serial.print(wake_time);
  257.   Serial.println(" seconds");
  258.   Blynk.run(); // Needed to ensure that the Wake Time value is always uploaded to Blynk before going to sleep
  259.   delay(100);
  260.   digitalWrite (transistorPin, LOW);  // turn off the supply
  261.   Deep_Sleep_Now();
  262. }
  263.  
  264. void Deep_Sleep_Now() // New function - moded code out of void loop so that the sleep function can be called if we fail to connect to Wi-Fi or Blynk
  265. {
  266.   esp_sleep_enable_timer_wakeup((uint64_t)(TIME_TO_SLEEP) * uS_TO_S_FACTOR);
  267.   Serial.println("Setup ESP32 to sleep for every " + String(TIME_TO_SLEEP) +
  268.   " Seconds");
  269.   Serial.println("Going to sleep now");
  270.   Serial.flush();
  271.   esp_deep_sleep_start();
  272.  
  273.   delay(2000);
  274. }
A hozzászólás módosítva: Aug 2, 2020
Következő: »»   99 / 137
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem