Introdução ao Arduino: Três Projetos Básicos para Iniciantes

01/04/2025

Aprenda os primeiros passos com Arduino através de três projetos simples e interativos: um jogo de reflexos, um semáforo e um simulador de batimentos cardíacos. Id: 57

Capa do artigo Introdução ao Arduino: Três Projetos Básicos para Iniciantes

Se você está começando com Arduino, nada melhor do que aprender com projetos práticos. Aqui apresentamos três exemplos de códigos que vão te ajudar a entender os princípios básicos da programação e eletrônica aplicada ao Arduino.

1. Simulador de Batimentos Cardíacos

Este projeto pisca um LED de forma semelhante ao batimento cardíaco humano.

const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
analogWrite(ledPin, 150);
delay(300);
analogWrite(ledPin, 0);
delay(300);
analogWrite(ledPin, 150);
delay(300);
analogWrite(ledPin, 0);
delay(1000);
}

2. Semáforo Simples

Esse código simula um semáforo com LEDs vermelho, amarelo e verde.

const int ledVermelho = 13;
const int ledAmarelo = 12;
const int ledVerde = 11;
void setup() {
pinMode(ledVermelho, OUTPUT);
pinMode(ledAmarelo, OUTPUT);
pinMode(ledVerde, OUTPUT);
}
void loop() {
digitalWrite(ledVerde, HIGH);
delay(5000);
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarelo, HIGH);
delay(2000);
digitalWrite(ledAmarelo, LOW);
digitalWrite(ledVermelho, HIGH);
delay(5000);
digitalWrite(ledVermelho, LOW);
}

3. Jogo de Reflexos

Neste projeto, um LED acende em um momento aleatório e o jogador deve pressionar um botão o mais rápido possível. O tempo de reação é exibido no monitor serial.

const int ledPin = 13;
const int buttonPin = 2;
bool gameStarted = false;
unsigned long startTime;
unsigned long reactionTime;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
Serial.println("Pressione o botão para começar o jogo!");
}
void loop() {
if (!gameStarted && digitalRead(buttonPin) == LOW) {
delay(1000);
Serial.println("Prepare-se...");
delay(random(2000, 5000));
digitalWrite(ledPin, HIGH);
startTime = millis();
gameStarted = true;
}
if (gameStarted && digitalRead(buttonPin) == LOW) {
reactionTime = millis() - startTime;
digitalWrite(ledPin, LOW);
Serial.print("Seu tempo de reação: ");
Serial.print(reactionTime);
Serial.println(" ms");
gameStarted = false;
Serial.println("Pressione o botão para jogar novamente!");
}
}

Simuladores de Arduino

Para quem deseja testar códigos sem precisar de um hardware físico, os simuladores de Arduino são ótimas opções. Aqui estão algumas alternativas open-source:

  • Tinkercad: Plataforma gratuita da Autodesk que permite simular circuitos online. Acesse aqui.
  • SimulIDE: Simulador leve e de código aberto para eletrônica e microcontroladores. Acesse aqui.
  • Wokwi: Simulador moderno para Arduino, ESP32 e Raspberry Pi. Acesse aqui.

Veja o vídeo de explicações deste artigo:

Clique aqui

Para comentários:

Se quiser comentar, sugerir (acréscimos, retificações etc), criticar, elogiar, informar, sobre algum trecho deste artigo, peço a gentileza de utilizar a área de comentários do abaixo informada, no Youtube.

Já existe uma mensagem por lá dedicada a comentários sobre temas publicados neste portal.

Essa também é uma forma de contribuir com o trabalho e estimular sua continuidade e aprimoramento.

Peço a gentileza de comentar, curtir e compartilhar o conteúdo, além de se inscrever no canal do Youtube e ativar o sino de notificações para receber notícias de novos conteúdos.

Agradeço desde já!

Destinado para esses comentários em geral:

https://www.youtube.com/@roberto_csantos/community