Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Ejercicio 1

#include <TimerOne.h>

#include <MsTimer2.h>

#include <LiquidCrystal.h>

#include <EEPROM.h>

#include<avr/sleep.h>

#include<avr/power.h>

#include<avr/wdt.h>

const int rs = 9, en = 8, d4 = 7, d5 = 6, d6 = 5, d7 = 4; //pines del arduino

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

int puldip1=13;

int puldip2=12;

int on=0;

void setup() {

// put your setup code here, to run once:

set_sleep_mode(SLEEP_MODE_ADC);

sleep_enable();

lcd.begin(16,2);

Serial.begin(9600);

pinMode(puldip1,INPUT);

pinMode(puldip2,INPUT);

Timer1.initialize(100000);

attachInterrupt(0,configuracion,HIGH);

}
void loop() {

// put your main code here, to run repeatedly:

lcd.setCursor(0,0);

lcd.println("Examen");

void configuracion(int num){

on=1-on;

if(on==1){

switch (num) {

case 1:

if(puldip1==LOW&puldip2==LOW){

lcd.setCursor(1, 0);

lcd.print("No se configura");

break;

case 2:

if(puldip1==HIGH&puldip2==LOW){

lcd.setCursor(1, 0);

lcd.print("Reinicio 2S");

wdt_enable(WDTO_2S);

break;

case 3:

if(puldip1==LOW&puldip2==HIGH){

lcd.setCursor(1, 0);

lcd.print("Renicio 4S");

wdt_enable(WDTO_4S);

break;

}
case 4:

if(puldip1==HIGH&puldip2==HIGH){

lcd.setCursor(1, 0);

lcd.print("Reinicio 8S");

wdt_enable(WDTO_1S);

break;

Ejercicio 2---------------------------------------------------------------

#include <TimerOne.h>

#include <MsTimer2.h>

#include <LiquidCrystal.h>

#include <EEPROM.h>

#include<avr/sleep.h>

#include<avr/power.h>

#include<avr/wdt.h>

const int rs = 9, en = 8, d4 = 7, d5 = 6, d6 = 5, d7 = 4; //pines del arduino

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

int ledgreen=11;

int ledred=10;

int pul=12;

int i=0;

int valor_min =0;

int valor_max =0;


int valor_comp =0;

float cad;

int on=0;

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

lcd.begin(16,2);

pinMode(ledgreen,OUTPUT);

Timer1.initialize(200000);

Timer1.attachInterrupt(contador);

pinMode(pul,INPUT);

void loop() {

// put your main code here, to run repeatedly:

cad=(analogRead(A0))*9.0/1023.0;

valor_min=int(cad);

if(digitalRead(pul)==LOW){

valor_min=Serial.read();

valor_max=Serial.read();

valor_comp = map(analogRead(0),0,1024,1,10);

if(map(analogRead(A0),0,1024,1,10)> valor_min || map(analogRead(A0),0,1024,1,10)>


valor_max){

digitalWrite(ledgreen, HIGH);

}
void contador(){

i=500;

You might also like