Primeiro Programa
Boas-vindas ao guia introdutório para o seu primeiro programa Arduino! A programação com IDE Arduino é uma excelente maneira de mergulhar no mundo dos sistemas embebidos, permitindo controlar e interagir com o mundo físico através de código. Envolve a escrita de código no Ambiente de Desenvolvimento Integrado (IDE) do Arduino, onde um programa é chamado de sketch. Neste guia, vai aprender sobre as estruturas fundamentais de um sketch Arduino: as funções setup() e loop().
A função setup() é onde se inicializam as definições e configurações, sendo executada apenas uma vez quando a placa Arduino é ligada ou reiniciada. É aqui que se definem os modos dos pinos, se inicia a comunicação serial e se realizam outras tarefas de configuração necessárias para um dado projeto.
Por outro lado, a função loop() contém a lógica principal do programa e é executada continuamente, permitindo que a plca de desenvolvimento a programar realize tarefas repetitivas, como ler sensores, controlar saídas e responder a eventos.
Ao dominar estes conceitos, estará apto a criar projetos dinâmicos e interativos que respondem ao mundo ao seu redor. Vamos começar!
O código seguinte faz com que o Light-emitting diode (LED) da placa de desenvolvimento ESP32-C6-DevKitM-1 pisque, alternando entre ligado e desligado em intervalos regulares. Além disso, apresenta-se de seguida uma representação ilustrativo para referência.
/*
BlinkRGB
Demonstrates usage of onboard RGB LED on some ESP dev boards.
Calling digitalWrite(RGB_BUILTIN, HIGH) will use hidden RGB driver.
RGBLedWrite demonstrates control of each channel:
void neopixelWrite(uint8_t pin, uint8_t red_val, uint8_t green_val, uint8_t blue_val)
WARNING: After using digitalWrite to drive RGB LED it will be impossible to drive the same pin
with normal HIGH/LOW level
*/
//#define RGB_BRIGHTNESS 64 // Change white brightness (max 255)
// the setup function runs once when you press reset or power the board
void setup() {
// No need to initialize the RGB LED
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(RGB_BUILTIN, HIGH); // Turn the RGB LED white
delay(1000);
digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off
delay(1000);
}
Montagem exemplificativa |
Utilização do Monitor Serial no Arduino IDE
O Monitor Serial é uma ferramenta crucial dentro do Arduino IDE que permite enviar e receber dados entre a placa de desenvolvimento e o computador. Esta funcionalidade é extremamente útil para depuração, monitorização de leituras de sensores e interação com o programa do Arduino em tempo real.
Como Funciona o Monitor Serial
O Monitor Serial comunica com a placa de desenvolvimento através de uma conexão serial, que normalmente é estabelecida através do cabo USB que liga a placa ao computador. Esta conexão permite a transmissão de dados em texto entre o seu computador e a placa de desenvolvimento. Podem enviar-se comandos do Monitor Serial para a placa de desenvolvimento, e, por sua vez, a placa de desenvolvimento pode enviar de volta dados, que são exibidos na janela do Monitor Serial.
Para utilizar o Monitor Serial, siga estes passos:
1. Inicializar a Comunicação Serial: No sketch, deve inicializar-se a comunicação serial utilizando a função `Serial.begin()`. Esta função recebe um único argumento, a taxa de transmissão, que define a velocidade da comunicação em bits por segundo (bps). Uma taxa de transmissão comum é 9600.
void setup() {
Serial.begin(9600); // Inicia a comunicação serial a uma taxa de 9600 bps
}
2. Enviar Dados para o Monitor Serial: Pode enviar-se dados da placa de desenvolvimento para o Monitor Serial utilizando as funções `Serial.print()` ou `Serial.println()`. A função `Serial.print()` envia dados sem adicionar uma nova linha no final, enquanto que `Serial.println()` envia os dados seguidos de um caractere de nova linha.
void loop() {
Serial.println("Olá, Mundo!"); // Envia "Olá, Mundo!" para o Monitor serial
delay(1000); // Aguarda 1 segundo
}
3. Receber Dados do Monitor Serial: O Monitor Serial também pode enviar dados para a placa de desenvoldimento. Podem ler-se estes dados utilizando no sketch as funções `Serial.read()`, `Serial.available()`, e outras funções relacionadas. No exemplo seguinte ilustra-se a leitura de um caractereusando o Monitor Serial:
void loop() {
if (Serial.available() > 0) { // Verifica se há dados disponíveis para leitura
char receivedChar = Serial.read(); // Lê o próximo caractere disponível
Serial.print("Recebido: ");
Serial.println(receivedChar); // Imprime o caractere recebido
}
}
Segundo Programa
O sketch seguinte ilustra como monificar o sketch do primeiro programa anteriormente sugerido para começar a aproveitar as possibilidades do Monitor Serial:
/*
BlinkRGB
Demonstrates usage of onboard RGB LED on some ESP dev boards.
Calling digitalWrite(RGB_BUILTIN, HIGH) will use hidden RGB driver.
RGBLedWrite demonstrates control of each channel:
void neopixelWrite(uint8_t pin, uint8_t red_val, uint8_t green_val, uint8_t blue_val)
WARNING: After using digitalWrite to drive RGB LED it will be impossible to drive the same pin
with normal HIGH/LOW level
*/
//#define RGB_BRIGHTNESS 64 // Change white brightness (max 255)
// the setup function runs once when you press reset or power the board
void setup() {
// No need to initialize the RGB LED
Serial.begin(9600);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(RGB_BUILTIN, HIGH); // Turn the RGB LED white
Serial.println("LED ligado"); // Imprime o caractere recebido
delay(1000);
digitalWrite(RGB_BUILTIN, LOW); // Turn the RGB LED off
Serial.println("LED desligado"); // Imprime o caractere recebido
delay(1000);
}
Depois garantir a selecionação do dispositivo ESP32 adequado ( ESP32C6 Dev Module ), copiar o código anterior, compilar e carregar o código para a placa ESP32, deverá ser possível verificar o resultado.
No Comments