Лабораторная работа №4 Управление трехцветным rgb-светодиодом по сигналу с компьютера



бет8/9
Дата07.02.2022
өлшемі447,76 Kb.
#82345
түріЛабораторная работа
1   2   3   4   5   6   7   8   9
Байланысты:
Лабораторная работа № 4–5

void setup() {
// Открываем порт для обмена данными Serial.begin(9600);
// Выводим надпись "\n\nString toInt() RGB:" Serial.println("\n\nString toInt() RGB:"); Serial.println();
// 9-й, 10-й, 11-й порты настраиваем на выход pinMode(9, OUTPUT);
pinMode(10, OUTPUT); pinMode(11, OUTPUT);
}
void loop() {
int inChar;// Создаём переменную для хранения входящего байта
//Считываем входное значение с порта и записываем в inChar if (Serial.available() > 0) {
inChar = Serial.read();
}
if (isDigit(inChar)) {
// конвертируем входящий байт в символьную переменную


// и добавляем его в поток inString: inString += (char)inChar;
}
// если пришел символ "," то хранящееся значение в
// inString присваивается текущему цвету
// счетчик цвета увеличиваем на единицу if (inChar == ',') {
switch (currentColor) { case 0: // 0 = красный red = inString.toInt();
// очищаем поток для записи новых данных inString = "";
break;
case 1: // 1 = зелёный green = inString.toInt();
// очищаем поток для записи новых данных inString = "";
break;
}
currentColor++;
}
// если пришел символ перевода строки
// то хранящееся значение в inString присваиваем синему цвету if (inChar == '\n') {
blue = inString.toInt();
// устанавливаем на выводах 9,10,11 шим сигнал
// соответствующий величине хранящейся в переменных
// red, green, blue. При значении 0 светодиод не горит
// при значении 255 светодиод светит максимально ярко analogWrite(11, red);
analogWrite(9, green); analogWrite(10, blue);
// выводим в монитор порта цвет и его текущее значение Serial.print("Red: ");
Serial.print(red); Serial.print(", Green: "); Serial.print(green); Serial.print(", Blue: "); Serial.println(blue);
// очищаем string inString = "";
// сбрасываем счётчик currentColor = 0;
}
}




Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет