






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Um conjunto de exercícios práticos para a disciplina de sistemas embarcados, utilizando a plataforma arduino. O foco é a implementação de código para controlar leds e um potenciômetro, utilizando comunicação serial. Os exercícios exploram conceitos como leitura de entradas analógicas e digitais, manipulação de leds, e comunicação serial.
Tipologia: Provas
1 / 10
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Professor: Rafael
case 2: // Botão 2 - LED Amarelo toggleLed(yellowLedPin); break; case 3: // Botão 3 - LED Vermelho toggleLed(redLedPin); break; case 4: // Botão 4 - LED RGB toggleRGB(); break; } } void toggleLed(int ledPin) { int currentState = digitalRead(ledPin); digitalWrite(ledPin, !currentState); // Alterna o estado do LED Serial.print("LED "); Serial.print(ledPin); Serial.println(currentState? " OFF" : " ON"); } void toggleRGB() { rgbLedState = (rgbLedState + 1) % 4; // Alterna entre 0 (apagado) e 3 (ciclo de cores) if (rgbLedState == 0) { // Apaga o LED RGB analogWrite(rgbRedPin, 0); analogWrite(rgbGreenPin, 0); analogWrite(rgbBluePin, 0); Serial.println("RGB LED OFF"); } else { // Muda a cor do LED RGB changeColor(); Serial.print("RGB LED color: "); Serial.println(colorIndex); } } void changeColor() { // Cores: Vermelho, Verde, Azul if (colorIndex == 0) { analogWrite(rgbRedPin, 255); analogWrite(rgbGreenPin, 0); analogWrite(rgbBluePin, 0); // Vermelho
} else if (colorIndex == 1) { analogWrite(rgbRedPin, 0); analogWrite(rgbGreenPin, 255); analogWrite(rgbBluePin, 0); // Verde } else if (colorIndex == 2) { analogWrite(rgbRedPin, 0); analogWrite(rgbGreenPin, 0); analogWrite(rgbBluePin, 255); // Azul } colorIndex = (colorIndex + 1) % 3; // Muda para a próxima cor }
const int buttonPins[4] = {3, 5, 7, 9}; // Pinos dos botões int buttonStates[4] = {HIGH, HIGH, HIGH, HIGH}; // Estados dos botões const long debounceDelay = 50; // Delay para debouncing unsigned long lastButtonMillis[4] = {0, 0, 0, 0}; // Última vez que cada botão foi lido #define potenciometro A int valpot = 0; void setup() { Serial.begin(9600); for (int i = 0; i < 4; i++) { pinMode(buttonPins[i], INPUT_PULLUP); // Configura os pinos dos botões com pull-up } } void loop() { valpot = analogRead(potenciometro); for (int i = 0; i < 4; i++) { int reading = digitalRead(buttonPins[i]); if (reading == LOW && buttonStates[i] == HIGH) { if (millis() - lastButtonMillis[i] > debounceDelay) { buttonStates[i] = LOW; // Atualiza o estado do botão Serial.print("B"); Serial.print(i + 1); // Envia o número do botão (1-4) Serial.println(); lastButtonMillis[i] = millis(); // Atualiza o último tempo de leitura } } else if (reading == HIGH) { buttonStates[i] = HIGH; // Reseta o estado se o botão não estiver pressionado }
Tabela 1 - Materiais 2x Arduino UNO 6x resistor de 220Ω 3x LED 1x Potenciômetro 1x LED RGB