Witam czytających - co Koledzy myślą, jakie mają doświadczenie z wyświetlaczami jak w tytule wątku. Znalazłem na Youtube tutoriale o tych wyświetlaczach i to po polsku
Na forum MCS Bartek w tym wątku opisuje komunikację dwustronna z lcd Nextion w Bascom'ie https://www.mcselec.com/index2.php?opti ... ht=nextion
pozdrawiam Jacek.
Wyświetlacze Nextion
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wyświetlacze Nextion
Witam - nie ma nikt z forum doświadczenia z tymi wyświetlaczami .
pozdrawiam Jacek.
pozdrawiam Jacek.
- pimowo
- Posty: 392
- Rejestracja: 28 maja 2016, 10:07
Re: Wyświetlacze Nextion
Wiem, że Bartek robił sterownik na takim wyświetlaczu (chwalił się tym w moim temacie o pH) Sam nie ma doświadczenia z tym wyświetlaczem - zakupiłem taki wyświetlacz, ale jeszcze go nie odpaliłem. W międzyczasie stwierdziłem, że w przyszłości jak powielę swój projekt sterownika akwarium to przez taki wyświetlacz będzie zbyt mocno rosła cena całego sterownika (temat jeszcze do przemyślenia)
Masz ten wyświetlacz czy chcesz go dopiero zakupić? Jeżeli już masz to pytaj o konkrety, a jeżeli jeszcze go nie masz to możesz coś na nim zrobić, nie mając go fizycznie - zacytuję Kolegę @niveasoft
Masz ten wyświetlacz czy chcesz go dopiero zakupić? Jeżeli już masz to pytaj o konkrety, a jeżeli jeszcze go nie masz to możesz coś na nim zrobić, nie mając go fizycznie - zacytuję Kolegę @niveasoft
niveasoft pisze: ↑31 sty 2020, 1:06No ja nawet Nextiona z pudełka nie wyciągam jak mam dla kogoś coś napisać bo to się tak nawet 40s potrafi flashować do niego Działam na wbudowanym symulatorze i to działa świetnie. Podłaczam Ardu Mega250 na dwa baty czyli na dwa COMy
Jeden mam do danych i debug a drugi niby komunikuje się z Nextionem a komputer świetnie go udaje.
Tak więc można sobie napisać i zobaczyć soft zanim jeszcze kupisz wyświetlacz
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wyświetlacze Nextion
Witam - wyświetlacza jeszcze nie mam, rozważam kupno ciekawi mnie czy to co opisał Bartek na forum MCS działa poprawnie.
Myślałem nad kupnem wyświetlacza 4Dsystems ale ta cena..... .
Nie robię projektu na zarobek tylko dla siebie czysto hobbystycznie .
Może Bartek by coś napisał jak to testuje symulując lcd.
Dzięki za odzew pozdrawiam Jacek.
Myślałem nad kupnem wyświetlacza 4Dsystems ale ta cena..... .
Nie robię projektu na zarobek tylko dla siebie czysto hobbystycznie .
Może Bartek by coś napisał jak to testuje symulując lcd.
Dzięki za odzew pozdrawiam Jacek.
- pimowo
- Posty: 392
- Rejestracja: 28 maja 2016, 10:07
Re: Wyświetlacze Nextion
Ja również robię dla siebie, ale jak zrobię dwa, może trzy sterowniki to dobre 300zl idzie tylko na same wyświetlacze.Jacek pisze:Nie robię projektu na zarobek tylko dla siebie czysto hobbystycznie
Zacytowałem Bartka, a tam jest napisane co i jak robiłJacek pisze:Może Bartek by coś napisał jak to testuje symulując lcd.
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wyświetlacze Nextion
Witam - hi właśnie coś klece w edytorze Nextion'a - poszukam tego tematu - muszę zobaczyć jak wysyłać dane na lcd i jak odbierać z niego jak coś już zrobię sensownego to tutaj wstawię.
pozdrawiam Jacek.
P.S. oglądałem ten film który Bartek umieścił w Twoim temacie bardzo fajnie to wyszło - szkoda że nie umieścił kodu Bascoma - idę po insulinę.
pozdrawiam Jacek.
pozdrawiam Jacek.
P.S. oglądałem ten film który Bartek umieścił w Twoim temacie bardzo fajnie to wyszło - szkoda że nie umieścił kodu Bascoma - idę po insulinę.
pozdrawiam Jacek.
- niveasoft
- Posty: 1239
- Rejestracja: 17 sie 2015, 12:13
- Kontakt:
Re: Wyświetlacze Nextion
Nie pamiętam czy na MCS wstawiłem jakiś kod. Mogę coś wyciąć z gotowego kodu, żeby pokazać jak wysyłać i odbierać komendy, ale to się najlepiej objaśnia na przykładzie, a całego kodu zamieścić nie mogę. Nextiona trzeba trochę "poczytać". Komendy z AVR`a muszą pasować do softu w wyświetlaczu, czyli jak wysyłam "ID tekstu + Enter + Text + Enter" to Nextion musi wiedzieć który to jest ten text po tym ID.
Same Sub`y są proste tylko to potem trzeba zgrać...Tu jeszcze stary Printbin nie miał ilości bajtów do wysłania więc robiłem to w Asm na piechotę. Teraz jest łatwiej.
Tak Nextion odpowiada.
Stałe dla rozeznania się w komandach
Same Sub`y są proste tylko to potem trzeba zgrać...Tu jeszcze stary Printbin nie miał ilości bajtów do wysłania więc robiłem to w Asm na piechotę. Teraz jest łatwiej.
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- Sub Set_text(byval Txt_id As String * 12 , Byval New_txt As String * 29)
- Tx_string = Txt_id + ".txt={034}" + New_txt + "{034}"
- Tx_len = Len(tx_string)
- 'Debug #usb , Tx_string
- 'Printbin #nex , Nex_tx_buff(1) , Tx_len
- Printit
- Nexend
- End Sub
- Sub Set_page(byval Page_nr As Byte)
- Tx_string = "page " + Str(page_nr)
- Tx_len = Len(tx_string)
- Debug #usb , Tx_string
- 'Printbin #nex , Nex_tx_buff(1) , Tx_len
- Printit
- Nexend
- Actual_page = Page_nr
- End Sub
- Sub Send_command(byval New_cmd As String * 29)
- Tx_string = New_cmd
- Tx_len = Len(tx_string)
- Debug #usb , Tx_string
- 'Printbin #nex , Nex_tx_buff(1) , Tx_len
- Printit
- Nexend
- End Sub
- Sub Printit()
- 'Printbin Nex_tx_buff(1) , Tx_len
- R19 = Tx_len
- Loadadr Nex_tx_buff(1) , X
- St_point:
- !LD R24, X+
- Wait_for_empty:
- !LDS R0, UCSR1A '1 for second USART
- !SBRS R0, UDRE1
- !RJMP Wait_for_empty
- !STS UDR1, R24 '1 for second USART
- !DEC R19
- !BRBC 1,St_point
- End Sub
- Macro Nexend 'to end a tx sequence--------------------------
- Nex_tx_buff(1) = &HFF
- Nex_tx_buff(2) = &HFF
- Nex_tx_buff(3) = &HFF
- Tx_len = 3
- Printit
- 'Printbin #nex , &HFF ; &HFF ; &HFF
- End Macro
- Macro Nexq ' to send quote before or after a sentence---------
- Nex_tx_buff(1) = &H22
- Tx_len = 1
- Printit
- 'Printbin &H22
- End Macro
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- '--[ USART1 COM2 NEXTION ]---------------------
- If 0 < Ischarwaiting(#nex) Then
- Incr Nex_idx : If Nex_idx > Max_nex_command_len Then Nex_idx = 1 'zabezpieczenie
- Nex_buff(nex_idx) = Waitkey(#nex)
- If Nex_idx = 1 Then 'check what type of msg we receiving
- Select Case Nex_buff(1)
- Case 0
- 'it can be 4bytes Invalid_instruction
- 'or 6 bytes Nextion_startup (may be after reset)
- Min_len = 1
- Case Touch_event
- Min_len = 4
- Case Touch_awake_coordinate '9 bytes
- Min_len = 6
- Case Touch_sleep_coordinate '9 bytes
- Min_len = 6
- Case String_data 'it will be string with variable len
- Min_len = 2
- Case Numeric_data 'there can be FF`s so we must wait for 8 bytes
- Min_len = 5
- Case Else
- Min_len = 1 'rest of return`s have one byte followed three FF`s
- End Select
- Else
- 'msg continue
- If Nex_buff(nex_idx) = &HFF Then
- If Nex_idx > Min_len Then
- If End_cnt < 2 Then
- Incr End_cnt
- Else 'we received third FF
- ' '-----------------------------[ DEBUG ]----------
- ' Debug #usb , "Debug=> ";
- ' For N = 1 To Nex_idx
- ' Debug #usb , Hex(nex_buff(n)) ; " ";
- ' Next
- ' Debug #usb , ""
- ' '------------------------------------------------
- 'parse
- Select Case Nex_buff(1)
- Case Invalid_instruction
- If Nex_idx = 4 Then
- Debug #usb , "Invalid instruction!"
- Elseif Nex_idx = 6 Then
- Debug #usb , "Nextion rebooted OK"
- End If
- Case Instruction_okay
- Debug #usb , "Command accepted"
- Case Invalid_variable_name
- Debug #usb , "Variable or component NAME not recognized!"
- Case Touch_event
- If Touch_state = 0 Then
- Debug #usb , "Relased object " ; Touch_id ; " on page " ; Touch_page
- Else
- Debug #usb , "Pressed object " ; Touch_id ; " on page " ; Touch_page
- End If
- Case Touch_awake_coordinate To Touch_sleep_coordinate
- Swap New_x 'big endian order received
- Swap New_y
- Debug #usb , "Coordinates are: X=" ; New_x ; " Y=" ; New_y
- Case String_data
- Helpb = Nex_idx - 2
- Nex_buff(helpb) = 0 'add string terminator
- 'Debug #usb , "New string=> " ; New_string
- Debug #usb , New_string
- 'you can parse new commands here
- Case Numeric_data
- Debug #usb , "New value=> " ; New_long
- 'you can parse new values here
- End Select
- Nex_idx = 0
- End_cnt = 0
- End If
- End If
- End If
- End If
- End If
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- '*****************************************************************
- '* NEXTION DISPLAY *
- '*****************************************************************
- 'NEXTION RETURN DATA LENGTH
- Const Invalid_instruction = &H00 '4
- Const Instruction_okay = &H01 '4
- Const Invalid_component_id = &H02 '4
- Const Invalid_page_id = &H03 '4
- Const Invalid_picture_id = &H04 '4
- Const Invalid_font_id = &H05 '4
- Const Invalid_file_operation = &H06 '4
- Const Invalid_crc = &H09 '4
- Const Invalid_baud_rate = &H11 '4
- Const Invalid_vaweform_id = &H12 '4
- Const Invalid_variable_name = &H1A '4
- Const Invalid_variable_operation = &H1B '4
- Const Assignement_failed = &H1C '4
- Const Eeprom_operation_failed = &H1D '4
- Const Invalid_parameters_quantity = &H1E '4
- Const Io_operation_failed = &H1F '4
- Const Escape_char_invalid = &H20 '4
- Const Variable_name_to_long = &H23 '4
- 'return codes valid in all cases
- '00 00 00 FF FF FF =>Nextion starup '6
- Const Serial_buff_overflow = &H24 '4
- Const Touch_event = &H65 '7
- ' 65 00 01 01 FF FF FF
- ' | | | |
- ' | | | event 01=press, 00=release
- ' | | component ID
- ' | page number
- ' touch event
- Const Curr_page_num = &H66 '5 second byte is page num
- Const Touch_awake_coordinate = &H67 '9
- Const Touch_sleep_coordinate = &H68
- 'first two bytes is X
- 'next two bytes is Y
- 'last byte is event 01=press, 00=release
- 'eg. 67 00 7A 00 1E 01 FF FF FF
- Const String_data = &H70 'varied len eg.70 xx xx xx xx xx xx FF FF FF
- Const Numeric_data = &H71 '8 eg.71 xx xx xx xx FF FF FF <-4bytes 32bit value, little endian
- Const Auto_sleep = &H86 '4
- Const Auto_awake = &H87 '4
- Const Nextion_ready = &H88 '4
- Const Micro_sd_upgrade = &H89 '4
- Const Transp_data_finished = &HFD '4
- Const Transp_data_ready = &HFE '4
- Jacek
- Posty: 384
- Rejestracja: 25 kwie 2016, 19:14
Re: Wyświetlacze Nextion
Witam - Bartku dziękuje za programy przez święta po testuje i zobaczymy czy to ogarnę.
pozdrawiam Jacek.
pozdrawiam Jacek.
- Pikczu
- Posty: 392
- Rejestracja: 17 sie 2015, 13:46
- Lokalizacja: Dublin, Ireland
- Kontakt:
Re: Wyświetlacze Nextion
Jacek,
Mały kurs nextiona po Niemiecku.
https://www.boecker-systemelektronik.de ... _Tutorials
Google translate będzie twoim przyjacielem
Mały kurs nextiona po Niemiecku.
https://www.boecker-systemelektronik.de ... _Tutorials
Google translate będzie twoim przyjacielem