Nextion display code via arduino usb uploaden.
9 berichten
• Pagina 1 van 1
- KlaasdeVries
- Berichten: 14
- Geregistreerd: 09 Mrt 2019, 14:31
Nextion display code via arduino usb uploaden.
Ik heb een nextion display aangesloten op pin 12 en 13 van de arduino. Nu wil ik de code van de nextion updaten via de usb/seriële poort van de arduino. Ik heb hiervoor de volgende code in de arduino geladen:
Alleen dit werkt jammer genoeg niet. Is dit überhaupt mogelijk en zo ja hoe?
- Code: Alles selecteren
#include <SoftwareSerial.h>
SoftwareSerial nexSerial(13,12);
void setup() {
// initialize both serial ports:
Serial.begin(9600);
nexSerial.begin(9600);
}
void loop() {
// read from nexSerial, send to Serial:
int inByte1 = nexSerial.read();
Serial.write(inByte1);
// read from Serial, send to nexSerial:
int inByte2 = Serial.read();
nexSerial.write(inByte2);
}
Alleen dit werkt jammer genoeg niet. Is dit überhaupt mogelijk en zo ja hoe?
Advertisement
Re: Nextion display code via arduino usb uploaden.
Je gaat me toch niet vertellen dat je net zo dom bent als ik, door het in een kastje in te bouwen en je niet meer bij de Nextion connector kunt ?
Het kan met een Arduino Uno, maar het lukt nauwelijks en het duurt lang.
Zet de Nextion Editor bij het uploaden op 9600.
Ik gebruik niet de SoftwareSerial, maar de AltSoftSerial. Die heeft vast pinnen voor RX en TX. Ik gebruik 38400 baud. Dat is lastig voor elkaar te krijgen, dus je kunt beter op 9600 baud blijven. Het uploaden heb ik in mijn normale sketch verwerkt. Met een knop op het scherm zet ik de Arduino klaar voor het uploaden. Mijn loop() is dus te langzaam, daarom heb ik die vier regels code in een "while(true)" loop.
Het kan met een Arduino Uno, maar het lukt nauwelijks en het duurt lang.
- Code: Alles selecteren
void loop()
{
if( Serial.available())
nexSerial.write( Serial.read());
if( nexSerial.available())
Serial.write( nexSerial.read());
}
Zet de Nextion Editor bij het uploaden op 9600.
Ik gebruik niet de SoftwareSerial, maar de AltSoftSerial. Die heeft vast pinnen voor RX en TX. Ik gebruik 38400 baud. Dat is lastig voor elkaar te krijgen, dus je kunt beter op 9600 baud blijven. Het uploaden heb ik in mijn normale sketch verwerkt. Met een knop op het scherm zet ik de Arduino klaar voor het uploaden. Mijn loop() is dus te langzaam, daarom heb ik die vier regels code in een "while(true)" loop.
- KlaasdeVries
- Berichten: 14
- Geregistreerd: 09 Mrt 2019, 14:31
Re: Nextion display code via arduino usb uploaden.
Gelukkig ben ik dus niet de enigeKoepel schreef:Je gaat me toch niet vertellen dat je net zo dom bent als ik, door het in een kastje in te bouwen en je niet meer bij de Nextion connector kunt ?
Ik heb het nu met jouw stukje code geprobeerd. Maar krijg hierbij dezelfde melding van nextion: Connection failed Forced interrupt!
[edit]
Als ik vanuit de serial monitor zelf een connect stuur krijg ik netjes antwoord terug (comok 1,37697-0,NX3224T024_011R,99...... etc). Software in de arduino werkt dus. Alleen de nextion sofware ziet de verbinding niet.
Re: Nextion display code via arduino usb uploaden.
Heb je in de Nextion Editor bij het uploaden de baudrate ingesteld ?
De Nextion Editor doet een paar testen waarbij de timing belangrijk is. Dat ik het werkend kreeg is meer geluk dan wijsheid.
Kun je AltSoftSerial proberen ?
Dan zit de TX op pin 9, en RX op pin 8, en de PWM op pin 10 is niet meer te gebruiken (bij een Arduino Uno).
Timer1 wordt gebruikt, dus andere bibliotheken kunnen niet meer Timer1 gebruiken.
Als je pin 8 en 9 niet gebruikt dan mag je 12 en 13 met 8 en 9 verbinden. Dan kun je ofwel 12 en 13 gebruiken, ofwel 8 en 9. Zolang de ongebruikte pinnen ook echt nooit gebruikt worden.
De SoftwareSerial heeft problemen dat binnenkomende data de uitgaande data kan verstoren. Misschien dat ook de SoftwareSerial beter werkt met 38400 baud.
Eventueel kan ik mijn stukje code opzoeken waarbij ik na veel proberen de baudrate heb kunnen verhogen naar 38400 (met AltSoftSerial).
De Nextion Editor doet een paar testen waarbij de timing belangrijk is. Dat ik het werkend kreeg is meer geluk dan wijsheid.
Kun je AltSoftSerial proberen ?
Dan zit de TX op pin 9, en RX op pin 8, en de PWM op pin 10 is niet meer te gebruiken (bij een Arduino Uno).
Timer1 wordt gebruikt, dus andere bibliotheken kunnen niet meer Timer1 gebruiken.
Als je pin 8 en 9 niet gebruikt dan mag je 12 en 13 met 8 en 9 verbinden. Dan kun je ofwel 12 en 13 gebruiken, ofwel 8 en 9. Zolang de ongebruikte pinnen ook echt nooit gebruikt worden.
De SoftwareSerial heeft problemen dat binnenkomende data de uitgaande data kan verstoren. Misschien dat ook de SoftwareSerial beter werkt met 38400 baud.
Eventueel kan ik mijn stukje code opzoeken waarbij ik na veel proberen de baudrate heb kunnen verhogen naar 38400 (met AltSoftSerial).
- KlaasdeVries
- Berichten: 14
- Geregistreerd: 09 Mrt 2019, 14:31
Re: Nextion display code via arduino usb uploaden.
Ja ik heb de Nextion Editor ingesteld op 9600. Maar desondanks gaat hij toch nog verschillende snelheden testen. En AltSoftSerial proberen zal moeilijk gaan. Alle pin zijn in gebruik. En de arduino zit op een print gesoleerd. Dus even een draadje omzetten gaat ook niet. Ik heb het mijzelf dus knap lastig gemaakt
Ik heb alle snelheden al geprobeerd. En 9600 was de enige waarbij ik ook werkelijk de connection string te zien kreeg met de serial monitor. De Nextion Editor reageerde helaas op geen van de snelheden.
Ik heb alle snelheden al geprobeerd. En 9600 was de enige waarbij ik ook werkelijk de connection string te zien kreeg met de serial monitor. De Nextion Editor reageerde helaas op geen van de snelheden.
Re: Nextion display code via arduino usb uploaden.
Dat wordt lastig.
Er is nog een derde mogelijkheid: https://github.com/SlashDevin/NeoSWSerial.
Heb je een Arduino Uno?
Kun je pin 0 en 1 tijdelijk verbinden met 12 en 13 ? Dan zou je de ATmega328P kunnen uitschakelen met een lege setup() en lege loop() functie en alleen de usb-serial chip van de Arduino Uno gebruiken.
Er is nog een derde mogelijkheid: https://github.com/SlashDevin/NeoSWSerial.
Heb je een Arduino Uno?
Kun je pin 0 en 1 tijdelijk verbinden met 12 en 13 ? Dan zou je de ATmega328P kunnen uitschakelen met een lege setup() en lege loop() functie en alleen de usb-serial chip van de Arduino Uno gebruiken.
- KlaasdeVries
- Berichten: 14
- Geregistreerd: 09 Mrt 2019, 14:31
Re: Nextion display code via arduino usb uploaden.
Weet zo niet of dat ook voor een mega gaat werken. Zal het eens proberen. En als het niet werkt heb ik alvast een Micro SD Card Extender besteld
In ieder geval bedankt voor de hulp.
In ieder geval bedankt voor de hulp.
Re: Nextion display code via arduino usb uploaden.
Heb je een Arduino Mega 2560 board ?
Die heeft drie extra hardware seriële poorten. Als je die pinnen voor het Nextion display had gebruikt dan had je al die problemen met een softwarematige seriële poort niet gehad.
Die heeft drie extra hardware seriële poorten. Als je die pinnen voor het Nextion display had gebruikt dan had je al die problemen met een softwarematige seriële poort niet gehad.
- KlaasdeVries
- Berichten: 14
- Geregistreerd: 09 Mrt 2019, 14:31
Re: Nextion display code via arduino usb uploaden.
Ja dat was het eerste foutje. Ik heb een teken foutje maakt in het print ontwerp. In plaats van 14 en 15 heb ik niet goed geteld en het aangesloten op 12 en 13
Maar gelukkig was dit softwarematig op te lossen. En dat had ik eigenlijk ook gehoopt met het display. En dat had eigenlijks ook moeten werken. Want als ik alle opdrachten (https://nextion.itead.cc/2017/12/08/nex ... ocol-v1-1/) in de serial monitor uitvoer werkt het ook. Alleen de upload optie van nextion kan er blijkbaar niet mee overweg.
Maar gelukkig was dit softwarematig op te lossen. En dat had ik eigenlijk ook gehoopt met het display. En dat had eigenlijks ook moeten werken. Want als ik alle opdrachten (https://nextion.itead.cc/2017/12/08/nex ... ocol-v1-1/) in de serial monitor uitvoer werkt het ook. Alleen de upload optie van nextion kan er blijkbaar niet mee overweg.
9 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten