int naar 1 decimaal getal hoe?
5 berichten
• Pagina 1 van 1
int naar 1 decimaal getal hoe?
Hallo allemaal,
ik heb een flessenvul project opgesnort op inet
stel het aantal centiliters invia druktoetsen op lcdshield en druk start arduino zet relais open en pomp wordt voor bepaalde tijd gestart.
werkt met lcd shield en werkt goed na wat aanpassingen.
nu zou ik het mooi vinden als ik dat in kan stellen met 1 getal achter de komma
heb al gekeken bij float sprint etc etc maar kom er niet uit..
erg bedankt voor meedenken alvast
gr Edwin
ik heb een flessenvul project opgesnort op inet
stel het aantal centiliters invia druktoetsen op lcdshield en druk start arduino zet relais open en pomp wordt voor bepaalde tijd gestart.
werkt met lcd shield en werkt goed na wat aanpassingen.
nu zou ik het mooi vinden als ik dat in kan stellen met 1 getal achter de komma
heb al gekeken bij float sprint etc etc maar kom er niet uit..
- Code: Alles selecteren
/*==========================================================================
Author : Fahmi Ghani
Project : Test Peristaltic pump
Date : 20 Sept 2014
Video :https://www.youtube.com/watch?v=GdTUIwj5ros
Hardware : Arduino Uno, LCD keypad shield. ULN2003(for switching motor)
==========================================================================*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,4,5,6,7);
int keypad_pin = A0;
int Keypad_value = 0;
int Keypad_value_old = 0;
char Btn_push;
int Pump1 = 1;
int volume = 10;
int volumeOld = 10;
int Pump1State =0;
int MenuPage =1;
int MenuPageOld =1;
long previousMillis = 0;
unsigned long currentMillis ;
long interval = 1000;
unsigned long multiplier = 1000; //value to change based on calibration
//multiplier = milliseconds needed to fill 1cl liquid
void setup()
{
lcd.begin(16,2); //Initialize a 2x16 type LCD
pinMode(Pump1, OUTPUT);
pinMode(10, OUTPUT);
analogWrite(10,50);
lcd.print(" Flesvuller");
lcd.setCursor(0,1);
lcd.print(" versie 1.0");
delay(5000);
lcd.clear();
MenuDisplay(MenuPage);
analogWrite(10,50);
delay(1000);
}
void loop()
{
Btn_push = ReadKeypad();
//Change menu
if(Btn_push == 'L') MenuPage =1;
if(Btn_push == 'R') MenuPage =2;
if(MenuPage != MenuPageOld)
{
MenuDisplay(MenuPage);
MenuPageOld = MenuPage;
}
if(MenuPage ==1)
{
if(Btn_push == 'U' && volume <100)
volume+=0.1;
if(Btn_push == 'D'&& volume>0)
volume-=0.1;
if(volumeOld != volume)//update lcd when got new volume
{
lcd.setCursor(2,1);
lcd.print(volume);
lcd.print(" Cl");
volumeOld = volume;
}
if(Btn_push == 'S' )
{
RunPump(volume);
MenuDisplay();
}
}
if(MenuPage ==2)
{
if(Btn_push == 'S')
{
if(!Pump1State )
{
digitalWrite(Pump1,1);
lcd.setCursor(0,1);
lcd.print("Pomp draaid");
Pump1State =1;
}
else
{
digitalWrite(Pump1,0);
lcd.setCursor(0,1);
lcd.print("Pomp Stop");
Pump1State =0;
}
delay(100);
}
}
delay(200);
}//--------------- End of loop() loop ---------------------
void MenuDisplay(int page)
{
switch (page)
{
case 1:
lcd.clear();
lcd.print("Volume:");
lcd.setCursor(2,1);
lcd.print(volume);
lcd.print(" Cl");
break;
case 2:
lcd.clear();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Spoelen");
break;
}
}
void RunPump(unsigned long Cl)
{
previousMillis = millis();
currentMillis = previousMillis;
interval = Cl *multiplier;
digitalWrite(Pump1,1);
lcd.setCursor(2,1);
lcd.print(" Cl");
while( < interval)
{
currentMillis = millis();
lcd.setCursor(0, 1);
lcd.print(()/1000);
}
lcd.setCursor(0, 1);
lcd.print(()/1000);
digitalWrite(Pump1,0);
delay(1000);
}
char ReadKeypad()
{
/* Keypad button analog Value
no button pressed 1023
select 741
left 503
down 326
up 142
right 0
*/
Keypad_value = analogRead(keypad_pin);
if(Keypad_value < 100)
return 'R';
else if(Keypad_value < 200)
return 'U';
else if(Keypad_value < 400)
return 'D';
else if(Keypad_value < 600)
return 'L';
else if(Keypad_value < 800)
return 'S';
else
return 0;
}
erg bedankt voor meedenken alvast
gr Edwin
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: int naar 1 decimaal getal hoe?
Dan moet je van voluem en oldvolume een float maken. Nu staat er een int
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: int naar 1 decimaal getal hoe?
Nee hoor.... Je slaat allerlei tutorials kennelijk over en ga je basiskennis/ervaring ontberen.....edensan schreef:Super bedankt werkt mooi
soms denk ik te moeilijk ....
5 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: adosape, aquazesa, epionpkuhalu, ukibiddoliooj en 34 gasten