В этом эксперименте мы научимся изменять состояние светодиода, посылая сообщение в последовательный порт платы Arduino.
В этом эксперименте мы научимся изменять состояние светодиода, посылая сообщение в последовательный порт платы Arduino.
Мы будем использовать цифровой вывод 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. Это значение будет определять яркость светодиода.