stevela
Regular.
===================================================
Latest code (Working Branch): Click Here
Stable v1:Click Here
===================================================
I've decided it is time to do something about my inability to count the number of two liter flasks I empty into my HLT and try and build a flow sensor. With that in mind I've ordered a few bits and pieces cheap off eBay which have finally arrived!
SainSmart UNO R3 Starter Board (£9.99)
YF-S201 flow sensor (£4.35)
SainSmart LCD1602 (£2.64)
Above you can see the display connected to the Arduino and running, unfortunately when I run the sample code from here to test the keypad it does not appear to pick up the select button. Modified the code as below to try and track the problem down but still get no output:
Probably just a duff LCD (for £3 shipped from China I wasn't expecting much) and for the moment the display works fine which is all I need.
Next step, find a spec sheet for the flow sensor to see how it needs to be wired up and figure out how I calculate flow from the output of the sensor.
I haven't done anything like this for a very long time so this will probably be a slow and potentially frustrating project :)
Latest code (Working Branch): Click Here
Stable v1:Click Here
===================================================
I've decided it is time to do something about my inability to count the number of two liter flasks I empty into my HLT and try and build a flow sensor. With that in mind I've ordered a few bits and pieces cheap off eBay which have finally arrived!
SainSmart UNO R3 Starter Board (£9.99)
YF-S201 flow sensor (£4.35)
SainSmart LCD1602 (£2.64)
Above you can see the display connected to the Arduino and running, unfortunately when I run the sample code from here to test the keypad it does not appear to pick up the select button. Modified the code as below to try and track the problem down but still get no output:
Code:
//Sample using LiquidCrystal library
#include <LiquidCrystal.h>
/*******************************************************
This program will test the LCD panel and the buttons
Mark Bramwell, July 2010
********************************************************/
// select the pins used on the LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
// define some values used by the panel and buttons
int lcd_key = 0;
int adc_key_in = 0;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
// read the buttons
int read_LCD_buttons()
{
adc_key_in = analogRead(0); // read the value from the sensor
if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 250) return btnUP;
if (adc_key_in < 450) return btnDOWN;
if (adc_key_in < 650) return btnLEFT;
if (adc_key_in < 850) return btnSELECT;
return btnNONE; // when all others fail, return this...
}
void setup()
{
lcd.begin(16, 2); // start the library
lcd.setCursor(0,0);
lcd.print("Push the buttons"); // print a simple message
}
void loop()
{
lcd.setCursor(9,1); // move cursor to second line "1" and 9 spaces over
lcd.print(millis()/1000); // display seconds elapsed since power-up
lcd.setCursor(0,1); // move to the begining of the second line
lcd_key = read_LCD_buttons(); // read the buttons
lcd.print(adc_in_key); //print out the value to see what the buttons are doing
}
Probably just a duff LCD (for £3 shipped from China I wasn't expecting much) and for the moment the display works fine which is all I need.
Next step, find a spec sheet for the flow sensor to see how it needs to be wired up and figure out how I calculate flow from the output of the sensor.
I haven't done anything like this for a very long time so this will probably be a slow and potentially frustrating project :)