Fórum témák
- • Rendelés külföldről (eBay - Paypal)
- • Elfogadnám, ha ingyen elvihető
- • Elektromos távirányítós kapunyitó
- • PIC programozás assemblyben
- • Villanyszerelés
- • Felajánlás, azaz ingyen elvihető
- • Számítógép hiba, de mi a probléma?
- • RGB-led villogtató
- • Napelem alkalmazása a lakás energia ellátásában
- • Brushless motor elektronika
- • TV hiba, mi a megoldás?
- • Parkside akkuk javìtása
- • Érdekességek
- • Erősítőhöz való hangsugárzó védelem (koppanásgátló)
- • Flash írás (programozás)
- • JLH erősítő
- • Kapcsolóüzemű (PWM) végfok építése
- • Kávéfőzőgép hiba
- • Villanypásztor
- • Kapcsolási rajzot keresek
- • Rádió áthangolása, OIRT - CCIR konverter
- • Klíma beszerelése, fűtés-hűtés házilag
- • Vicces - mókás történetek
- • Autós erősítő működtetése tápegységről
- • Rádiósmagnók (javítás)
- • Földelt kimenetű erősítők
- • Immobiliser
- • Porszívó javítás
- • Vásárlás, hol kapható?
- • Hangszórójavítás (otthon)
- • PLC kérdések
- • Crystal radio - detektoros rádió
- • Elektromos fűnyíró probléma
- • Kaputelefon
- • Inverteres hegesztőtrafó
- • V-FET és SIT erősítő kapcsolások
- • Elektromos kapásjelző
- • Alternativ HE találkozó(k)
- • Cisco catalyst switch javítás
- • Áramváltó trafóval áram mérés, hogy?
- • Orion hs 280 - 282
- • Nokia 3210 MBUS-FBUS PIC kommunikáció
- • Vitatkozzunk! / Beszéljük meg!
- • Hawksford Error Correction
- • MyParts alkatrész kereső
- • Opel Astra elektromos hibák
- • Mikrohullámú sütő javítás, magnetron csere, stb.
- • Mosógép vezérlők és általános problémáik
- • Fordulatszám szabályozás felső maró
- • Hangszóró tekercselés
- • SMD forrasztás profin
- • Autóelektronika
- • Westen 240 Fi gázkazán hiba
- • Időjárás figyelő állomás
- • Hőkioldó bekötése áramkörbe
» Több friss téma
|
Fórum » Nextion érintőképernyős HMI, UART kommunikációval
Ó az nekem pont tökéletes! Jól jön az!
Egy kérdés. Ennek a panelnek miért kell 3.3V 5V és még 12V is?
Miért nem elég csak 5V pl?
Nem kel. Hanem választhatsz, hogyan táplálod meg.
Ha az 5V-re teszel erősebb tápot, akkor több kiegészítést is ráköthetsz.
Mint a rárakott szabályzó elbír.
Vagy ha a kiegészítő eszközök 3.3V-ról mennek, akkor nem kel őket illeszteni.
Simán 3.3V-ról járatod az egészet. A hozzászólás módosítva: Máj 31, 2019
Ez de jópofa! Jelenleg egy 5V 3A-es tápom van. Az elegendő lesz neki!
Még egy kérdésem lenne és részemről akkor lezárható ez a téma. Ha veszek kettő ilyen NYÁK-ot,hogy tudom őket összekötni? (I/O bővítés miatt) Erről nem találtam dokumentációt.
Van rajta 3 soros port, ha közel vannak egymáshoz, akkor még simán TTL jellel is összeköthetők.
De van I2C is, bár az jóval lassabb. A hozzászólás módosítva: Máj 31, 2019
Szuper! Köszönöm az extra segítséget! További szép napot!
És minden pin lehet digitális I/O, még az analógok is.
Neked pedig sok sikert!
Ezeket majd kitapasztalom. 2db ilyen panel bőven kielégíti a port mennyiséget,mint ami nekem kell. Köszönöm szépen! Szükségem lesz rá!
Még jut eszembe, van SPI is.
Az a legjobb, amit küldesz, azt a következő küldésnél vissza küldi.
Ellenőrizheted, hogy hibátlan e?
(#) |
wbt hozzászólása |
Jún 19, 2019 |
|
/ |
|
|
Gomb állapotát használnám tm0 eseményben. Honnan is tudom meg, hogy nyomva van-e? if(b0.val==1) nem jó, elméletileg nincs is ilyen változó.
Biztos nagyon egyszerű a dolog, de most nem találom a megoldást.
Extra változóval (va0):
gomb, Touch Press Event:
va0.val=1
gomb, Touch Release Event:
va0.val=0
tm0-ban:
if(va0.val==1)
Köszönöm! Csak furcsáltam, hogy egy gombnál pont az állapota nem lehet feltétel
Tiszteletem mindenkinek! Szeretnék Arduino programozásban segítséget kérni. A problémám a következő: A szöveg alatt látható jelenlegi (befejezetlen) kódom. Működik a kijelzővel,teszi a dolgát. Viszont azt hogy tudnám megcsinálni,ha pl átlép az 5.-ik oldalra akkor azt ne csak 1x hajtsa végra,hanem többször? Pl:
Így megy most:
1, Vár oldal számra az Arduino.
2, 5-ös oldalra ugrott a HMI.
3, Arduino megkapta,hogy 5-ös oldalon van és 1x végrehajtja a hozzátartozó utasítást.
4, Vár oldal számra az Arduino.
.
.
.
Ahogy én szeretném:
1,Megnézi hogy hányadik oldalon van a HMI. (Ha nem tud értéket olvasni,akkor a "jelenlegi oldal" változóban maradt értéket vegye figyelembe)
2,Végrehajtja 1x a hozzátartozó utasítást.
3,Megnézi hogy hányadik oldalon van a HMI. (Ha nem tud értéket olvasni,akkor a "jelenlegi oldal" változóban maradt értéket vegye figyelembe)
4,Végrehajtja 1x a hozzátartozó utasítást.
.
.
.
(végtelen ciklus)
#include <Nextion.h>
// Variable init
int CurrentPage = 0; // Create a variable to store which page is currently loaded
// Variable init end
//Page 2 start (MAIN)
NexProgressBar fuel = NexProgressBar(2, 33, "fuel"); //Fuel level
NexButton b20 = NexButton(2, 28, "b1"); //Menu button
NexNumber n20 = NexNumber(2, 35, "n4"); //Voltage (higher value)
NexNumber n21 = NexNumber(2, 36, "n5"); //Voltage (lower value)
NexNumber n22 = NexNumber(2, 32, "n0"); //Speedometer
NexNumber n23 = NexNumber(2, 10, "n1"); //Tachometer
NexButton bb21 = NexButton(2, 31, "b0"); //Logout button
NexProgressBar temp = NexProgressBar(2, 14, "temp"); //Temp level
//Page 2 end
//Page 4 start (LIMITER)
NexNumber n40 = NexNumber(4, 3, "n0"); //Speed limit number
NexNumber n41 = NexNumber(4, 4, "n1"); //Revolution limit number
NexNumber n42 = NexNumber(4, 10, "n2"); //Launch control number
//Page 4 end
//Page 5 start (GPIO CHECK 1)
NexText t50 = NexText(5, 2, "t0"); //Arduino input check
NexText t51 = NexText(5, 3, "n1"); //Arduino output check
//Page 5 end
//Page 6 start (GPIO CHECK 2)
NexButton b60 = NexButton(6, 2, "b1"); //Back button
NexButton b61 = NexButton(6, 106, "b2"); //Next button
NexText t60 = NexText(6, 3, "t0"); //Input 1 (Valami)
//FOLYTATNI KELL!!!!
//Page 6 end
//Page 7 start (ERROR)
//Page 7 end
// Declare pages:
NexPage page0 = NexPage(0, 0, "Welcome"); // Page added as a touch event
NexPage page1 = NexPage(1, 0, "Login"); // Page added as a touch event
NexPage page2 = NexPage(2, 0, "Main"); // Page added as a touch event
NexPage page3 = NexPage(3, 0, "Menu"); // Page added as a touch event
NexPage page4 = NexPage(4, 0, "Limiter"); // Page added as a touch event
NexPage page5 = NexPage(5, 0, "GPIO Check 1"); // Page added as a touch event
NexPage page6 = NexPage(6, 0, "GPIO Check 2"); // Page added as a touch event
NexPage page7 = NexPage(7, 0, "Error"); // Page added as a touch event
NexPage page8 = NexPage(8, 0, "Emergency_page"); // Page added as a touch event
// End of declaring objects
char buffer[100] = {0}; // This is needed only if you are going to receive a text from the display. You can remove it otherwise.
// Further on this sketch I do receive text so that's why I created this buffer.
//Variable define
NexTouch *nex_listen_list[] =
{
&page0, // Page added as a touch event
&page1, // Page added as a touch event
&page2, // Page added as a touch event
&page3, // Page added as a touch event
&page4, // Page added as a touch event
&page5, // Page added as a touch event
&page6, // Page added as a touch event
&page7, // Page added as a touch event
&page8, // Page added as a touch event
NULL // String terminated
};
//Variable define END
// Page change event:
void page0PushCallback(void *ptr) // If page 0 is loaded on the display, the following is going to execute:
{
CurrentPage = 0; // Set variable as 0 so from now on arduino knows page 0 is loaded on the display
} // End of press event
// Page change event:
void page1PushCallback(void *ptr) // If page 1 is loaded on the display, the following is going to execute:
{
CurrentPage = 1; // Set variable as 1 so from now on arduino knows page 1 is loaded on the display
} // End of press event
// Page change event:
void page2PushCallback(void *ptr) // If page 2 is loaded on the display, the following is going to execute:
{
CurrentPage = 2; // Set variable as 2 so from now on arduino knows page 2 is loaded on the display
} // End of press event
// Page change event:
void page3PushCallback(void *ptr) // If page 3 is loaded on the display, the following is going to execute:
{
CurrentPage = 3; // Set variable as 3 so from now on arduino knows page 3 is loaded on the display
} // End of press event
// Page change event:
void page4PushCallback(void *ptr) // If page 4 is loaded on the display, the following is going to execute:
{
CurrentPage = 4; // Set variable as 4 so from now on arduino knows page 4 is loaded on the display
} // End of press event
// Page change event:
void page5PushCallback(void *ptr) // If page 5 is loaded on the display, the following is going to execute:
{
CurrentPage = 5; // Set variable as 5 so from now on arduino knows page 5 is loaded on the display
} // End of press event
// Page change event:
void page6PushCallback(void *ptr) // If page 6 is loaded on the display, the following is going to execute:
{
CurrentPage = 6; // Set variable as 6 so from now on arduino knows page 6 is loaded on the display
} // End of press event
// Page change event:
void page7PushCallback(void *ptr) // If page 7 is loaded on the display, the following is going to execute:
{
CurrentPage = 7; // Set variable as 7 so from now on arduino knows page 7 is loaded on the display
} // End of press event
// Page change event:
void page8PushCallback(void *ptr) // If page 8 is loaded on the display, the following is going to execute:
{
CurrentPage = 8; // Set variable as 8 so from now on arduino knows page 8 is loaded on the display
} // End of press event
////////////////////////// End of touch events
void setup() { // Put your setup code here, to run once:
Serial.begin(9600); // Start serial comunication at baud=9600
// I am going to change the Serial baud to a faster rate.
// The reason is that the slider have a glitch when we try to read it's value.
// One way to solve it was to increase the speed of the serial port.
delay(500); // This dalay is just in case the nextion display didn't start yet, to be sure it will receive the following command.
Serial.print("baud=115200"); // Set new baud rate of nextion to 115200, but it's temporal. Next time nextion is power on,
// it will retore to default baud of 9600.
// To take effect, make sure to reboot the arduino (reseting arduino is not enough).
// If you want to change the default baud, send the command as "bauds=115200", instead of "baud=115200".
// If you change the default baud, everytime the nextion is power ON is going to have that baud rate, and
// would not be necessery to set the baud on the setup anymore.
Serial.write(0xff); // We always have to send this three lines after each command sent to nextion.
Serial.write(0xff);
Serial.write(0xff);
Serial.end(); // End the serial comunication of baud=9600
Serial.begin(115200); // Start serial comunication at baud=115200
//Sending page ID
page0.attachPush(page0PushCallback); // Page press event
page1.attachPush(page1PushCallback); // Page press event
page2.attachPush(page2PushCallback); // Page press event
page3.attachPush(page3PushCallback); // Page press event
page4.attachPush(page4PushCallback); // Page press event
page5.attachPush(page5PushCallback); // Page press event
page6.attachPush(page6PushCallback); // Page press event
page7.attachPush(page7PushCallback); // Page press event
page8.attachPush(page8PushCallback); // Page press event
//Sending page ID END
} // End of setup
void loop() { // Put your main code here, to run repeatedly:
if(CurrentPage == 5) // If the display is on page 5, do the following:
{
Serial.print("t0.pco="); // Input colour
Serial.print(2016); // Green code
Serial.write(0xff); // We always have to send this three lines after each command sent to the nextion display.
Serial.write(0xff);
Serial.write(0xff);
Serial.print("t1.pco="); // Input colour
Serial.print(2016); // Green code
Serial.write(0xff); // We always have to send this three lines after each command sent to the nextion display.
Serial.write(0xff);
Serial.write(0xff);
delay(200); //For bugfix
}
nexLoop(nex_listen_list); // Check for any touch event
} // End of loop
Válaszokat köszönöm!
Miért nem a kontroller mondja meg a kijelzőnek, melyik oldalt mutassa? Így nem kellene ezt az adatot elkérni a kijelzőtől.
A kijelző a mester. Ő "parancsol" az Arduinonak.
Távol álljon tőlem az ítélkezés de szerintem egy alapvetően butább eszközt kinevezni mesternek, nem túl szerencsés. Az Ardunio témában valószínűleg előbb kapnál megoldást:
Arduino.
Köszönöm! Kiírtam oda is. Az tény,hogy az Arduino jóval okosabb a Nextion-hoz képest,viszont ebben az applikációban az Arduino egy "mezei" I/O kártya lesz 1-2 extrával.
Sziasztok! A segítségeteket szeretném kérni Arudino és Nextion közötti kommunikációval kapcsban. Arduinora való program feltelepítését csak úgy tudja a gép végrehajtani ha előtte a Nextion TX RX kábelét eltávolítjuk. Tudnátok-e benne segíteni, hogy hogyan lehet enélkül feltelepíteni az új programot? Köszönöm!
Szintillesztési probléma, alap modulnál az RX-TX-en van soros ellenállás és mivel ugye csak egy soros port van, a Nextion TX-e megfoghatja a uC RX-et. Nézd meg szkóppal, hogy legalább kb. TTL kompatibilis-e a jel, ami a uC-re jut. A kijelző RXD nem fogja meg, elég csak a kijelző TX leválasztása (remélhetően). USB/soros konverternél is van ilyen probléma ( CH340-es), nem képes elegendő áramot kiadni a 0-szinthez (én fél napot szenvedtem emiatt).
(#) |
wbt hozzászólása |
Júl 24, 2019 |
|
/ |
|
|
Ha már itt tartunk, valakinek van intelligent kijelzője? Tapasztalatok?
Üdv,
Jött egy komolyabb frissítés az editorra:
V0.58 Update List
- New Encoding support for: Shift-JIS
Design and Components:
- Layer based design
- Canvas zoom and extended canvas workspace
- Component locking
- new anti-aliased kerning proportional fonts
- New baudrates supported
- New Xfloat component
- New Switch ComboBox, SLText, GMov, Video, ExPicture
- Intelligent Series component enhancements
- page transitions, component runtime move and drag
- graphic transparency now supported
Instruction Enhancements
- Instructions now support optional CRC
- New runtime component move and drag
- Logical NOT, combined conditions, new Events
- 2 channel Audio support
Most tényleg sokat fejlődött az editor. Pl. könnyedén ki lehet íratni "float típusú" számokat, de a legjobb, hogy talán végre a font generátor normális betűket generál. Ráadásul a több soros text is támogatott. A hozzászólás módosítva: Júl 30, 2019
Kilépéskor a windows hibaüzenetet ad... "HMI működése leállt"
Ablak nevében, ha szóköz van akkor fordításkor hibaüzenetet ad.
Error:Invalid Variables: ablaknev_szokoz_elotti_resze( Double click to jump to code)
Újra fordítottam egy régebbi projektet, és egy darabig nem találtam, hogy milyen változót keres!
De a többi változás az tetszik!
Itt is hibával lép ki
Nekem régebbi, működő project hibával fordul... lesz itt még gyors javítás, remélem.
Error:Invalid Variables:h0.val( Double click to jump to code)
Error:Invalid Variables:n8.val( Double click to jump to code)
Mindig vannak gyerek betegségek, ezeket gyorsan szokták orvosolni, szerencsére
Ezeket senki nem próbálja ki publikálás előtt? Bár írják, hogy nem mindenben kompatibilis. Csak az a szívás, hogy behoztam egy régi projectet, na, leszimulálom, erre fordítja, hiba van, de felülírta a file-t, így a régi verzió sem tudja olvasni. Na, itt töröltem az egészet és visszalépés egy verzióval. Szóval vigyázni, legyen back-up!!! (milyen szerencse, hogy meg vannak a régebbi editor installok...)
Nem feltétlenül jön elő az összes hiba a fejlesztőknek. Ezért nem is láttam még olyan programot, ahol ne lett volna nyilvános béta.
Én pont e dolog véget őrzöm a gépemen az összes verzióját A hozzászólás módosítva: Aug 5, 2019
Sziasztok!
Csak nálam szórakozik, vagy másnál sem csinál semmit, ha a slider-t vertikálisra állítom?
Csak marad horizontális és kész.
|
|