Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Neste projeto, estaremos criando um display LED vermelho, branco e azul com um potenciômetro e um botão de pressão. Parece fácil, mas também usaremos interrupções para isso. Assim, quando o botão for pressionado, o valor do potenciômetro definirá o brilho dos LEDs. Os materiais necessários incluem:
-Arduino Uno R3
-breadboard
- fios macho para macho
-três LEDs (vermelho, branco, azul)
-potenciômetro
-botão de apertar
Resistor -220ohm
Etapa 1: energia e aterramento
Primeiro, conecte o aterramento e a alimentação de 5 V à placa de ensaio.
Etapa 2: Conectando LEDs
Coloque todos os três LEDs na placa de ensaio. Conecte o cátodo ao solo para cada um. Conecte um resistor de 220 ohms ao ânodo e, em seguida, conecte-o ao arduino, pinos 9-11.
Etapa 3: pressione o botão
Para o botão de pressão, certifique-se de conectá-lo exatamente na imagem. Energia para energia, resistor de 220 ohm para aterramento e, em seguida, extremidade oposta ao pino 3. Isso será usado como interrupção.
Etapa 4: Potenciômetro
Assim como o botão, conecte o potenciômetro exatamente como mostra a imagem. Isso servirá para ajustar o brilho.
Etapa 5: possíveis erros
Certifique-se de que os pinos estão conectados como o código e as imagens mostram, e que eles correspondem. Além disso, certifique-se de que o ânodo e o cátodo estejam conectados adequadamente.
Etapa 6: Código
const byte ledBlue = 11; // define LED azul no pino 11const byte ledRed = 10; // define LED vermelho no pino 10
const byte ledWhite = 9; // define LED branco para pino 9
const byte interruptPin = 3; // o botão de pressão como a interrupção
const byte potPin = 1; // o potenciômetro é o pino A1
volátil int brilhante; // LEDbrightness
void setup () {
pinMode (ledBlue, OUTPUT); // LED azul como SAÍDA
pinMode (ledRed, OUTPUT); // LED vermelho como OUTPUT
pinMode (ledWhite, OUTPUT); // LED branco como OUTPUT
pinMode (interruptPin, INPUT_PULLUP); // pino do botão como INPUT_PULLUP
pinMode (potPin, INPUT); // pino do potenciômetro como INPUT
// configura a interrupção com pino de entrada e brilho para RISING
attachInterrupt (digitalPinToInterrupt (interruptPin), luz, RISING);
} // fim da configuração
void loop () {
analogWrite (ledBlue, brilhante); // Define o LED azul para o nível de brilho definido
analogWrite (ledRed, brilhante); // Define o LED vermelho para o nível de brilho definido
analogWrite (ledWhite, brilhante); // Define o LED branco para o nível de brilho definido
} // fim do loop
void light () {
brilhante = analogRead (potPin); // Lê o valor do potenciômetro
claro = mapa (claro, 0, 1023, 0, 255); // Mapeia os valores para o brilho do LED
} // final mais brilhante