Exámen Parcial de Arduino
Exámen Parcial de Arduino
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
#include <DHT.h>
#define DHTPIN A0
#define BUTTON1 2
#define BUTTON2 3
#define MOTOR_PIN 9
#define LED1 4
#define LED2 5
#define LED3 6
#define LED4 7
#define POT A1
Servo servo;
button1Pressed = !button1Pressed;
button2Pressed = !button2Pressed;
void setup() {
Serial.begin(9600);
lcd.begin();
lcd.backlight();
dht.begin();
servo.attach(10);
pinMode(BUTTON1, INPUT_PULLUP);
pinMode(BUTTON2, INPUT_PULLUP);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(MOTOR_PIN, OUTPUT);
void loop() {
servo.write(servoPos);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print("C ");
lcd.setCursor(0, 1);
lcd.print("Hum: ");
lcd.print(hum);
lcd.print("% ");
} else {
analogWrite(MOTOR_PIN, 0);
if (button1Pressed) {
ledSequence();
if (button2Pressed) {
customCharAnimation();
void ledSequence() {
digitalWrite(LED1, HIGH);
delay(200);
digitalWrite(LED2, HIGH);
delay(200);
digitalWrite(LED3, HIGH);
delay(200);
digitalWrite(LED4, HIGH);
delay(200);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
void customCharAnimation() {
byte customChar[8] = {
0b00000,
0b01010,
0b10101,
0b00000,
0b00000,
0b10101,
0b01010,
0b00000
};
lcd.createChar(0, customChar);
lcd.setCursor(i, 0);
lcd.write(byte(0));
delay(200);
lcd.clear();