|
/* |
|
LiquidCrystal Library - Hello World |
|
|
|
Demonstrates the use a 16x2 LCD display. The LiquidCrystal |
|
library works with all LCD displays that are compatible with the |
|
Hitachi HD44780 driver. There are many of them out there, and you |
|
can usually tell them by the 16-pin interface. |
|
|
|
This sketch prints "Hello World!" to the LCD |
|
and shows the time. |
|
|
|
The circuit: |
|
* LCD RS pin to digital pin 12 |
|
* LCD Enable pin to digital pin 11 |
|
* LCD D4 pin to digital pin 5 |
|
* LCD D5 pin to digital pin 4 |
|
* LCD D6 pin to digital pin 3 |
|
* LCD D7 pin to digital pin 2 |
|
* LCD R/W pin to ground |
|
* LCD VSS pin to ground |
|
* LCD VCC pin to 5V |
|
* 10K resistor: |
|
* ends to +5V and ground |
|
* wiper to LCD VO pin (pin 3) |
|
|
|
Library originally added 18 Apr 2008 |
|
by David A. Mellis |
|
library modified 5 Jul 2009 |
|
by Limor Fried (http://www.ladyada.net) |
|
example added 9 Jul 2009 |
|
by Tom Igoe |
|
modified 22 Nov 2010 |
|
by Tom Igoe |
|
|
|
This example code is in the public domain. |
|
|
|
http://www.arduino.cc/en/Tutorial/LiquidCrystal |
|
*/ |
|
|
|
// include the library code: |
|
#include <LiquidCrystal.h> |
|
|
|
// initialize the library with the numbers of the interface pins |
|
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); |
|
|
|
// initialize 6 buttons |
|
const int buttonPin0 = 31; // the number of the pushbutton pin |
|
const int buttonPin1 = 33; // the number of the pushbutton pin |
|
const int buttonPin2 = 35; // the number of the pushbutton pin |
|
const int buttonPin3 = 37; // the number of the pushbutton pin |
|
const int buttonPin4 = 39; // the numberof the pushbutton pin |
|
const int buttonPin5 = 41; |
|
|
|
int buttonState0 = 0; // variable for reading the pushbutton status |
|
int buttonState1 = 0; // variable for reading the pushbutton status |
|
int buttonState2 = 0; // variable for reading the pushbutton status |
|
int buttonState3 = 0; // variable for reading the pushbutton status |
|
int buttonState4 = 0; // variable for reading the pushbutton status |
|
int buttonState5 = 0; // variable for reading the pushbutton status |
|
|
|
char note = 'n'; |
|
|
|
void setup() { |
|
// set up the LCD's number of columns and rows: |
|
lcd.begin(16, 2); |
|
// Print a message to the LCD. |
|
lcd.print("midi studio lite"); |
|
// initialize the pushbutton pin as an input: |
|
pinMode(buttonPin0, INPUT); |
|
pinMode(buttonPin1, INPUT); |
|
pinMode(buttonPin2, INPUT); |
|
pinMode(buttonPin3, INPUT); |
|
pinMode(buttonPin4, INPUT); |
|
pinMode(buttonPin5, INPUT); |
|
} |
|
|
|
void loop() { |
|
buttonState0 = digitalRead(buttonPin0); |
|
buttonState1 = digitalRead(buttonPin1); |
|
buttonState2 = digitalRead(buttonPin2); |
|
buttonState3 = digitalRead(buttonPin3); |
|
buttonState4 = digitalRead(buttonPin4); |
|
buttonState5 = digitalRead(buttonPin5); |
|
|
|
if (buttonState0 == HIGH || buttonState1 == HIGH || buttonState2== HIGH || buttonState3 == HIGH || buttonState4 == HIGH || buttonState5 == HIGH) { |
|
if (buttonState0) { |
|
note = 'C'; |
|
} else if (buttonState1) { |
|
note = 'D'; |
|
} else if (buttonState2) { |
|
note = 'E'; |
|
} else if (buttonState3) { |
|
note = 'F'; |
|
} else if (buttonState4) { |
|
note = 'G'; |
|
} else if (buttonState5) { |
|
note = 'A'; |
|
} |
|
lcd.setCursor(7, 1); |
|
lcd.print(note); |
|
} else { |
|
// clear the char: |
|
lcd.setCursor(7, 1); |
|
lcd.print(" "); |
|
} |
|
|
|
} |