En esta práctica encendemos un led mediante un pulsador.
Conectamos el led en D4 y el pulsador en D12, los configuramos como salida y entrada respectivamente.
La resistencia R2 conectada a D12 se llama "pull down" y se pone para conectar a tierra D12, así nos aseguramos que previo a pulsar S1 hay un cero en D12.
Esquema
int switch = 0;
void setup(){
pinMode(4,OUTPUT);
pinMode(12,INPUT);
Serial.begin(9600);
}
void loop(){
switch = digitalRead(12);
if (switch == HIGH) {
digitalWrite(4, HIGH);
}
else {
digitalWrite(4, LOW);
}
}
Proyecto 2b
En el siguiente ejercicio añadimos más complejidad al circuito, con dos pulsadores y tres leds.
Si pulsamos S1 se enciende LED3, si pulsamos S2 se enciende LED3, si pulsamos S1 y S2, se encienden los tres leds.
Esquema
Sketch
int rightswitch = 0;
int leftswitch = 0;
void setup(){
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
Serial.begin(9600);
}
void loop(){
rightswitch = digitalRead(7);
leftswitch = digitalRead(8);
if (rightswitch == HIGH) {
digitalWrite(2, HIGH);
}
else {
digitalWrite(2, LOW);
}
if (leftswitch == HIGH) {
digitalWrite(4, HIGH);
}
else {
digitalWrite(4, LOW);
}
if (rightswitch == HIGH && leftswitch == HIGH) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
delay(250);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
delay(250);
}
else {
digitalWrite(3, LOW);
}
}
Proyecto 2c
En el siguiente ejercicio añadimos un tercer pulsador.
Si pulsamos S1 y S2 se encienden LED2, LED3.
Si pulsamos S2 y S3 se encienden LED3, LED4.
Si pulsamos S1, S2 y S3, se enciende LED3.
Esquema
Sketch
int rightswitch = 0;
int leftswitch = 0;
int centerswitch = 0;
void setup(){
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
pinMode(9,INPUT);
Serial.begin(9600);
}
void loop(){
centerswitch = digitalRead(8);
leftswitch = digitalRead(9);
rightswitch = digitalRead(7);
if (leftswitch == HIGH && centerswitch == HIGH) {
digitalWrite(4, HIGH);
digitalWrite(3, HIGH);
}
else {
digitalWrite(4, LOW);
digitalWrite(3, LOW);
}
if (rightswitch == HIGH && centerswitch == HIGH) {
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
}
else {
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
if (rightswitch==HIGH && leftswitch==HIGH && centerswitch==HIGH) {
digitalWrite(3, HIGH);
}
else {
digitalWrite(3, LOW);
}
}
Links
No hay comentarios.:
Publicar un comentario