-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
válasz
Szancsó #12380 üzenetére
A kábelek ellenállása, állapota (mennyire van eloxidálódva, stb) sokat számít. Amíg nem volt itthon LED szalaghoz való kábel, addig úgy tudtam használhatóvá tenni a LED szalagot, hogy hangszóró vezetéken kapta az áramot és egy szálat kivettem az utp kábelből, azon érkezett a digitális jel. (én többek között egy asztal aljára rakott LED szalagot akartam vezérelni, semmi extra, statikus világítás volt a cél még akkor)
-
válasz
Szancsó #12368 üzenetére
Szia!
Mekkora kábel van az 1 db LED és a NodeMCU között?
Mielőtt te is elkezded a kódot hajkurászni, próbáld meg másik kábellel összekötni. Rövidebbel, vagy más típusúval.
Én kb 4 hétig szívtam a könyvtárakkal / kódolással, mert mindenki szoftver hibát gyanított. Utólag kiderült, hogy egy egyszerű kábel csere megoldotta a hibát. -
Sziasztok!
Ez alapján próbáltam életre kelteni a Nextion kijelzőmet.
[link]Így néz ki a kódom, ami lefordul hiba nélkül, de a kijelző t3 szövegmezője nem kapja meg a szöveget. Mit rontottam el?
#include <Nextion.h>
//Nextion kijelzo objektumok (képernyőkép azonosító, elem azonosító, elem neve
NexText kijelzohomin = NexText(0,5,"t3");
NexText kijelzohomax = NexText(0,14,"t5");
NexText kijelzohokint = NexText(0,15,"t6");
NexText kijelzohobent = NexText(0,16,"t7");
//függvények
void kijelzoiras()
{
//objektumnév.libraryfüggvény ("szöveg" vagy változó neve);
kijelzohomin.setText("aa");
}
//setup kód, a környezet felépítése
void setup() {
//debughoz serial port sebesseg bállítás
Serial.begin(115200);
}
void loop()
{
kijelzoiras();
delay(1000); //1 mp múlve elolrol kezdi a ciklust
}
-
válasz
Janos250 #12058 üzenetére
Köszönöm a tippet. Új hibaüzenetet sikerült generálni a megváltoztatott paraméterekkel.
Az új sor amire átírtam így néz ki:HardwareSerial Serial2(1);
Az új hibaüzenet, így kezdődik:
C:\Users\user\AppData\Local\Temp\arduino_cache_865413\core\core_d73a6200657d7379503ea2a7c120a007.a(HardwareSerial.cpp.o):(.bss.Serial2+0x0): multiple definition of `Serial2'
sketch\center_controller.ino.cpp.o:(.bss.Serial2+0x0): first defined here
collect2.exe: error: ld returned 1 exit statusEz után megint elkezdi, hogy többszörös könyvtárak találhatók.
-
válasz
Tankblock #12052 üzenetére
Szia!
Így néz ki a forrás eleje:
#define FASTLED_ALLOW_INTERRUPTS 0
#include <FastLED.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <ESPmDNS.h>
#include <Nextion.h>
//kijelző konfig
HardwareSerial Serial2(2); // Activate Serial communication 2 on ESP32 (RX=GPIO16 and TX=GPIO17)
Nextion myNextion(nextion, 9600); //create a Nextion object named myNextion using the nextion serial port
//wifi kapcoslódási adatok
const char* host="ESP32_controller";
const char* ssid="------";
const char* wifi_jelszo="------";
//ablak nyitas erzekelo valtozok
int ablakPIN1=12; //ablak1 nyitás érzékelő PIN
//mozgaserzekelo valtozok
int mozgasPIN1=14; //erzekelo1 PIN
Ez pedig a hibaüzenet:
Többszörös könyvtárak találhatók ehhez: "FastLED.h"
Használt: C:\Users\User\Documents\Arduino\libraries\FastLED
In file included from C:\Users\User\Documents\esp32\source_code\center_controller\center_controller.ino:6:0:Többszörös könyvtárak találhatók ehhez: "WiFi.h"
C:\Users\User\Documents\Arduino\libraries\Nextion/Nextion.h:5:28: fatal error: SoftwareSerial.h: No such file or directory
Használt: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
compilation terminated.Nem használt: C:\Program
Többszörös könyvtárak találhatók ehhez: "ESPmDNS.h"
Használt: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\ESPmDNSTöbbszörös könyvtárak találhatók ehhez: "Nextion.h"
Használt: C:\Users\User\Documents\Arduino\libraries\Nextion
exit status 1
Hiba a(z) ESP32 Dev Module alaplapra fordításra.A wifi.h-ből csaj 1 van, az arduino library közül töröltem.
A softwareserial probléma is ismerős, ott a nextion.h-ból kell kommentelgetni jó pár helyen, hogy ne software serial legen, hanem az ESP32 hardveres 2. serial lábai legyenek megszólítva közvetlenül.#Janos250 (12043): ha csak a nextion library-t hagyom benne, és a többit kikommentelem, akor is a töbszörös könyvtárra hisztizik a program.
-
Sziasztok!
ESP32 + Nextion kijelzővel van valakinek tapasztalata?
Az a konkrét gondom, hogy ha a nextion.h library-t hozzáadom a kódhoz, akkor az összes library-re azt írja, hogy többszörös hivatkozás. (FastLED.h, WIFI.h, stb.)
Amit kiveszem a nextion-t, egyből minden rendebe lesz.Amit már próbáltam:
- library könyvtár törlése,
- teljes környezet eltávolítása, törlése.Kipróbáltam többféle nextion library-t, és mindegyiknél előforduló probléma.
Mindenből a legfrissebb van telepítve.
Kb így kezdődik a forráskód:
HardwareSerial Serial2(2);
#include <WiFi.h>
#include <FastLED.h>
#include <Nextion.h>
Nextion myNextion(nextion, 9600);
A furcsa, hogy ha kikommentelem ezeket a sorokat, akkor is előjön a hiba:
// HardwareSerial Serial2(2);
#include <WiFi.h>
#include <FastLED.h>
// #include <Nextion.h>
// Nextion myNextion(nextion, 9600);
Ötlete van valakinek?
Ha a hivatalos library-t használom, akkor még van 10 librrayvan bővül a duplikációs hibaüzenet lista: ITEADLIB_Arduino_Nextion
Próbáltam az Arduino SDK library kezelőjében letölthető Nextion library-t is, akkor is ugyanez volt a hiba.
-
válasz
Gergosz2 #11578 üzenetére
Ok, köszi. Még csak a terezésnél vagyok. Az SD kártya támogatás, csak felmerült, hogy ha már a többi kész, akkor ezt is kipróbálom.
#11579 Janos250
Egyelőre összesen 1 szoba, ahol hozzá tudok nyúlni az áramhoz az asszony rosszallása nélkül.
Olvastam a SONOFF dolgokról, de nekem ez most csak játék, maradok vezetéknél mert nincsenek nagy távolságok az érzékelők és az ESP32 között.A leghosszabb vezeték kb 5 méter lesz a kültéri hőmérséklet érzékelő felé. Minden érzékelő utp vagy telefon vezeték lesz. (Olvastam egy fórumon, hogy egy srác 10 db DS18B20-at kötött rá egy ESP32 lábra. A legtávolabbi pedig 15m-re volt, és egyedül az ellenállásokra kellett figyelnie, mert 4-5 méternél már a vezeték ellenállását is figyelembe kell venni. Ő UTP kábelezést használt és állítólag tökéletesen működik neki.)
UTP kábelem van bőven, így én is azt fogok használni.A 4-es relét csak azért vetem, mert majdnem egy árban láttam az 1 darabossal. Ezzel egyelőre csak a szobai lámpát fogom vezérelni.
A redőnyt vezérelném még szívesen, de sajnos ahhoz nagyobb anyagi ráfordítás kellene.
Meg nagyon ötletem sincs, hogy mire használhatnám még a smart home rendszert aminek jelen körülmények között lenne értelme. -
Sziasztok!
ESP32-vel való ismerkedésemet egy LED szalag egyszerű be és kikapcsolásával kezdtem. Azóta az működik, és kicsit tovább is fejlesztettem, mert egy fapados webes felületen a színeket is meg tudom változtatni. a kódon még biztos lenne mit egyszerűsíteni, ami meg is fog történni, de majd csak az új projekt keretén belül.
Most kicsit nagyobb fába vágom a fejszém. ESP32-vel szeretnék egy egyszerűsített smart home rendszert csinálni:
- 3,5" Nextion értintő kijelző
- 1 db ablaknyitás érzékelő
- LED szalag vezérlés (meglévő szalag + kód felhasználásával)
- 2 hőmérő (ds18b20)
- várható hőmérséklet lekérése (van erre API szolgáltatás)
- 4 relés modul kezelése
- 6 nyomógomb a reléhez, a LED szalaghoz, és az LDC kijelző ki-be kapcsolásához
- android applikácó (MIT App Inventor)
- SD kártya (elsődlegesen a webes felület HTML fájljaihoz)Azt hiszem el leszek vele egy darabig, csak egy a félelmem, hogy a kód nem fog elférni az ESP32 flash-ben.
-
-
Üdv!
Szerintetek miért indul újra a kontroller? Egy darabig jól működik, majd egyszer csak újraindul:
Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)
Core 1 register dump:
PC : 0x400d1cf4 PS : 0x00060b34 A0 : 0x800d1e25 A1 : 0x3ffb1e60
A2 : 0x3ffb1e94 A3 : 0x1b75f3c8 A4 : 0x00000005 A5 : 0x0000003b
A6 : 0x00002000 A7 : 0x000000d1 A8 : 0x68000000 A9 : 0x3ffc3bf9
A10 : 0x3ff44004 A11 : 0x00002000 A12 : 0x00000112 A13 : 0x3ff44004
A14 : 0x00002000 A15 : 0x0000012b SAR : 0x0000000a EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x400d1a21 LEND : 0x400d1a39 LCOUNT : 0x00000000
Backtrace: 0x400d1cf4:0x3ffb1e60 0x400d1e22:0x3ffb1e90 0x400d1f75:0x3ffb1ed0 0x400d209d:0x3ffb1f10 0x400d1a48:0x3ffb1f50 0x400d1b70:0x3ffb1f70 0x40121a7a:0x3ffb1fa0
Core 0 register dump:
PC : 0x4013de0e PS : 0x00060634 A0 : 0x8008d60a A1 : 0x3ffce7b0
A2 : 0x00000008 A3 : 0x00000000 A4 : 0x00000001 A5 : 0x3ffcedf0
A6 : 0x00000000 A7 : 0x00000001 A8 : 0x3ffc4de0 A9 : 0x3ffc4dc4
A10 : 0x00000000 A11 : 0x00000001 A12 : 0x8008ba8c A13 : 0x3ffb43d0
A14 : 0x00000000 A15 : 0x3ffce460 SAR : 0x00000000 EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x4013de0e:0x3ffce7b0 0x4008d607:0x3ffce7d0
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:952
load:0x40078000,len:6084
load:0x40080000,len:7936
entry 0x40080310Annyit csinál, hogy a webes felületen beállított színt a ledszalagon megjeleníti.
-
Üdv
Elakadtam kicsit, egy kis segítséget szeretnék kérni.
Az ESP32-őn fut egy webszerver/weboldal.
A weboldalon rádiógombbal kiválasztok egy színt. A rádiógomb értéke megjelenik az URL-ben az alábbi módon:http://10.1.0.9/?ledszin=0xFF00FF
A ledszín változó értékét én szeretném felhasználni. A ledszin egy string típusú adat, a gond az, hogy nekem integer kell.
Mivel tudnám átkonvertálni?
A c_str() függvénnyel char típusra már tudtam konvertálni, de sajnos az nem jó.A toInt() függvénnyel nem jártam sikerrel.
Ehhez a függvényhez kell nekem integer típusú adat a szin változóhoz.
void LEDvilagitas(int szin)
{for (i=0; i<osszesLED; i++)
{ledek[i] = szin; }
FastLED.setBrightness(ledfenyero);
FastLED.show();
delay(100);} -
Szépen haladok előre, a ledszalag vezérléssel.
Webes felület kész. Mint kiderült van sokkal egyszerűbb megoldás, mint a taskok szeparálása cpu magra, meg saját ledszalag vezérlés írása.Fastled library tökéletesen működik. Az, hogy fordításkor megjelenik egy warning nem probléma.
Az espasyncwebserver library segítségével tök egyszerű megjeleníteni a weboldalt. Már csak annyit kell megírnom, hogy a weboldalon kiválasztott színt jelenítse meg a szalagon. De ennek is meg van a mintakódja.
Már csak 1 dolog kell. Akarok egy fizikai nyomógombot is a szalag kikapcsoláshoz. Ez lényegében úgy működne, hogy fekete szín küldene ki a szalagra.
A nyomógomb bekötéséhez azonban amit eddig találtam nekem nem szimpatikus. Lényegében az esp32 egyik pin-je egy ellenállással gnd-re van kötve. Ugyanerre a pinre van kötve a nyomógomb, a pin és az ellenállás közé. A nyomógomb másik lába pedig 5v-ra van kötve. Így ha megnyomom a gombot, az ellenálláson keresztül záródik az áramkör. Nem tudtok olyan megoldást, ahol nincs így összekötve a gnd és az 5v? -
válasz
Janos250 #8401 üzenetére
Kb ennyit értettem a hozzászólásod első kódrészletéből:
void loop() { //ez értem
taskDISABLE_INTERRUPTS(); //ez remélhetőleg egy beépítet függvény, este megnézem mire jó és miért kell
for ( uint8_t i = 0 ; i < ledNum ; i++) { //ciklus indul, a uint8_t lövésem sincs mi, gondolom egy közvetlen lenyúlás egy hardverközelibb szintre
transmitOnePixel(lightArray [lightArrayIndexPortWriting][i]) ; //ebből annyit értek, hogy egy tömbben defináltunk egy másik tömböt és elkezdtük az elemeit kiíratni
} ;
taskENABLE_INTERRUPTS(); //ez remélhetőleg egy beépítet függvény, este megnézem mire jó és miért kell
delay(1000) ; //ez értem
} ; // end loop //ez értemEzért írtam, hogy meg akarom érteni mit, miért, hogyan.
-
válasz
Janos250 #8399 üzenetére
Igen, de annyi időm még nem volt, hogy meg is tudjam fejteni, mi mit jelent és hogy kell használni.
Ezzel az egész projekttel kb heti 2 órát tudok foglalkozni, és soha nem tanultam kontrollert programozni. Nem véletlen, hogy még a saját kódomban is magyarul írom a változók neveit és szinte soronként kommentelem, különben lövésem se lenne, mit írtam a 3 héttel ezelőtt készült kódba. -
válasz
Teasüti #8394 üzenetére
Röviden: gyakorlat.
Láttátok korábbi hozzászólásaimban a szenvedésemet, az 56 LED-es szalag nem megfelelő működéséről.
Vettem egy step-down áramkört, hátha azzal megjavul, de ugyanez volt a helyzet.Egy külföldi fórumon (már meg nem mondom melyiken) egy srác is küzdött és ott javasolták neki, hogy tegyen vékonyabb vezetéket és egy ellenállást a kontroller és a szalag közé. Én is így tettem, és hirtelen minden megjavult, csak annyi LED világít amennyi kell, és úgy ahogy azt a forráskódban leírtam.
Most azzal küzdök, hogy a wifi-re felcsatlakoztattam az eszközt, csináltam rá egy webszervert, hogy ki és be tudjam kapcsolni. (igazából ez csak teszt, mert a színeket akarom csak variálni wifi-n keresztül) De valamiért 2 LED folyamatosan világít a szalagon. Talán az lehet a gond, hogy a webszerver és a LED vezérlést is ugyanaz a CPU mag csinálja és emiatt az időzítések/órajelek megcsúsznak a szalagon, legalábbis ezt olvastam. Szét kell választanom, hogy külön CPU feleljen a vezérlésért, vagy a led vezérlésnek kell úgy emlékszem DMA-t engedélyezni. Ez utóbbit viszont nem tud az AdafruitNeopixel library, csak a FastLED, ami viszont nem támogatott ESP32-őn. (Rövid távon valószínűleg jobban jártam volna egy sima Arduino-val, mert arra minden van.)
-
Üdv,
ismét itt vagyok és néhány tapasztalattal lettem gazdagabb. Utólag végig gondolva felsejlik előttem 1-2 előadás villanytanból és elektrotechnikából, de a franc se gondolta volna, hogy igazuk lehet tanároknak (meg Ampére-nek, meg Kirchoffnak, meg a többieknek).
Nálam az Adafruit Neopixel könyvtár tökélesnek látszik, hardver hiba miatt nem működött a szalag.
Az első hibát ott követtem el, hogy egy vastag, kb 0,5mm2 vezetékkel kötöttem össze az ESP32 vezérlő pinjét a LED szalaggal.
A másodikat, hogy nem jó helyre raktam az ellenállást a vezérlő vezetéken.(legalábbis több weboldal ezt mondja).Annak aki az ESP32 és a LED szalag közé 10 cm-nél hosszabb vezetéket akar tenni:
- a vezérlő PIN és a LED szalag közé minél vékonyabb vezetéket kell tenni (pl UTP vezetékből 1 szál)
- egy 200 Ohm és 400 Ohm közötti ellenállást kell tenni, a kontroller és a LED szalag közé, úgy, hogy az ellenállás minél közelebb legyen a szalaghoz.(talán a legjobb ha a szalagra van ráforrasztva az ellenállás és a vezeték az ellenállásra van forrasztva)Egyelőre úgy néz ki, hogy nálam bejött a dolog. kb 70 cm van az ESP32 és a LED szalag között az alábbi módon:
- 0,5 mm2 hangszóró vezetékkel van a táp bekötve a szalagra és az ESP32-re,
- 1 szál vékony vezeték (rossz PC-ből vettem a HDD LED egyik vezetékét)
- beforrasztottam a LED szalagra az ellenállást és erre forrasztottam rá a vezetéket.Jöhet a teszt drótozás (a jelenlegi állapotot másnak nem merem nevezni) átalakítása a végleges verzióba.
-
Nincs akkum. Van egy usb töltőm amit tudok erre használni és van egy 12v tápom, amihez csináltam egy stab IC-vel egy átakítót. Elvileg van egy nem használt atx-es tápom, azt még előkereshetem.
Értem, hogy mindenki a kódra gyanakszik. De ha ugyanaz a kód, ugyanazon a ledszalagon, ugyanazon a bekötésen, az usb táppal jó, az általam készített táppal meg nem, akkor ezt mivel magyarázzátok?
-
99% hogy a hiba nem szoftveres, hanem hardveres, konkrétan a tápegység nem megfelelő valamiért.
Az 56db-os szalagból csak 10 db-ot vezéreltem és rákötöttem egy USB-s töltőre. (5V, 1 A). A ledszalag, hirtelen megjavult, ugyanúgy működött, mint a 10db-os teszt szalag.A megoldás, hogy veszek egy stepdown konvertert, ami 12V-ból csinál nekem 5V-ot.
-
válasz
Teasüti #8221 üzenetére
Kipróbáltam a kapcsolást.
Bekötöttem egy 2200mikrós kondit,és annyi változott, hogy ha hozzáérek az LM1084 hűtőbordájához, akkor nem változik meg a ledek színe.Ha az ellenállást is bekötöm, akkor nem kapcsolnak be a ledek.
Ha a forráskódban 10 db a ledek mennyisége, akkor az első és a tizenegyedik zölden világít a többi narancssárga.
Az segít, ha linekelek egy fényképet a ledszalagról?
Janos250 : megcsináltam, beletettem a kódba az interuptos rész is, de nincs változás. 10 db címzek, 11 világít, első és utolsó zöld.
-
válasz
Teasüti #8225 üzenetére
Láttam ezt a cikket, de azt hittem ez csak Arduinora vonatkozik. ESP32-nél nem láttam ilyen megoldásokat.
De egy nagyobb kondit (asszem 1500-as van itthon) akkor még bekötök. Tegnap este én is erre jutottam, csak még a kivitelezést nem tudtam megcsinálni.JozsBiker: igen, próbáltam 400kHz-en is, de nincs változás.
Kb 13 éve (még a fősulin) programoztam utoljára C-ben (Akkor egész jól ment, addig amíg be nem kavartak az objetumokkal). Ismerős környezet amibe kódolni kell, de soha nem tanultam kontrollert programozni. Ezt most kb 1 hónapja találtam ki, így nekem egyelőre bőven megfelel a gyári csili-vili könyvtárak használata. Majd ha már legalább a saját kódom parancsait érteni fogom, akkor hanyagolom a gyári könyvtárakat, de egyelőre azon küzdök a hardver és a szoftver úgy működjön ahogy azt szeretném, és egy 10 soros kódot nem 2 heti guglizással kelljen összeraknom.
-
Köszi a segítséget, de egyelőre feladom. Szinte biztos, hogy az egész problémám hardveres, konkrétan a tápegységre gyanakszok.
Ugyanaz a kód a 10 db-os teszt ledszalagon ami USB-ről kapja a tápot, tök másképp viselkedik, mint az 56db-os szalag, amihez külön csináltam a tápegységet. Szerzek egy másik tápot amit javasoltak az elektorniká topicba. A 10 db-os szalag jól, működik, az 56-os még akkor sem működik őgy ahogy kellene, ha csak 20 db ledet címzek vele.
#Teasüti, nincs puffer kondi. Konkrétan ezt csináltam: [link]
-
válasz
Janos250 #8215 üzenetére
Szia!
Ezzel a megoldással, sikerült elérnem, hogy csak az 1. és a 25. led világít csak sötét kéken, a többi világoskék. Tegnap kb 4 órát üzemelt és nem vettem észre sem villogást, sem színváltozást. (Egyébként tegnap írtam a hobby elektronikás topicba és lehet tápot kell cserélnem, mert lehetséges, hogy van egy kis gerjedés az áramkörben.)
#include <Adafruit_NeoPixel.h>
#define LEDPIN 13 //vezérlés
#define LEDmennyiseg 56 //osszes led
int i;
Adafruit_NeoPixel LEDek = Adafruit_NeoPixel(LEDmennyiseg, LEDPIN, NEO_RGB + NEO_KHZ800);
void setup() {
LEDek.begin();
LEDek.show();
}
void loop() {
uint32_t szin= LEDek.Color(0,128,128);
for (i=0; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,szin);
}
LEDek.show();
delay(1000);
} -
válasz
Janos250 #8206 üzenetére
Köszi a segítséget és a türelmet is.
Háhá, kicsit előrébb léptem. (Mondjuk azt nem teljesen értem mit csináltam, de működik.
)
Az alábbi kóddal végre minden LED egyforma színnel világít. Már csak azt kell kitalálnom, hogy a kód végén, ha letelik a delay, akkor villan/pulzál egyet a szalag. Egyáltalán miért kell a delay? Minden LED vezérlős kód amit eddig láttam a neten egy delay-jel végződik. Kell ez nekem? Ez ezért kell, hogy amikor a delay fut, akkor kisebb az áramfelvétele az ESP-nek, kvázi energiatakarékos módba kapcsol erre az időre?
#include <Adafruit_NeoPixel.h>
#define LEDPIN 13 //vezérlés
#define LEDmennyiseg 56 //osszes led
#define szakasz1kezdet 0
int i;
Adafruit_NeoPixel LEDek = Adafruit_NeoPixel(LEDmennyiseg, LEDPIN, NEO_GRB + NEO_KHZ800);
// szín beallítas: zold,kek, piros GBR
void setup() {
LEDek.begin();
LEDek.show();
}
void loop() {
uint32_t kikapcsolt = LEDek.Color(0,0,0);
uint32_t csunyafeher= LEDek.Color(153,255,255);
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,csunyafeher);
LEDek.show();
}
delay(1000);
} -
válasz
Janos250 #8204 üzenetére
A sketch_mar09WS2812_ESP32_RMT_status_bit_check_CH0_GPIOx_24bitFe.ino egy szép villogós fényjátékot csinál.
A sketch_mar16aWS2812DigWrite-alProba01.ino szintén működik.
Az első led villog néhányat pirosan, majd kb 20 led elkezd világítani, az első zölden majd szépen megy át kékbe, 1 led sötéten marad és ismét lesz egy kb 20 ledes zöld-kék átmentes szakasz.Egyik fájlban sem láttam külső library-t. Jól gondolom, hogy ami a libraryban benne van, azt te konkréten ezekbe a fájlokba kódoltad bele a setup részbe?
-
válasz
Janos250 #8193 üzenetére
Köszi.
Most ugyanazt állítottam be, mint ami te képernyőképeden szerepel, de így is ugyanazt a z üzenetet kapom.
Arduino IDE 1.8.5 van nekem feltelepítve.Eddig sima ESP32 DevKit volt az alaplap beállítása. (De nekem szerintem a NodeMCU van. Ezt vettem, és pont így néz ki az enyém is. [link] )
Tegnap este a vezérlőpin vezetéke és a led szalag DIN vezetéke csak össze lett csavarva, hogy kipróbáljam. A 10 db-os teszt szalag viszont közvetlenül volt rákötve a vezérlőre egy kb 10 cm-es vezetékkel. Az alapján amit írtál, akkor ez is lehet probléma, erre nem gondoltam.
A táp biztos elég, mert 12V/4A a táp, amiből egy stabilizátor IC-vel csináltam 5V-ot, és 5A-ig terhelhető ez az IC.
#Tankblock Köszi, ezt néztem én is, de nem láttam hozzá guide-ot, hogy milyen paramétereket lehet megadni, hogy kell használni a library-t. Ugyanez a bajom van a Pixelbus-sal is.
-
válasz
JozsBiker #8189 üzenetére
Nem. A célja az lenne most a programnak, hogy mind az összes leden a megadott színt jelenítse meg. Majd ezt fogom később tovább bővíteni (színbeállítás wifi-n keresztül, nyomógombos ki és bekapcsolás, fényerőszabályzás, 2-3 szalag vezérlése)
Addig akarom majd bővíteni a kódot, amíg van tárhely, illetve vezérelhető PIN (pl.: hőmérséklet mérés LCD kijelzővel, mozgásérzékelő, meg ami még eszembe jut)
Ha ezek már mennek rutinból, akkor játékot is tervezek készíteni egy másik modullal, illetve egy lézergravírozót is.
-
válasz
Janos250 #8187 üzenetére
Üdv,
A link ahogy néztem ugyanarra weboldalra visz. Mindegy, letölöttem azt amit most küldtél. és nnál is ugyanezt a hibaüzenetet kapom.
Közben tegnap este azt olvastam, hogy a FastLED hivatalosan nem is támogatja az ES32-t, így nekem marad az Adafruit_Neopixel, vagy esetleg a Pixelbus, csak az utóbbihoz nem találtam használható leírást.
[link] -
válasz
Janos250 #8120 üzenetére
Üdv,
A hardveres előkészületekkel kész vagyok.(Összeraktam a tápegységet, elő van készítve a dobozolása megvan a ledszalag, össze van kötve be az egész bazár. A ledszalag és az ESP32 között kb 40cm-es vezeték van.
Most jön a szoftveres rész. Az a kód, amit megosztottál, nem fodul le nekem.
Ez a hibaüzenet:
"No hardware SPI pins defined. All SPI access will default to bitbanged output"Mit tudok vele csinálni? (FastLED 3.1.6 van telepítve)
Most az Adafruit_neopixel lilbrarbyt próbálgattam, de nagyon furán viselkedik. Ha csak 10 db ledet kötök be, akkor a színeket RGB sorrendben kell megadni a függvénynek és jól működik. Ha viszont az 57 db-os szalagot, akkor már a sorrend BGR, ráadásul az első valamiért led mindig eltérő színnel világít. Ha pedig valami színt szeretnék kikeverni akkor a delay lejárata után villan egy picit a led és megváltozik néhány lednek a színe.
Környezet: Arduino IDE 1.8.5, Adafruit_neopixel 1.1.6.
Ez a kód van most feltöltve, kék színnel világit most a szalag, kivétel az első led--et, mert az rózsaszín:
#include <Adafruit_NeoPixel.h>
#define LEDPIN 13 //vezérlés
#define LEDmennyiseg 57 //osszes led
int i;
Adafruit_NeoPixel LEDek = Adafruit_NeoPixel(LEDmennyiseg, LEDPIN, NEO_GRB + NEO_KHZ800);
void setup() {
LEDek.begin();
}
void loop() {
for (i=0; i<56; i++)
{
LEDek.setPixelColor(i, LEDek.Color(0,255,0));
LEDek.show();
}
delay(10000);
} -
válasz
Janos250 #8114 üzenetére
Ok, köszi. Azt keresgéltem, hogy van-e valami egyszerű módja annak, hogy egy szalagon több ledet is egyszerre vezéreljek.
Sejtem, hogy ha definálok egy tömböt, akkor ez kezelhető lehet, de mi van akkor ha én pl egyszerre akarom az első 10 LED-et vezérelni.Azt nézegettem, hogy a fastLED ami most talán népszerűbb LED vezérlő könyvtár. Szerintem ahhoz szerzek valami dokumentációt és azt fogom használni.
-
Üdv,
kis segítséget szeretnék kérni. Megvan a WS2812B LED szalagom.
Tegnap levágtam belőle egy 10 db LED-es csoportot és összeraktam a következő környezetet:
- USB-re rákötve az ESP32
- ESP32 Vin és a mellette lévő GND lábára rákötöttem a LED 5V+ és GND megfelelő lábait (Vin-ről azt olvastam több helyen is, hogy az egy +5V-os ki és bemenet, az USB +5V-ja jelenik meg itt)
- az ESP32 D13 feliratú lábára (elvileg ez a PIN13) rákötöttem a D0 feliratú vezetéket (asszem D0, de nincs is több csatlakozó)Csak ki akartam próbálni, hogy lássam működik-e, így megpróbáltam több példa programot is rátölteni az ESP-re. Volt köztük Neopixel, FASTled, meg LEDc is, de egyikkel sem tudtam a LED sort kifényesíteni. Minden programban a PIN-t átírtam, hogy 13-as legyen, ami vezérli LED-eket.
Annyit sikerült elérnem eddig, hogy ha lehúztam az ESP-t az USB-ről, és visszadugom, kb 1 tized másodpercre néha felvillan a LED sor (pirosan vagy zölden).
Tegnap kb 1 órám volt vele foglalkozni, de nem találtam olyan egyszerű kódot, amivel el tudnék indulni. Mindenki egyből bluetooth, meg wifi, meg az franc se tudja milyen bonyolult megoldásokat tett fel a netre.
Esetleg kérhetek valakitől olyan kódot, amivel el tudnék indulni? Vagy hol kereshetnék ilyen egyszerű leírásokat?
Kb az kellene, hogy:
#define PIN 13 //ezen megy ki a LED vezérés
#define szín RRGGBB //milyen színű legyen
#define akármi //ha kell még valamit definiálnivoid loop
legyen világosság (PIN, szín, akármi) -
Hurrá, ma megjött a WS2812B LED szalagom.
Lehet játszani a hosszú hétvégén.
Fura így elsőre, hogy csak 3 érintkezője van, kíváncsi vagyok, hogy kell használni. -
válasz
Vasinger! #7961 üzenetére
Üdv,
Én is most kezdtem ezt a témát. Kivételesen örülök hogy a led szalagom még nem érkezett meg, mert még egy led kapcsolóval történő kapcsolgatása is komoly feladat, egy, ismeretlen környezetben.
Feleslegesnek tűnik egy ekkora pack, főleg ha nincs konkrét terved.
Egy marék led, néhány nyomógomb szerintem elég az alapok megismeréséhez. -
válasz
Tankblock #7921 üzenetére
A loop() üres, abban nincs még semmi.
Eddig csak a setup() részbe írtam.Program tekintetében még az értelmezésnél tartok, mit hova kell írni.
Jut eszembe. Itt lehet olyat csinálni, hogy megírok egy kódot (pl wifi csatlakozás kódját) amit utána elmentek, és egy include vagy más parancscsal behúzom egy új alkalmazásomba. Gyakorlatilag code reuse lenne.
Anno c-be csináltunk ilyet, hogy ne kelljen mindig ugyanazokat a kész program részleteket bemásolni.Az én panelomnak fekete az alja "esp32 devkitv1" ennyi van ráírva. A chipet fedő fém lapocskán annyi van még, hogy esp-wroom-32. Se márkajelzés, se egyéb azonosító felirat nincs.
-
Üdv,
Bocsánat, hogy csak most írok, de dolgoznom kellett.
Szóval, a serial.println() fügvénnyel kiír bármilyen konstans szöveget. Olyan mintha csak a wifi adatokat lekédező föggvény nem adna vissza semmit.
A wifire felcsatlakozik, ezt látom a routeren, sőt pingre is válaszol. Egyedül a soros porta nem írja ki az infókat.
IP adatokat nem akarok beégetni, azt most ia dhcp-n kapja és ez így nekem tökéletes is lenne.
-
Nem jutok előrébb.már ennyire leegyszerűsítettem a kóot, de egyszerűen nem csatlakozik fel a wifi-re.
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiServer.h>
#include <WiFiUdp.h>
const char* ssid_sajat="teszt";
const char* password_sajat="teszt1234";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid_sajat,password_sajat);
Serial.println(WiFi.localIP());
Serial.println(WiFi.macAddress());
Serial.println(WiFi.gatewayIP());
Serial.println(WiFi.dnsIP());
}Két v1-es ESPWROOM-32 modulom van, de egyikkel sem tudok wifire csatlakozni. A fejlesztői környezetemmel lenne gond?
-
válasz
Janos250 #7917 üzenetére
Ok, köszi nem tudtam, hogy így is lehet.
Leszedtem az Arduinot, meg letöröltem minden könyvtárat, és ezt a linket használva felpakoltam mindent:
https://www.smart-prototyping.com/blog/How%20to%20Install-ESP32-Core-Arduino-IDE
Ehhez már csak annyi kellett, hogy az esp\library könyvtárból hiányoztak fájlok, amit a githubról pótolnom kellett. -
Az eszköz elvileg működik, csak a a program nem jó valószínűleg.
-
Összekötöttem egy USB kábellel a gépet és kontrollert, de azon kívül, hogy elkezdett egy led világítani a kontrolleren nem történt semmi.
Ehhez valami spéci kábel kell, hogy feltudjam tölteni a kódot, vagy valamelyik PIN-en keresztül kell? -
Üdv,
Már jelentkezek is egy kis tanácsért.
Gondoltam kipróbálom szerzeményeimet.Windows 7 alatt, Arduino IDE-ben gondoltam megírni egy tök egyszerű programot.
Csatlakozzon fel a wifi hálózatra és írja ki a nekem az IP-átjáró-dns címeket a soros porton amit az arduino ide figyel.De fordításkor hibaüzenetet kapok.
Az a baja, hogy többszörös wifi.h library van és nem tudja melyik kell ezért egyiket sem használja.
c:\Program Files\Arduino\libraries\wifi könyvtárat ezért elmozgattam másik helyre, és ide mozgattam a c:\Program Files\Arduino\hardware\espressif\esp32\libraries\wifi könyvtáratÍgy most működni látszik, kérdés, hogy ez mennyire volt jó ötlet? Van erre valami egyszerűbb és jobb megoldás?
Illetve az mennyire normális, hogy egy 37 soros kódra ezt kapom vissza:
Vázlat használ 493726 bájt (37%) -ot a program tárhelyből. A maximum 1310720 bájt.
A globális változók 37020 bájt (12%)-ot használnak a dinamikus memóriából, 257892 bájtot hagyva a helyi változóknak. A maximum 294912 bájt.A félkövérrel kiemelt részek nekem nagyon soknak tűnnek.
-
Üdv,
Ma kaptam készhez az ESP32-őt, meg van a hétvégi program.
Kicsit ismerkedek az kütyüvel.Viszont a LED szalagokat még fel sem adták.
-
Köszi, sejtettem. Tegnap már azt néztem, hogy kell cnc maró gépet csinálni esp32-vel, pedig még az sem tudom, hogy kell a gpio-kat vezérelni.
Teasüti: tegnap este én is berendeltem az első projekthez szükséges tápalkatrészeket, 2500Ft-ért.
-
Jól gondolom,hogy ez a mikrokontrolleres játszadozás simán tud függőséget okozni?
Még meg sem érkezett az enyém, csak a cikkeket olvasgatom a nete, hogy ki mit csinált belőle és már azt tervezem, hogy ezt is megépítem, meg azt is. -
Üdv,
Milyen fejlesztői környezetet javasoltok program írásra Windows 7 alá?
Eddig ha jól láttam kétféle megoldás van:
- Arduino IDE: amihez le kell csak tölteni az ESP specifikus kiegészítőket, és egy kalap alatt mehet a fejlesztés, tesztelés, feltöltés az arduino saját nyelvén
- ESP saját megoldás: ami micropyhton vagy arduino kompatibilis nyelven lehet programot írni, és kb 3-4 program kell hozzá: szövegszerkesztő, Toolchain, ESP-IDF (és a windows miatt python és git, hogy egyáltalán le tudjam szedni a szükséges cuccokat) -
Na, a bazár megrendelve aliexpress-ről. Idő kérdése, és meg lesz a LED szalag és 9 Euróert 2 db ESP32 kontroller.
-
válasz
Janos250 #7845 üzenetére
Köszönöm a segítségeteket.
Kb 20 perc alatt több infót tudtam és értettem meg, mint amit az elmúlt 2-3 napban esténként próbáltam összeszedni.A javaslatnak megfelelően akkor ESP32 és WS2812 kombót fogom kipróbálni.
Ahogy néztem az ESP32 az ESP8266 modernebb változata. Ha jól gondolom, akkor az ESP8266-ra építtet alkalmazások működnek ESP32-vel is.ESP32-vel viszonylag kevés ledes projektet láttam.
Az ESP32-höz kell velemi spéci kábel, vagy programozó áramkör, vagy csak rádugom USB-re és feltolom rá az elkészült programot?Milyen oldalt javasoltok, az alapok megismeréséhez?
-
válasz
Teasüti #7832 üzenetére
ÁÁÁ, köszi, igen, ezt benéztem. Bocsi.
ESP8266 - ez a wifi modul, futtat egy http szervert a színbeállításokhoz
Arduino Uno - ő vezérli a ledeket:
- a szín beállításokat az ESP8266 kapja
- fényerőt nyomogombokkal állítomSzalagonként 3 db IRL540N (mert ezt találtam a hestore.hu-n) pedig a ledeket hajtja.
A ledszalag pedig WS2812. Ha jól értelmeztem, akkor ezt led chipenként lehet címezni, nekem biztos hogy kell ez?1 led szaleg megy az asztal aljára, 1 az asztallap széléhez a fal mellé vagy a monitor mögé, 1 pedig asztali lámpa és headset tartó (plexiből hajtogatott izébigyó) megvilágítása lesz. (bár ha nagyon belejövök csinálok egy infinity mirror kreációt is egy negyedik szalagból, ugyanerről az arduino-ról)
Egyébként csak azért akarok Arduino-t mert látszólag nagyon népszerű most és sok leírás van hozzá. Az ESP32-ről nem tudom még micsoda.
A v-tac céget ajánlotta nekem a kollégám. Ezt néztem ki náluk, de a kép szerinte nem jó a leírás meg nem tartalmazza, hogy milyen a cucc:
[link] -
Teasüti, gyapo11, Janos250 köszönöm a válaszokat.
A terv, hogy egy WS2812 fog futtatni egy http servert és azon keresztül tudom majd vezérelni a szín beállításokat az Arduino Uno-n keresztül.
A fényerőt külön nyomógombokkal terveztem változtatni, mindhárom szalag esetében.A LED szalagok egy IRL540N FET-re lesznek kötve.
A legfogósabb kérdés számomra a LED szalag, mert nem nagyon láttam leírásokat a szalagokról, hogy az most analóg, vagy digitális. A cikkek többségében csak annyit írnak hogy 5050-es LED szalag. Ezt beírva kapok milliónyi találatot, de nem nagyon látom feltüntetve, hogy az adott szalag analóg, vagy digitális. Kollégám azt javasolta 60LED/m szalagot válasszak.
-
Üdv!
Abszolút kezdő vagyok Arduino-ból.
Amit szeretnék mégis megvalósítani:
- 3 RGB LED szalag vezérlése
- színbeállítás szalagonként (pl wifi modulon keresztül)
- fényerő szabályozás szalagonként.Ahogy olvasgattam leírásokat, részben találtam megoldást mindenre, csak nem így összefüggően.
Van esetleg Arduino-hoz szimulátor? Vagy egyből fejest kell ugrani és bevásárolni.A leírt feladat szerintetek megvalósíthato?
Elvileg van annyi analóg pin a cuccom, hogy akár egy negyedik szalagot is tudjak vezérelni.
Teszek majd MOSFETeket a szalagok meghajtásához, bár elvileg el kellene bírnia a kb 50cm-es darabokat.
Elektronika nincs távol tőlem, az megoldom, és a C sem teljesen ismeretlen számomra.
Új hozzászólás Aktív témák
Hirdetés
- Megaport gaming pc + billentyű
- Csere-Beszámítás! Ryzen 9 9950X3D Processzor! 16Mag-32Szál!
- Csere-Beszámítás! Intel Core I9 14900KS 24Mag-32Szál processzor!
- Csere-Beszámítás! Asus Rog Strix GTX 1080Ti 11GB GDDR5X Videokártya!
- Csere-Beszámítás! Asrock Challanger B580 12GB GDDR6 Videokártya! Bemutató Darab!
- IBM/Lenovo Thinkpad T60
- Azonnali készpénzes nVidia RTX 2000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 7600 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Xiaomi 13T Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest