/*
The circuit:
* LCD RS pin to
digital pin 7
* LCD Enable pin to
digital pin 8
* LCD D4 pin to
digital pin 9
* LCD D5 pin to
digital pin 10
* LCD D6 pin to
digital pin 11
* LCD D7 pin to
digital pin 12
* LCD R/W pin to
ground
* 10K resistor:
* ends to +5V and
ground
* wiper to LCD VO pin
(pin 3)
*/
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface
pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int ledPin = 13; // choose pin for the LED
float start, finished;
float elapsed, time;
float circMetric=0.04; // wheel circumference relative to
sensor position (in meters)
float circImperial; // using 1 kilometer = 0.621371192 miles
float speedk, speedm;
// holds calculated speed vales in metric and imperial
void setup() {
// set up the LCD's
number of columns and rows:
lcd.begin(16, 2);
pinMode(2,INPUT);
pinMode(ledPin,
OUTPUT); // declare LED as output
attachInterrupt(0,
speedCalc, HIGH); // interrupt called when sensors sends digital 2 high (every
wheel rotation)
start=millis();
circImperial=circMetric*.62137; // convert metric to imperial for MPH
calculations
// Print a message to
the LCD.
lcd.print(" Welcome
");
lcd.setCursor(0, 1);
lcd.print("
Mc-Ergocycle ");
}
void speedCalc()
{
elapsed=millis()-start;
start=millis();
speedk=(3600*circMetric)/elapsed; // km/h
speedm=(3600*circImperial)/elapsed; // Miles per hour
}
void loop() {
if (
digitalRead(2)== HIGH) // ==
digunakan bagi declare condition
{ digitalWrite(ledPin, HIGH); // turn LED OFF
} else {
digitalWrite(ledPin, LOW); // turn LED ON
}
delay (1000);
Serial.println(elapsed);
Serial.println(speedk);
Serial.println(speedm);
Serial.println();
lcd.setCursor(0,0);
lcd.print(int(speedk));
lcd.print("
km/h ");
lcd.print(int(speedm));
lcd.print("
MPH ");
lcd.setCursor(0,1);
lcd.print(int(elapsed));
lcd.print("
ms/rev ");
delay(1000); //
}
Then, i uploading to Atmega328P-PU through Arduino board. At first, the LCD does not display anything and just light on. I troubleshoot the circuit and found that pin 7 on Atmega which is connect to 5Volt (VCC) pin must be jumped straight to the Vout of Voltage Regulator. The result is as follow:
Display result |
Then, i make some modification on the bicycle which is change the colour from red to yellow. I spray it by using the paint spray that i have bought at Careffour Wangsa maju.
Paint Spray |
Then, i attached the display circuit to the bicycle and Below is the Video of the finiched cycle ergometer. This video has showed the cycle ergometer operation:
The demo and presentation of Final Year Project is on 24 April 2012 (next week).I make some preparation for next week by design the poster and troubleshoot the circuit.
No comments:
Post a Comment