Aqui voce define os pinos e entrada e saída de dados, todos os comandos serão executados uma unica vez. Vale lembrar que antes do mesmo você define as variaveis VEJA O EXEMPLO ABAIXO:
Aqui tudo ficará em loop, fazendo assim todas as açoes/automações que você fará no Arduino funcione (TOME CUIDADO NESSA PARTE)
🤖 Ligando um LED com um BOTÃO {repository}:
- Definindo as variáveis
int pinBotao = 2;
int estadoBotao = 0;
int interruptor = 0;
- Definindo os pinos no void setup
void setup(){
pinMode(pinBotao, INPUT);
pinMode(3, OUTPUT);
}
- Defindo o estado do botão e dando as condições void loop(){
estadoBotao = digitalRead(pinBotao);
if(estadoBotao == HIGH) {
interruptor = !interruptor;
delay(200);
}
if(interruptor == 1) {
digitalWrite (3, HIGH);
}else{
digitalWrite(3, LOW);
}
}
🤖 Fazendo um SEMÁFORO DUPLO {repository}:
- Definindo as variavéis para semáforo 1 e semáforo 2
// semaforo 1
int ledVermelho1 = 2;
int ledAmarelo1 = 3;
int ledVerde1 = 4;
// semaforo 2
int ledVermelho2 = 7;
int ledAmarelo2 = 6;
int ledVerde2 = 5;
- Definindo no void setup os pinos de cada semáforo
void setup() {
pinMode (ledVermelho1, OUTPUT);
pinMode (ledAmarelo1, OUTPUT);
pinMode (ledVerde1, OUTPUT);
pinMode (ledVermelho2, OUTPUT);
pinMode (ledAmarelo2, OUTPUT);
pinMode (ledVerde2, OUTPUT);
}
- Definindo cada semáforo como ligado ou desligado, conforme o fluxo da vida real
void loop() {
digitalWrite (ledVerde1, HIGH);
digitalWrite (ledVermelho2, HIGH);
delay(1000);
digitalWrite (ledVerde1, LOW);
digitalWrite (ledAmarelo1, HIGH);
delay(1000);
digitalWrite (ledAmarelo1, LOW);
digitalWrite (ledVermelho1, HIGH);
digitalWrite (ledVerde2, HIGH);
digitalWrite (ledVermelho1, LOW);
delay(1000);
digitalWrite (ledVerde2, LOW);
digitalWrite (ledAmarelo2, HIGH);
delay(1000);
digitalWrite (ledAmarelo2, LOW);
digitalWrite (ledVermelho1, LOW);
}
🤖 Usando PWM com LED RGB {repository}:
- Definindo as variáveis
// LED RGB
// suas cores funcionam entre 0 e 255, igual o PWM!;
int vermelho = 3;
int azul = 5;
int verde = 6;
int pinBotao = 2;
int estadoBotao = 0; // se foi pressionado ou não
int cor = 0;
- Defindo cada pino como OUTPUT, menos o BOTÃO (INPUT)
void setup(){
pinMode(vermelho, OUTPUT); // 3 ~
pinMode(azul, OUTPUT); // 5 ~
pinMode(verde, OUTPUT); // 6 ~
pinMode(pinBotao, INPUT);
}
- Definindo cada toque do BOTÃO com IF
void loop(){
// BOTÃO
estadoBotao = digitalRead(pinBotao);
if(estadoBotao == HIGH){
cor++;
} if(cor == 4){
cor = 0;
}
delay(200);
if(cor == 0){
digitalWrite(vermelho, 255);
digitalWrite(verde, 0);
digitalWrite(azul, 0);
} if(cor == 1){
digitalWrite(vermelho, 0);
digitalWrite(verde, 255);
digitalWrite(azul, 0);
} if(cor == 2){
digitalWrite(vermelho, 0);
digitalWrite(verde, 0);
digitalWrite(azul, 255);
} if(cor == 3){
digitalWrite(vermelho, 0);
digitalWrite(verde, 0);
digitalWrite(azul, 0);
}
}
🤖 FOTORERSISTOR (LDR) {repository}
- Definindo as variáveis analógicas
int ldr = A0; // Analógico
int valorLDR = 0; // valor inicial
int led = 6; // ~6
int pouca = 3; // ~3
int media = 4; // ~4
int muita = 5; // ~5
- Ativando o MONITOR SERIAl com Serial.begin, e definindo os PINOS como saída (OUTPUT)
void setup(){
Serial.begin(9600); //velocidade de transmissão (maior mais rápido)
// Definindo pinos como saída
pinMode(led, OUTPUT);
pinMode(pouca, OUTPUT);
pinMode(media, OUTPUT);
pinMode(muita, OUTPUT);
}
- Lendo o valorLDR, mostrando no MONITOR SERIAL e fazendo condições com IF
void loop(){
valorLDR = analogRead(ldr); // lendo
Serial.print("O valor do LDR eh: "); // Será exibido
Serial.println(valorLDR); // mostrando o valor
int valorNovo = map(valorLDR,0,1023,255,0);
analogWrite(led, valorNovo); // Lendo
// Aqui o valor está em pouca luminosidade
if(valorLDR <= 840){
digitalWrite(pouca, HIGH);
digitalWrite(media, LOW);
digitalWrite(muita, LOW);
}
// Aqui o valor está em pouca e media luminosidade
if(valorLDR <= 950 and valorLDR >= 900){
digitalWrite(pouca, HIGH);
digitalWrite(media, HIGH);
digitalWrite(muita, LOW);
}
// Aqui acende os anteriores, está em muita luminosidade
if(valorLDR >= 960){
digitalWrite(pouca, HIGH);
digitalWrite(media, HIGH);
digitalWrite(muita, HIGH);
}
}
🤖 SENSOR DE TEMPERATURA (LM35 | TM36) {repository}
- Definindo as variáveis, uma como float que será convertida
int pinLM35 = A0;
float temp = 0;
int led = 2;
- Ativando o MONITOR SERIAL, definindo o pino do LED
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
}
- Criando uma variável e fazendo ela ler e converter para graus Celsius (C°)
temp = (float(analogRead(pinLM35))*5/(1023)/0.01)-50; // Convertendo para temperatura(C°)
- Mostrando na tela o valor da Temperatura e dando uma condição simples para acender o LED quando for maior que 30°, caso seja menor desligue o mesmo.
Serial.print("O valor da Temperatura eh: ");
Serial.println(temp); // exibindo o valor
delay(200); // dando um tempo para visualizar
// acendendo o led quando for maior ou igual a 30:
if(temp >= 30){
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}