Está en la página 1de 9

PRACTICA N 03 CON ARDUINO

Sentencias condicionales
El lenguaje de Arduino permite realizar sentencias condicionales if, if... else, for, while,
do... while. Su utilizacin es similar a las funciones correspondientes en C.
Funcin digitalRead(pin)
Lee el valor desde un pin digital especfico. Devuelve un valor HIGH o LOW. El pin puede
ser especificado con una variable o una constante (0-13). Ej. v = digitalRead(Pin);
Si, que se utiliza en conjuncin con un operador de comparacin, si se ha alcanzado una
cierta condicin pruebas, tales como una entrada est por encima de un determinado
nmero. El formato para un caso de prueba es:
si (Variable> 50)
{
// Hacer algo aqu
}

1. Desarrollar un programa para el circuito, cuando la entrada (logicstate) es 0, deben


prender lo leds impares y si la entrada es 1 deben prender los leds pares.

2. Desarrollar un circuito con 6 leds, cuando la entrada es 0 debe encender los 3


primeros leds y cuando es 1 debe encender los 3 ltimos LEDs.
CIRCUITO

CDIGO

3. Nivel de tanque con 3 sensores

4. Adicionar una sirena al pin 8 del circuito anterior, de tal manera que debe sonar
cuando el tanque est lleno.

5. Desarrollar un sistema de nivel de tanque con 3 sensores, 6 leds, un motor y una


sirena.

void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,INPUT);
pinMode(12,INPUT);
pinMode(13,INPUT);
}
void loop() {
if(digitalRead(11)==0 && digitalRead(12)==0 && digitalRead(13)==0){
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(9,1);
}
if(digitalRead(11)==0 && digitalRead(12)==0 && digitalRead(13)==1){

digitalWrite(2,1);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(9,1);
}
if(digitalRead(11)==0 && digitalRead(12)==1 && digitalRead(13)==1){
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,0);
digitalWrite(9,1);
}
if(digitalRead(11)==1 && digitalRead(12)==1 && digitalRead(13)==1){
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(9,0);
tone(10,1000,50);
}
}

6. Desarrollar un sistema de nivel de tanque con 3 sensores, 8 leds, una sirena y un


motor.
CIRCUITO

CDIGO
int S3;
int S2;
int S1;
const int motor=1;
int i;
void setup() {
for(i=1;i<=10;i++){
pinMode(i,OUTPUT);
}
for(i=11;i<=13;i++){
pinMode(i,INPUT);
}
}
void loop() {
S3=digitalRead(11);
S2=digitalRead(12);
S1=digitalRead(13);
if(S1==0 && S2==0 && S3==0){
for(i=2;i<=9;i++){
digitalWrite(i,0);
}
digitalWrite(motor,1);
}

if(S1==1 && S2==0 && S3==0){


digitalWrite(2,1);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(motor,1);
}
if(S1==1 && S2==1 && S3==0){
digitalWrite(2,1);
digitalWrite(3,1);
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(motor,1);
}
if(S1==1 && S2==1 && S3==1){
digitalWrite(6,1);
digitalWrite(7,1);
digitalWrite(8,1);
digitalWrite(9,1);
digitalWrite(motor,0);
tone(10,1000,100);
}
}

También podría gustarte