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


Задание 2. Задания для самостоятельного решения


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

Задание 2.


Задания для самостоятельного решения
1. Отключите питание платы, подключите к порту 5 еще один светодиод. Измените код таким образом, чтобы второй светодиод светился на 1/2 от яркости первого.
2. Измените код таким образом, чтобы яркость второго светодиода увеличивалась, в то время как яркость первого уменьшалась, и наоборот

#define LED_PIN 9


#define LED_PIN2 5
#define POT_PIN A0
void setup()
{ pinMode(LED_PIN, OUTPUT);
pinMode(LED_PIN2, OUTPUT);
pinMode(POT_PIN, INPUT);
} void loop()
{
int rotation, brightness;
rotation = analogRead(POT_PIN);
brightness = rotation / 4;
analogWrite(LED_PIN, brightness);
analogWrite(LED_PIN2, 255-brightness);
}
Задание 2.1.
Задания для самостоятельного решения
1. Модернизируйте код так, чтобы горел только один светодиод старшего разряда, который бы отображал уровень входного сигнала.

// константы


const int analogPin = A0; // порт для потенциометра
const int ledCount = 4; // число светодиодов на светодиодной шкале
int ledPins[] = {
2, 3, 4, 5 }; // массив портов, к которым привязаны светодиоды

void setup() {


// проходим через все элементы массива и устанавливаем режим для вывода
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
pinMode(ledPins[thisLed], OUTPUT);
}
}
void loop() {
// считываем сигнал с потенциометра
int sensorReading = analogRead(analogPin);
// трансформируем результат в диапазон от 0 до 4 (по числу светодиодов)
int ledLevel = map(sensorReading, 0, 1023, 0, ledCount);
// проходим через массив светодиодов
for (int thisLed = 0; thisLed < ledCount; thisLed++) {
// если индекс элемента массива меньше чем ledLevel,
// включаем порт для данного элемента:
if (thisLed < ledLevel) {
digitalWrite(ledPins[thisLed], HIGH);
delay (50);
}
// Выключаем все порты, которые выше чем ledLevel:
else {
digitalWrite(ledPins[thisLed], LOW);
}
}
}


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