logo
+7 (951) 999-89-94
428003, г. Чебоксары, ул. Федора Гладкова, д.9, оф.319
11.05.2019

Управление светодиодом через Serial порт

Управление светодиодом через Serial порт

В этом эксперименте мы научимся изменять состояние светодиода, посылая сообщение в последовательный порт платы Arduino.

Компоненты

  • Плата Arduino Uno
  • Макетная плата
  • USB кабель
  • Светодиод
  • Резистор 220 Ом
  • Перемычки

Схема

Мы будем использовать цифровой вывод D11 платы Arduino Uno для управления яркостью светодиода.

Принципиальная схема

Соединение компонентов

Скетч

Полученные из последовательного порта данные мы будем преобразовывать в ШИМ сигнал на выводе D11.

int inInt;
int counter = 0;
int ledPin = 11;
 
void setup() { 
  pinMode(ledPin, OUTPUT);
  Serial.begin(115200);
  Serial.println("UNO is ready!");
} 
 
void loop() { 
  if (Serial.available()) {
    inInt = Serial.parseInt();
    Serial.print("UNO received:");
    Serial.println(inInt);
    analogWrite(ledPin, constrain(inInt, 0, 255)); 
  } 
} 

Функция Serial.parseInt() возвращает число типа int из принимаемого из порта зачения.

Функция constrain(x, a, b) проверяет, что число x находится за границами отрезка (а, b), если x < a, возвращается a; если x > b, возвращается b.

Скомпилируйте и загрузите скетч на плату. Откройте монитор последовательного порта, теперь вы можете отправлять на плату числа от 0 до 255. Это значение будет определять яркость светодиода.

 

Предыдущий урок | В начало | Следующий урок