- •Practical embedded system programming
- •Void setup() {
- •In this firmware can be activated address bus a0, a1, a2 and a3
- •Void setup() {
- •Void setup() {
- •Void setup()
- •Void setup()
- •Void setup()
- •Void setup()
- •Void setup()
- •Void setup() {
- •Void setup(){
- •Void setup(){
- •Void setup()
- •Void setup()
- •Void setup()
- •Void setup()
- •Void setup()
- •Void setup() {
- •Void setup() {
- •Void setup(){
- •Void setup() {
- •Void setup() {
- •Void setup()
- •Void setup()
- •Void setup() {
- •Void setup() {
- •Void setup() {
- •Void setup() {
- •Void setup()
- •Void setup()
- •Void setup()
- •Void setup() {
- •Void setup() {
- •Void setup() {
- •Void setup() {
- •Void setup() {
- •Void setup() {
Void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //try 0x3C or 0x3D
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
display.clearDisplay();
display.setTextSize(2);
display.setCursor(0,0);
display.print ("Display 1");
display.setCursor(0,25);
display.setTextSize(4);
display.print("Hello");
display.display();
}
//******************************************************//
/*
Arduiuo_4 key analog Buttons
This example code is in the public domain.
*/
#define key1ValueMin 96
#define key1ValueMax 106
#define key2ValueMin 144
#define key2ValueMax 159
#define key3ValueMin 193
#define key3ValueMax 213
#define key4ValueMin 242
#define key4ValueMax 255
int adPin = A0; // select the input pin for the potentiometer
int keyValue;
int keyValue_r;
int keyValue_rr;
//key scan
int key_scan(void)
{
int adValue;
int key;
adValue = analogRead(adPin);//read ad Value
adValue = adValue / 4;
if(adValue >= key1ValueMin && adValue <= key1ValueMax)// k1
{
key = 1;
}
else if(adValue >= key2ValueMin && adValue <= key2ValueMax)// k2
{
key = 2;
}
else if(adValue >= key3ValueMin && adValue <= key3ValueMax)// k3
{
key = 3;
}
else if(adValue >= key4ValueMin)// k4
{
key = 4;
}
else //Invalid value
{
key = 0;
}
return key;
}
Void setup() {
Serial.begin(9600);
}
void loop() {
//Save three key scan value
keyValue_rr = keyValue_r;
keyValue_r = keyValue;
keyValue = key_scan();
//Three scanned values are the same, indicating that key is valid
if(keyValue > 0 && keyValue==keyValue_r && keyValue_r==keyValue_rr)
{
Serial.print("keyValue = ");
Serial.println(keyValue);
}
delay(100); //Each scan interval 100-200MS
}
//******************************************************//
//******************************************************//
/*
Arduiuo_4key_uart
This example code is in the public domain.
*/
// Define key pin
int K1 = 13;
int K2 = 12;
int K3 = 11;
int K4 = 10;
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
// the setup routine runs once when you press reset:
Void setup() {
// initialize the keys pin as an input.
pinMode(K1, INPUT);
pinMode(K2, INPUT);
pinMode(K3, INPUT);
pinMode(K4, INPUT);
//Activate key pin internal pull-up resistors
digitalWrite(K1, HIGH);
digitalWrite(K2, HIGH);
digitalWrite(K3, HIGH);
digitalWrite(K4, HIGH);
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
// the loop routine runs over and over again forever:
void loop() {
buttonState = digitalRead(K1);
if(!buttonState)Serial.print("k1 \n" );
do
{
buttonState = digitalRead(K1);
}
while(!buttonState);//Wait button release
buttonState = digitalRead(K2);
if(!buttonState)Serial.print("k2 \n" );
do
{
buttonState = digitalRead(K2);
}
while(!buttonState);//Wait button release
buttonState = digitalRead(K3);
if(!buttonState)Serial.print("k3 \n" );
do
{
buttonState = digitalRead(K3);
}
while(!buttonState);//Wait button release
buttonState = digitalRead(K4);
if(!buttonState)Serial.print("k4 \n" );
do
{
buttonState = digitalRead(K4);
}
while(!buttonState);//Wait button release
delay(100);
}
//******************************************************//
