1.
Crie um letreiro que seja capaz de apresentar uma frase passando as
letras da esquerda para direita onde o primeiro caractere é
apresentado na ultima coluna do display. fazendo a transição de cada
uma das letras na tela.
SINTAXE
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20, 16, 2);
void setup() {
[Link]();
[Link]();
[Link]();
}
void loop() {
String texto = "Texto generico";
int length = [Link]();
for (int position = 16; position >= -length; position--) {
[Link]();
if (position < 0) {
[Link](0, 0);
[Link]([Link](-position, -position + 16));
} else {
[Link](position, 0);
[Link](texto);
}
delay(20);
}
}
(Incremento da Semana Passada!) O objetivo é desenvolver um sistema
com Arduino que utilize um sensor ultrassônico para medir a distância de
objetos e ativar LEDs de diferentes cores com base na distância medida.
Isso simula um sistema de aviso, onde as cores dos LEDs alertam sobre a
proximidade de um obstáculo.
Regras de Funcionamento:
Obstáculo acima de 45 cm: Acender o LED verde.
Obstáculo entre 15 cm e 45 cm: Acender o LED Amarelo.
Obstáculo abaixo de 15 cm: Acender o LED Vermelho.
Demonstrar no display 16x2 a distância do objeto.
SINTAXE
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20, 16, 2);
const int trigPin = 3;
const int echoPin = 2;
const int ledVerde = 4;
const int ledAzul = 5;
const int ledVermelho = 6;
long duracao;
int distancia;
void setup() {
[Link]();
[Link]();
pinMode(ledVerde, OUTPUT);
pinMode(ledAzul, OUTPUT);
pinMode(ledVermelho, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
[Link](9600);
[Link](0, 0);
[Link]("Medindo dist...");
delay(2000);
[Link]();
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracao = pulseIn(echoPin, HIGH);
distancia = duracao / 58.2;
[Link]();
[Link](0, 0);
[Link]("Distancia:");
[Link](0, 1);
[Link](distancia);
[Link](" cm");
[Link]("Distancia: ");
[Link](distancia);
[Link](" cm");
if (distancia > 45) {
digitalWrite(ledVerde, HIGH);
digitalWrite(ledAzul, LOW);
digitalWrite(ledVermelho, LOW);
} else if (distancia >= 15 && distancia <= 45) {
digitalWrite(ledAzul, LOW);
analogWrite(ledVerde, 150); // Controla o brilho do LED verde
analogWrite(ledVermelho, 170); // Controla o brilho do LED vermelho,
resultando em amarelo
} else {
digitalWrite(ledVermelho, HIGH);
digitalWrite(ledVerde, LOW);
digitalWrite(ledAzul, LOW);
}
delay(500);
}