weer een uitdaging utft druk sensor laten werken
12 berichten
• Pagina 1 van 2 • 1, 2
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
weer een uitdaging utft druk sensor laten werken
goededag,
ik heb hulp nodig bij het volgende
ik heb een druk meter die ik wil verwerken in een 3,2 inch tft touch
ik heb hier al knoppen in zitten die werken nu wil ik in dezelfde page een druk sensor plaatsen in bar ik heb al uitgezocht hoe mijn sensor werkt dit is met de volgende code
php code
dit script werkt maar nu wil ik die pressure weergeven in de tft alleen als ik hem plaats in het script
php code
iemand hier die me hiermee kan helpen dit werkend te krijgen
btw als ik een delay toevoeg om de waarde pressure te laten verversen krijg ik dat me touch gaat knipperen dus hier ben ik ook op zoek naar een goede oplossing
ik heb hulp nodig bij het volgende
ik heb een druk meter die ik wil verwerken in een 3,2 inch tft touch
ik heb hier al knoppen in zitten die werken nu wil ik in dezelfde page een druk sensor plaatsen in bar ik heb al uitgezocht hoe mijn sensor werkt dit is met de volgende code
php code
int rawValue; // A/D readings
int offset = 95; // zero pressure adjust
int fullScale = 807; // max pressure (span) adjust
float pressure; // final pressure
void setup() {
Serial.begin(9600);
}
void loop() {
rawValue = analogRead(A0);
pressure = (rawValue - offset) * 7.9 / (fullScale - offset); // pressure conversion
Serial.print(" The pressure is ");
Serial.print(pressure, 2); //
Serial.println(" BAR");
delay(500);
}
dit script werkt maar nu wil ik die pressure weergeven in de tft alleen als ik hem plaats in het script
php code
if ((x>160) && (x<180) && (y>10) && (y<30)) // button: + ALL
{
digitalWrite(up, LOW);
delay(200);
digitalWrite(up, HIGH);
}
{
myGLCD.print(pressure, 2),40 ,100);
}
iemand hier die me hiermee kan helpen dit werkend te krijgen
btw als ik een delay toevoeg om de waarde pressure te laten verversen krijg ik dat me touch gaat knipperen dus hier ben ik ook op zoek naar een goede oplossing
Advertisement
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
Re: weer een uitdaging utft druk sensor laten werken
dit is wat hij aangeeft als fout
menu_werkend.ino: In function 'void loop()':
menu_werkend:288: error: no matching function for call to 'UTFT::print(float&, int, int, int)'
menu_werkend.ino:288:36: note: candidates are:
In file included from menu_werkend.ino:1:0:
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:215:8: note: void UTFT::print(char*, int, int, int)
void print(char *st, int x, int y, int deg=0);
^
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:215:8: note: no known conversion for argument 1 from 'float' to 'char*'
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:216:8: note: void UTFT::print(String, int, int, int)
void print(String st, int x, int y, int deg=0);
^
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:216:8: note: no known conversion for argument 1 from 'float' to 'String'
no matching function for call to 'UTFT::print(float&, int, int, int)'
menu_werkend.ino: In function 'void loop()':
menu_werkend:288: error: no matching function for call to 'UTFT::print(float&, int, int, int)'
menu_werkend.ino:288:36: note: candidates are:
In file included from menu_werkend.ino:1:0:
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:215:8: note: void UTFT::print(char*, int, int, int)
void print(char *st, int x, int y, int deg=0);
^
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:215:8: note: no known conversion for argument 1 from 'float' to 'char*'
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:216:8: note: void UTFT::print(String, int, int, int)
void print(String st, int x, int y, int deg=0);
^
C:\Users\asus\Documents\Arduino\libraries\UTFT/UTFT.h:216:8: note: no known conversion for argument 1 from 'float' to 'String'
no matching function for call to 'UTFT::print(float&, int, int, int)'
Re: weer een uitdaging utft druk sensor laten werken
hij zegt dat de print een char* moeten zijn en geen float.
The "problem" is that the UTFT class you are using is pretty dumb. It does not know how to print a float. So, you must convert the float to a string first, using dtostrf().
Another solution would be to try reading the manual (included in the UTFT download) where one can find useful information, like how to print floats with printNumF()...
ofwel je moet in de tft library kijken hoe je een float kunt printen.
The "problem" is that the UTFT class you are using is pretty dumb. It does not know how to print a float. So, you must convert the float to a string first, using dtostrf().
Another solution would be to try reading the manual (included in the UTFT download) where one can find useful information, like how to print floats with printNumF()...
ofwel je moet in de tft library kijken hoe je een float kunt printen.
paul deelen
shooter@home.nl
shooter@home.nl
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
Re: weer een uitdaging utft druk sensor laten werken
nu heb ik dit even snel in elkaar gezet en het werkt wel maar op het serieel scherm krijg ik de waarde wel in 4 characters alleen op display maar in 1
als ik bijvoorbeeld 1.594 bar heb krijg ik op tft 1
hoe krijg ik die 2 of 3 characters na de 1 er ook bij
ik heb het volgende geprobeerd zoals in utft.h staat
myGLCD.printNumF(pressure,2,50,50);
dan krijg ik op tft 1 00 die nullen blijven zo
php code
als ik bijvoorbeeld 1.594 bar heb krijg ik op tft 1
hoe krijg ik die 2 of 3 characters na de 1 er ook bij
ik heb het volgende geprobeerd zoals in utft.h staat
myGLCD.printNumF(pressure,2,50,50);
dan krijg ik op tft 1 00 die nullen blijven zo
php code
#include <UTFT.h>
extern uint8_t BigFont[];
UTFT myGLCD(ITDB32S,38,39,40,41);
int rawValue; // A/D readings
int offset = 95; // zero pressure adjust
int fullScale = 807; // max pressure (span) adjust
float pressure; // final pressure
void setup()
{
Serial.begin(9600);
myGLCD.InitLCD();
myGLCD.clrScr();
myGLCD.setBackColor(50, 50, 50);
}
void loop(){
rawValue = analogRead(A0);
pressure = (rawValue - offset) * 7.9 / (fullScale - offset);
Serial.print(pressure, 2);
int rawValue = analogRead(A0);
int pressure = (rawValue - offset) * 7.9 / (fullScale - offset);
myGLCD.setFont(BigFont);
myGLCD.printNumF(pressure,50,50);
delay(100);
}
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: weer een uitdaging utft druk sensor laten werken
Dan moet je van pressure ook geen int maken in de loop. Je moet er een float van maken....... Of nog beter je haalt die beide regels van int rawValue en int pressure weg. Je hebt de waardes immers al berekend
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
Re: weer een uitdaging utft druk sensor laten werken
ok nico bedankt voor je reactie zou je me een voorbeeld kunnen geven hoe ik de opbouw dan moet maken ?
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
Re: weer een uitdaging utft druk sensor laten werken
ok bedankt voor je reactie ik ga ermee aan de slag je hoort nog van me alvast bedankt
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
Re: weer een uitdaging utft druk sensor laten werken
als ik hem zo maak blijft het hetzelfde 1 character
php code
en als ik de regels rawvalue en pressure weghaal komt de meter op 0 te staan en werkt hij helemaal niet meer
php code
rawValue = analogRead(A0);
pressure = (rawValue - offset) * 7.9 / (fullScale - offset);
myGLCD.setFont(BigFont);
myGLCD.printNumI(pressure,50,50);
en als ik de regels rawvalue en pressure weghaal komt de meter op 0 te staan en werkt hij helemaal niet meer
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
Re: weer een uitdaging utft druk sensor laten werken
ik heb hem gevonden het moest dit zijn
php code
php code
rawValue = analogRead(A0);
pressure = (rawValue - offset) * 7.9 / (fullScale - offset);
myGLCD.setFont(BigFont);
myGLCD.printNumF(pressure,2,50,50);
- dongolfcabrio
- Berichten: 46
- Geregistreerd: 07 Jan 2016, 23:29
- Woonplaats: arnhem city
Re: weer een uitdaging utft druk sensor laten werken
het volgende als ik dit verwerk in mijn touchscreen script gaan al mijn poorten knipperen zodra ik op de touch de poort aanstuur hoe kan dit ik heb geen delay gebruikt en hoe los ik dit op
SVP code2=cpp gebruiken ipv code2=php. Dit maakt heel verwarrend. php code is iets anders
cpp code
SVP code2=cpp gebruiken ipv code2=php. Dit maakt heel verwarrend. php code is iets anders
cpp code
rawValue = analogRead(A0);
pressure = (rawValue - offset) * 7.9 / (fullScale - offset);
myGLCD.setFont(BigFont);
myGLCD.setColor(RED);
myGLCD.printNumF(pressure,1,40,175);
if ((x>160) && (x<180) && (y>10) && (y<30)) // button: + ALL
{
digitalWrite(up, LOW);
delay(200);
digitalWrite(up, HIGH);
}
12 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 43 gasten