Отключите питание, отключите светодиод от 9-го порта и подключите к 11-му. Измените программу так, чтобы схема снова заработала

Листинг:

1. #define led 9 //назначаем выход led 11 пин

2. //инициализация

3. void setup() {

4. pinMode(led, OUTPUT); //настраиваем led как выход

5. }

6. //входим в основной цикл

7. void loop() {

8. analogWrite(led, 85);

9. delay(250);

10. analogWrite(led, 170);

11. delay(250);

12. analogWrite(led, 255);

13. delay(250);

14. }

Измените код программы так, чтобы в течение секунды на светодиод последовательно подавалось усреднённое напряжение 0, 1, 2, 3, 4, 5 В

Листинг:

1. #define led 11 //назначаем выход led 11 пин

2. //инициализация

3. void setup() {

4. pinMode(led, OUTPUT); //настраиваем led как выход

5. }

6. //входим в основной цикл

7. void loop() {

8. //вкл. светодиод на пол сек

9. analogWrite(led, 0);

10. delay(200);

11. analogWrite(led, 51);

12. delay(200);

13. analogWrite(led, 102);

14. delay(200);

15. analogWrite(led, 153);

16. delay(200);

17. analogWrite(led, 204);

18. delay(200);

19. analogWrite(led, 255);

20. delay(200);

21. }

Возьмите еще один светодиод, резистор на 220 Ом и соберите аналогичную схему на этой же макетке, подключив светодиод к пину номер 3 и другому входу GND, измените программу так, чтобы светодиоды мигали в противофазу: первый выключен, второй горит максимально ярко и до противоположного состояния

Листинг:

1. #define led1 11 //назначаем выход led1 11 пин

2. #define led2 3 //назначаем выход led2 3 пин

3. //инициализация

4. voidsetup() {

5. pinMode(led1, OUTPUT); //настраиваем led1 как выход

6. pinMode(led2, OUTPUT); //настраиваем led2 как выход

7. }

8. //входим в основной цикл

9. voidloop() {

10. //направление слева-направо

11. analogWrite(led1, 0);

12. analogWrite(led2, 255);

13. delay(150); //150мс для более незаметного

14. //переключения при шаге ШИМ в 51 ед.

15. analogWrite(led1, 51);

16. analogWrite(led2, 204);

17. delay(150);

18. analogWrite(led1, 102);

19. analogWrite(led2, 153);

20. delay(150);

21. analogWrite(led1, 153);

22. analogWrite(led2, 102);

23. delay(150);

24. analogWrite(led1, 204);

25. analogWrite(led2, 51);

26. delay(150);

27. analogWrite(led1, 255);

28. analogWrite(led2, 0);

29. delay(250); //Конец направления пауза

30. //в 250мс для наглядности

31. //направление справа-налево

32. analogWrite(led1, 255);

33. analogWrite(led2, 0);

34. delay(150);

35. analogWrite(led1, 204);

36. analogWrite(led2, 51);

37. delay(150);

38. analogWrite(led1, 153);

39. analogWrite(led2, 102);

40. delay(150);

41. analogWrite(led1, 102);

42. analogWrite(led2, 153);

43. delay(150);

44. analogWrite(led1, 51);

45. analogWrite(led2, 204);

46. delay(150);

47. analogWrite(led1, 0);

48. analogWrite(led2, 255);

49. delay(250);

50. }

Отключите питание, отключите светодиод от 9-го порта и подключите к 11-му. Измените программу так, чтобы схема снова заработала - student2.ru

Эксперимент 3. Светильник с управляемой яркостью

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

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

Отключите питание, отключите светодиод от 9-го порта и подключите к 11-му. Измените программу так, чтобы схема снова заработала - student2.ru

Отключите питание, отключите светодиод от 9-го порта и подключите к 11-му. Измените программу так, чтобы схема снова заработала - student2.ru

Код:

1. #define LED_PIN 9

2. #define POT_PIN A0

3. void setup()

4. {

5. pinMode(13, OUTPUT);

6. pinMode(LED_PIN, OUTPUT);

7. pinMode(POT_PIN, INPUT);

8. }

9. void loop()

10. {

11. digitalWrite(13, HIGH);

12. int rotation, brightness;

13. rotation=analogRead(POT_PIN);

14. brightness=rotation/4;

15. analogWrite(LED_PIN, brightness);

16. }

Вопросы для проверки себя

Можем ли мы при сборке схемы подключить светодиод и потенциометр напрямую к разным входам GND микроконтроллера?

Не имеет значения к одному или к разным входам GND подключены элементы.

В какую сторону нужно крутить переменный резистор для увеличения яркости светодиода?

В зависимости к какой ножке подключены +5В, меняется направление вращения.

3.Что будет, если стереть из программы строчку pinMode(LED_PIN, OUTPUT)? строчку pinMode(POT_PIN, INPUT)?

Ничего не произойдет, схема будет работать как обычно.

Наши рекомендации