Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3.  
  4. #define PIN_LED 11
  5. #define PIN_POT A0
  6.  
  7. LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей
  8.  
  9. const byte averageFactor = 5; // коэффициент сглаживания показаний (0 = не сглаживать)
  10. // чем выше, тем больше "инерционность"
  11.  
  12.  
  13. void setup()
  14. {
  15. lcd.init();
  16. lcd.backlight();// Включаем подсветку дисплея
  17.  
  18. // Устанавливаем курсор на первую строку и нулевой символ.
  19. lcd.setCursor(0, 0);
  20. lcd.print("Brightn:");
  21.  
  22. // Устанавливаем курсор на первую строку и девятый символ.
  23. lcd.setCursor(15, 0);
  24. lcd.print("%");
  25.  
  26. // Пин, к которому подсоединяется светодиод определяем как выход
  27. pinMode(PIN_LED, OUTPUT);
  28.  
  29. // Пин с переменным резистором является входом
  30. pinMode(PIN_POT, INPUT);
  31. }
  32.  
  33. void loop()
  34. {
  35. // Поворот потенциометра по значению напряжения [0, 1023]
  36. int rotate;
  37. // Яркость светодиода [0, 255]
  38. int brightn;
  39.  
  40. // Считывание в переменную rotate напряжения с переменного резистора:
  41. // микроконтроллер будет выдавать числа от 0 до 1023
  42. // пропорциональны положению поворота вала
  43. rotate = analogRead(PIN_POT);
  44.  
  45. // Преобразуем значение в яркость. Для этого делим rotate на 4, что с учетом округления даст нам число от 0 до 255.
  46. // Именно это число мы подадим на шим-выход, с помощью которого можно управлять яркостью.
  47. brightn = rotate / 4;
  48.  
  49. // Запись шим значения яркости на светодиод
  50. analogWrite(PIN_LED, brightn);
  51.  
  52. float rotatePercent = (rotate / 1023.0f) * 100;
  53.  
  54. // Устанавливаем курсор на первую строку и девятый символ.
  55. lcd.setCursor(9, 0);
  56. lcd.print(rotatePercent);
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement