int pushbutton = 2; // declara o push button na porta 2
int led1 = 13; // declara led na porta 13
int led2 = 12; // declara led na porta 12
int led3 = 11; // declara led na porta 11
bool estadoled = 0; // variavel de controle
void setup()
{
pinMode(pushbutton, INPUT_PULLUP); // define o
pino do botao como entrada
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT); // define LED como saida
}
void loop()
{
if (digitalRead(pushbutton) == LOW) // Se o botão for pressionado
{
estadoled = !estadoled; // troca o estado do LED
digitalWrite(led1, estadoled);
digitalWrite(led2, estadoled);
digitalWrite(led3, estadoled);
while (digitalRead(pushbutton) == LOW); // Enquanto para tempo
delay(100);
}
}
// Inclui biblioteca
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); // Instância do LCD
int backLight = 13; // pino 13 responsável pelo controle do LED
const int LM35 = 0; // Pino do LM35
void setup() {
pinMode(backLight, OUTPUT); // LED saida
digitalWrite(backLight, HIGH); // LED ligado
[Link](16, 2); // Inicializa LCD com 2 linhas e 16 colunas
}
void loop() {
[Link](); // limpar LED
float celsius = (float(analogRead(LM35)) * 5 * 100 / 1024); // Leitura dos dados
[Link](0, 0); // Linha
[Link]("A Temperatura"); // Texto
[Link](0, 1);
[Link]("e de: ");
[Link](celsius);
[Link](" C");
delay(1024);
}
int distancia_cm = 0; // Variável para armazenar
a distância medida em centímetros
int distancia_pol = 0; // Variável para armazenar
a distância medida em polegadas
long readUltrasonicDistance(int triggerPin, int
echoPin) //ler a distância do sensor
{
pinMode(triggerPin, OUTPUT); // Define o pino
de trigger como saída
digitalWrite(triggerPin, LOW); // Garante que o
trigger esteja em nível baixo
delayMicroseconds(2); // Aguarda 2 ms
digitalWrite(triggerPin, HIGH); // Envia um pulso de 10ms no trigger
delayMicroseconds(10); // Aguarda 10ms
digitalWrite(triggerPin, LOW); // Define o trigger como nível baixo novamente
pinMode(echoPin, INPUT); // Define o pino de echo como entrada
return pulseIn(echoPin, HIGH); // Mede o tempo em que o echo fica em nível alto e retorna este valor
}
void setup()
{
pinMode(7, OUTPUT); // Define o pino 7 como saída
pinMode(6, OUTPUT); // Define o pino 6 como saída
pinMode(5, OUTPUT); // Define o pino 5 como saída
[Link](9600); // Inicializa o serial begin com 9600 bps
}
void loop()
{
digitalWrite(7, LOW); // Desliga o LED conectado ao pino 7
digitalWrite(6, LOW); // Desliga o LED conectado ao pino 6
digitalWrite(5, LOW); // Desliga o LED conectado ao pino 5
distancia_cm = 0.01723 * readUltrasonicDistance(3, 4); // Calcula a distância em centímetros com base no tempo
de pulso
if (distancia_cm < 20) { // Se a distância for menor que 20 cm
[Link]("Objeto proximo"); // Imprime "Objeto proximo"
digitalWrite(7, HIGH); // Liga o LED conectado ao pino 7
}
if (distancia_cm > 20 && distancia_cm < 30) { // Se a distância for entre 20 cm e 30 cm
digitalWrite(6, HIGH); // Liga o LED conectado ao pino 6
}
if (distancia_cm > 30) { // Se a distância for maior que 30 cm
digitalWrite(5, HIGH); // Liga o LED conectado ao pino 5
}
[Link](distancia_cm); // Imprime a distância medida
[Link]("cm"); // Imprime "cm" para indicar a medida
delay(1000); // Aguarda 1000ms
}