Отчет по учебная практике. Научно-исследовательская работа (вид практики, тип практики) в фгбоу во пгту, кафедра Пип эвс


Download 0.53 Mb.
bet4/8
Sana23.12.2022
Hajmi0.53 Mb.
#1045916
TuriОтчет
1   2   3   4   5   6   7   8
Bog'liq
Praktikaa

Задание 1.2.
Задание для самостоятельного решения.
1 Модернизируйте код так, чтобы при однократном нажатии на кнопку светодиод менял свое состояние с включенного на выключенный и обратно.
#define BUTTON_PIN 2
#define LED_PIN 9
bool flagP = false;
bool btnState = false;
bool ButtonON = false;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(LED_PIN, ButtonON);
// читаем инвертированное значение для удобства
btnState = !digitalRead(BUTTON_PIN);
Serial.println(btnState);
if (btnState && !flagP) { // обработчик нажатия
flagP = true;
ButtonON = ! ButtonON;
}
if (!btnState && flagP) { // обработчик отпускания
flagP = false;
}
}

Задание 1.3.
Задание для самостоятельного решения.
Напишите программу, в которой мы бы управляли частотой моргания светодиода. По умолчанию он бы горел 1 секунду, а затем гас на секунду. По нажатию кнопок мы должны управлять частотой моргания светодиода с шагом 50 мс.

#define PLUS_BUTTON_PIN 2


#define MINUS_BUTTON_PIN 3
#define LED_PIN 9
int brightness = 100;

void setup() {


pinMode(PLUS_BUTTON_PIN, INPUT_PULLUP);
pinMode(MINUS_BUTTON_PIN, INPUT_PULLUP);
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
bool flagP = false;
bool flagM = false;
void loop() {
brightness = constrain(brightness, 0, 255);
analogWrite(LED_PIN, brightness);
Serial.println(brightness);
// читаем инвертированное значение для удобства
bool btnStatePlus = !digitalRead(PLUS_BUTTON_PIN);
bool btnStateMinus = !digitalRead(MINUS_BUTTON_PIN);
if (btnStatePlus && !flagP) { // обработчик нажатия +
flagP = true;
brightness += 10;
}
if (!btnStatePlus && flagP) { // обработчик отпускания +
flagP = false;
}
if (btnStateMinus && !flagM) { // обработчик нажатия -
flagM = true;
brightness -= 10;
}
if (!btnStateMinus && flagM) { // обработчик отпускания -
flagM = false;
}
}


Download 0.53 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling