Fórum témák

» Több friss téma
Lapozás: OK   44 / 137
(#) sanyisay válasza atus1981 hozzászólására (») Szept 13, 2017 / 1
 
Jól mondja "Kovabe" kollega,
ha túl hosszú ideig dolgozik egy ciklus akkor watchdog lesz a vége.
Ha mást nem delay(x), vagy yield() kell az ilyen ciklusokba.
Nem szabad lefoglalni a processzor időt mert kell a wifi és egyéb dolgoknak. delay és yield várakozás alatt automatikusan futtatja a háttér folyamatokat. Valahol ez szépen le van írva de már nem tudom hol.
A delay() viszont nem a barátunk mert közben minden feladatunk tétlenségre van kárhoztatva úgyhogy inkább Ticker használatát javaslom, mindenféle időzítésre, így "párhuzamosan" futtathatunk több feladatot.
Bővebben: Link


ui.: yield() kb egyenlő a delay(0) val nem késleltet csak életben tartja a háttérfolyamatokat.
A hozzászólás módosítva: Szept 13, 2017
(#) pipi válasza atus1981 hozzászólására (») Szept 13, 2017 / 1
 
Hali!
ezt lövi ki a wd, ebbe hal bele:
while(digitalRead(ir)== HIGH)
{};
kell bele egy yield()
(#) atus1981 hozzászólása Szept 13, 2017 /
 
Köszi mindenkinek!
  1. display.setTextAlignment(TEXT_ALIGN_CENTER);
  2.     display.setFont(ArialMT_Plain_24);
  3.     display.drawString(64, 15, String(count) + "db");

Ezt beletettem a while ciklusba, hogy csináljon is valamit, így nem resetel.
Ez a yield(), meg a ticker dolog nekem új, nem is tudom hogyan kellene alkalmazni.
(#) sanyisay válasza atus1981 hozzászólására (») Szept 13, 2017 / 1
 
yield-et próbáltam leírni mire kell, reméltem érthető.

Ticker meg egyszerűen a beállított idő elteltével meghívja a beállított függvényt a megadott paraméterekkel. Persze ticker függvényében sem célszerű túl hosszú időt tölteni mert az is wd gondot okozhat. (ilyenkor célszerű egy változó értékét átállítani és loop ból figyelni hogy ha volt ticker akkor történjen a bonyolult esemény) Pld ha ledet szeretnél villogtatni amolyan visszajelzésféleképp, akkor ha delay-el teszed más nem is fog futni. Ezzel meg megoldható úgy hogy közben a kódod dolgozik.

Ez a példa pont ezt csinálja.
Bővebben: Link


  1. tickerSetLow.once(0.25, []() {digitalWrite(1, 1);});

így lehet függvény nélkül használni
az once azt jelenti hogy csak egyszer fut le a megszakítás, attach meg folyamatos.

  1. tickerSetLow.detach()

ez meg leállítja

Röviden ennyi



ui.
itt

WDT reset elkerülésére ajánlják a TickerScheduler használatát de az valahogy nekem nem működött, igaz nem is foglalkoztam vele sokat
A hozzászólás módosítva: Szept 13, 2017
(#) Tardief hozzászólása Szept 14, 2017 /
 
Sziasztok!

Szeretnék egy PIC16f690 és egy ESP-12 között UART-on keresztül adatot küldeni.
integer értékekről lenne szó.

Csináltam is egy próbát, ahol az ESP elküld egy 10-es számot a PIC-nek az pedig visszaküldi. Sajnos a PIC nem küld vissza értékelhető adatot. Egy ftdi232 segítségével néztem, hogy mit küldenek.

Az ESP kódja:
  1. #include <ESP8266WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <ESP8266WebServer.h>
  4. #include <SoftwareSerial.h>
  5. int x = 10;
  6. int received=1;
  7. int j = 0;
  8. void setup() {
  9.   //Serial.begin(9600);
  10.   Serial.begin(9600, SERIAL_8N1);
  11.  
  12.  
  13.  
  14. }
  15.  
  16. void loop() {
  17.  
  18.     Serial.print(x);
  19.     //serial.write( x );
  20.      if (Serial.available()){
  21.       received = Serial.read();
  22.         for( j = 0; j<received; j++){
  23.             digitalWrite(2, HIGH);   // turn the LED on (HIGH is the voltage level)
  24.             delay(500);              // wait for a second
  25.             digitalWrite(2, LOW);    // turn the LED off by making the voltage LOW
  26.             delay(500);
  27.         }
  28.       }
  29.      delay(500);
  30. }


A pic kódja:

  1. #include <16F690.h>
  2. #device ADC=16
  3. #use delay(internal=4M)
  4.  
  5. #use rs232(baud=9600, xmit=PIN_B7, rcv=PIN_B5)
  6.  
  7. void main ()
  8. {
  9.    unsigned char value = 0;
  10.    unsigned char count = 0;
  11.    for (;;)
  12.    {
  13.       while (!kbhit ());         // Amíg nem érkezik adat az UART-on, várakozunk
  14.       value = getc ();           // Ha a kbhit () 1-et ad vissza, akkor kilépünk a while ciklusból és kiolvassuk a vett bájtot
  15.       putc(value);
  16.       for (count = 0; count < value; count++)   // A for ciklusban pedig annyit villantunk a leden, amekkora a value értéke
  17.       {
  18.          output_high (PIN_C0);
  19.          delay_ms (100);
  20.          output_low (PIN_C0);
  21.          delay_ms (100);
  22.       }
  23.    }
  24. }


Van ötletetek, hogy mi lehet a gond?
(#) TheShaft hozzászólása Szept 21, 2017 /
 
Sziasztok!
Nézegetem egy ideje ezeket az ESP8266-tal szerelt modulokat, de kicsit zavarban vagyok, mert rengetegféle kivitelt láttam. Létezik valamiféle összefoglaló anyag, amelyből össze lehet a modulokat hasonlítani?
(#) nedudgi válasza TheShaft hozzászólására (») Szept 21, 2017 /
 
(#) TheShaft válasza nedudgi hozzászólására (») Szept 21, 2017 /
 
Köszönöm. Ezek szerint nem az Espressif gyártja ezek nagy részét.
(#) TheShaft hozzászólása Szept 22, 2017 /
 
ESP-07S modul külső antennával mekkora hatótávolsággal rendelkezik? Van valakinek ilyen tapasztalata? Mennyivel "rosszabb" a PCB antennás verzió?
(#) nedudgi válasza TheShaft hozzászólására (») Szept 22, 2017 /
 
(#) TheShaft válasza nedudgi hozzászólására (») Szept 22, 2017 /
 
Köszönöm. Szóval 90 vs 150m....
(#) Firefighter1 hozzászólása Okt 1, 2017 /
 
Sziasztok NodeMCU kérném a segítségeteket!
Dott egy ilyen panel
Feltelepitettem az ARDUINO IDE progit! Letöltöttem a ch340g csomagot.... telepítettem... Az ezközkezelőben felismeri mint USB-SERIAL CH340

Az Arduino IDE be telepitettem az esp csomagot .... kiválasztom a nodeMCU 1.0
Kivalasztok egy alap basic ledvillogtato kodot... elkezdem feltölteni.. a modul villog párat a feltöltés során majd ezt a hibaüzenetet kapom.

Tudna valaki segíteni! Én ugy látom hogy nem kommunikál... mármint nem megfelelően!
A hozzászólás módosítva: Okt 1, 2017
(#) Tardief válasza Firefighter1 hozzászólására (») Okt 1, 2017 /
 
Programozás előtt újraindítottad a panelt úgy, hogy közben lenyomva tartottad a flash gombot is?

Ahhoz, hogy olyan módban bootoljon amikor tudod programozni nyomva kell tartanod a flash gombot és ezután megnyomni a rst gombot.
(#) Firefighter1 válasza Tardief hozzászólására (») Okt 1, 2017 /
 
Na ez kimaradt!
Pedig megnéztem vagy 4-5 tutorial videot de nem volt egyikbe se benne...
Na igen ez az átka hogy nem ismerem...

Tehát :
Microusb kihuz
Flash gomb lenyom... nyomvatart
Microusb visszadug
Flash gomb felenged
RST gomb megnyom

És jöhet a programozás?
A hozzászólás módosítva: Okt 1, 2017
(#) Firefighter1 válasza Tardief hozzászólására (») Okt 1, 2017 /
 
Hát végig csináltam.... először feltöltöt ki is irta hogy feltöltés kész. De a program nem indult... ujrainditottam akkorse!
Van még itthon 2 masik modul ( gondolva arra ha egyet kilövök legyen még... de azota egyiken se sikerült a feltöltést megismételni.....
Ezeket formázni nem kell? vagy amikor töltök rá akkor alapbol törli a régi programot?
(#) Firefighter1 válasza Tardief hozzászólására (») Okt 1, 2017 /
 
A Flasht elég addig nyomvatartani áram alá helyezés után amig villog a led?
Illetve a Reset gombot a flashel együt nyomjam vagy utánna?
(#) neogeo2 válasza Firefighter1 hozzászólására (») Okt 1, 2017 /
 
Nálam akkor csinál hasonlót, ha be van kapcsolva a "serial monitor". Tehát érdemes újraindítani az Arduino IDE-t és a programozás előtt nem használni a serial monitort.
(#) neogeo2 válasza Firefighter1 hozzászólására (») Okt 1, 2017 /
 
Ja igen, ezen a modulon olyan a reset, mintha lógna a levegőben. Időnként például ha megérintem a pint, van hogy újraindul. Emiatt bizonytalan a működés. Érdemes lehet fel vagy lehúzni.
(#) Firefighter1 hozzászólása Okt 1, 2017 /
 
Hát persze hogy nem sikerűl ha a Flash modot rögtön kiresetelem!
Már rájöttem... csak a Flash kell... a reset nem
(#) Tardief válasza Firefighter1 hozzászólására (») Okt 1, 2017 /
 
Egyébként nekem is gyakran dobja ezt a hibaüzenet.
Amikor látszólag ok nélkül írja nekem akkor ki szoktam húzni pár pillanatra és az Arduino IDE-t is újraindítom. Általában segít...
(#) mikado válasza Firefighter1 hozzászólására (») Okt 2, 2017 /
 
Programozás előtt válaszd le a nodemcu-ról amit hozzádugtál mert valamelyik programozó lábat is használod.
(#) Firefighter1 válasza mikado hozzászólására (») Okt 2, 2017 /
 
Konkrétan semmi sincs rajta! Csak maga a natur kis modul.
Random dobja ki ezt a hibát.... ArduinoIDE ki/be segit... azt vettem észre
(#) andyka válasza Firefighter1 hozzászólására (») Okt 2, 2017 /
 
Hello. Van nekem is egy ilyen panelom, de sosemkellett nyomkodjam a kapcsolo gombokat rajta. Esetleg levallasztottam az USB -t majd ujra csatoltam, csak ennyi
(#) atus1981 válasza andyka hozzászólására (») Okt 3, 2017 /
 
Nekem is van nodemcu panelem, cp2102 illesztővel és sosem nyomkodtam a gombokat rajta....
(#) Firefighter1 válasza atus1981 hozzászólására (») Okt 3, 2017 /
 
Délután ezt kiprobálom... Amugy olyan panelod van mint amit fotoztam? Mert ez gondolom klón az enyém!
(#) atus1981 válasza Firefighter1 hozzászólására (») Okt 3, 2017 /
 
(#) andyka hozzászólása Okt 4, 2017 /
 
Wemos mini -t tápláltatok 12V -ról ? A stabilizátorja kibírja ??
(#) nedudgi válasza andyka hozzászólására (») Okt 4, 2017 /
 
Ha megnézed a stabilizátor IC(ME6211) adatlapját, 6,5V maximum bemenő feszültséget látsz.
(#) andyka válasza nedudgi hozzászólására (») Okt 4, 2017 /
 
Kösz. Abba remenykedtem hogy nem a megfelelo helyen kerestem. REMENYKEDTEM
(#) kispalsz hozzászólása Okt 4, 2017 /
 
Sziasztok!

Elérkezettnek látom az időt, hogy áttérjek usb -> 3.3 V átalakítóról elemes működésre.
Jelenleg nehézséget okoznak az alkatrészek kiválasztása az elérendő funkcióhoz.
Mivel nem nagyon akarok még forrasztgatni, egyenlőre még próbapanelen kisérletezgetnék. Ezt szem előtt tartva, olyan alkatrészeket keresek ( magyar shopból) amelyek a próbapenelre könnyen beilleszthetőek, pl TO92, To220. ( SOT kilőve)

Szóval elemes működést szeretnék, 4db AA akkumulátor lenne összekötve, 4x 1.2 V, azaz 4.8 V kezdeti feszültségem lenne. Eztuán kötnék egy MCP1700-3302E/TO LDO-t. Így az ESP modul működéséhez a 3.3V feszültséget garantálni tudnám. Ezzel a résszel talán nincs is gondom. Az ESP-ben deep-sleep használatával tudnám növelni a működési időt.

1) Az ESP-vel szeretném mérni az akkumlátorpakk kimeneti feszültségét. Azaz 4.8 -3.3 V feszültségtartományban. Olyat feszültségosztót 2 ellenállással már csináltam, hogy 0 - 4.8 V közötti értéket az ESP ADC-je számára értelmezhető 0 -1 V-ra konvertáljak, de lehetséges lenne valahogy a 3.3 - 4.8 V feszültséget 0-1 V-ra konvertálni. Így talán nagyobb lenne a "felbontása" a mérésemnek.

2) A jelenlegi feszültségosztó áramkört csak akkor akarom használni, ha tényleg mérni akarok, és nincs az ESP deep-sleep módban. Erre találtam is egy megoldást , de ebben kérlek segítsetek, hogy milyen P-MOSFET-et kell vársároljak, hogy az én 4.8V-os rendszeremben is működjön, valamint a leghatékonyabb legyen, és persze könnyen próbapanelra illeszthető. És még be is lehessen szerezni országunkban.
Itt a leírás, hogy hogyan:
P-MOSFET

A fenti megoldással tényleg 0 lesz deep-sleep módban a mérő áramkör fogyasztása, és csak az MCP1700 készenléti, valamint az ESP modulom deep-sleep áramával kell számoljak? Ez ha a leírások nem csalnak, olyan (LDO: IGND Typ (µA) 1.6µA + ESP deep sleep: 20 µA) kb 22 µA fogyasztással számolhatok?
A hozzászólás módosítva: Okt 4, 2017
Következő: »»   44 / 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