В этом проекте мы построим настольный диммирующий светильник с использованием Raspberry Pi Pico с кодом программы на MicroPython. Для этого приложения мы будем использовать светодиод и потенциометр. Всякий раз, когда мы будем вращать потенциометр, будет регулироваться яркость свечения светодиода (или лампы). Таким образом, мы достигаем эффекта затемнения настольной лампы.
Ранее на нашем сайте мы рассматривали проекты диммеров на основе других микроконтроллеров и плат:
Необходимые компоненты
- Плата Raspberry Pi Pico (купить на AliExpress).
- Светодиод (купить на AliExpress).
- Потенциометр (купить на AliExpress).
- Кабель Micro-USB.
- Макетная плата.
- Соединительные провода/перемычки.
Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158
Потенциометр
Потенциометр — это резистивный элемент с тремя клеммами, сопротивление которого можно регулировать по определенному изменяющемуся закону. Потенциометр обычно состоит из резистивного тела и подвижной щетки. Когда щетка движется вдоль тела резистора, на выходном конце получается значение сопротивления или напряжение, которое имеет определенную связь со смещением.
Потенциометры могут использоваться как трехконтактные, так и двухконтактные компоненты. Последний можно рассматривать как переменный резистор, поскольку его функция в цепи заключается в получении выходного напряжения, имеющего определенную связь с входным напряжением (приложенным напряжением), поэтому он называется потенциометром.
Схема проекта
Схема для регулировки яркости свечения светодиода с помощью платы Raspberry Pi Pico представлена на следующем рисунке.
Подключите VCC, GND и аналоговый выходной контакт модуля потенциометра к VSYS, GND и контакту GP26 платы Raspberry Pi Pico. Также подключите положительный вывод светодиода к контакту GP15, а отрицательный к контакту GND платы.
Код программы на MicroPython
Откройте Thonny IDE, скопируйте следующий код и вставьте его в окно редактора.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
from machine import Pin,ADC,PWM from time import sleep Led_pin = 15 Potentiometer_pin = 0 # ADC0 multiplexing pin is GP26 def setup(): global LED global Pot_ADC LED = PWM(Pin(Led_pin)) LED.freq(2000) #Set the LED operating frequency to 2KHz Pot_ADC = ADC(Potentiometer_pin) def loop(): while True: print ('Potentiometer Value:', Pot_ADC.read_u16()) Value = Pot_ADC.read_u16() LED.duty_u16(Value) sleep(0.2) if __name__ == '__main__': setup() loop() |
Теперь вы можете запустить этот код, чтобы проверить работу схемы. Вращайте потенциометр, чтобы управлять яркостью светодиода (лампы), чтобы добиться эффекта затемнения настольной лампы.
7 просмотров