Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Practical embedded system programming.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
9.24 Mб
Скачать

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);

}

//******************************************************//

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]