weer een uitdaging utft druk sensor laten werken

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 14 Feb 2016, 20:23

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
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

Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 14 Feb 2016, 20:27

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)'

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor shooter » 14 Feb 2016, 22:56

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.
paul deelen
shooter@home.nl

Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 15 Feb 2016, 23:16

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
#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);



}

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor nicoverduin » 15 Feb 2016, 23:25

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
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 15 Feb 2016, 23:29

ok nico bedankt voor je reactie zou je me een voorbeeld kunnen geven hoe ik de opbouw dan moet maken ?

Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 15 Feb 2016, 23:50

ok bedankt voor je reactie ik ga ermee aan de slag je hoort nog van me alvast bedankt

Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 16 Feb 2016, 15:30

als ik hem zo maak blijft het hetzelfde 1 character



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

Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 16 Feb 2016, 15:32

ik heb hem gevonden het moest dit zijn

php code
rawValue = analogRead(A0);
pressure = (rawValue - offset) * 7.9 / (fullScale - offset);
myGLCD.setFont(BigFont);
myGLCD.printNumF(pressure,2,50,50);

Berichten: 46
Geregistreerd: 07 Jan 2016, 23:29
Woonplaats: arnhem city

Re: weer een uitdaging utft druk sensor laten werken

Berichtdoor dongolfcabrio » 16 Feb 2016, 15:45

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
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);
}

Volgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 43 gasten