Sie sind auf Seite 1von 19

INSTITUTO POLITCNICO NACIONAL

ESCUELA
SUPERIOR
ELCTRICA.

DE

INGENIERA

MECNICA

UNIDAD CULHUACN

ACADEMIA DE COMPUTACIN.

MICROCONTROLADORES

PROFESORA: GONZLEZ LEDESMA IVN YULIANA

ALUMNOS: COLUNGA NANDO JULIO CESAR.


GALVN MARTNEZ EUSEBIO.
MONTIEL LIMON FRANCISCO.
GRUPO: 7EV11

NDICE.

PROGRAMA STROBER..............................................................................................
PULSADORES..........................................................................................................
SERIAL BEGIN..........................................................................................................
SISTEMA DE DOS SENSORES.................................................................................
FUNCIN MAP........................................................................................................
GONIOMETRO........................................................................................................

PROGRAMA STROBER.
Se disea un programa en el cual se hacen parpadear dos LEDs un
segundo y se apagan dos segundos.
void setup()
{
pinMode(8,OUTPUT);

//Se declara el PIN 8 como salida.

pinMode(9,OUTPUT);

//Se declara el PIN 9 como salida.

pinMode(10,OUTPUT);

//Se declara el PIN 10 como salida.

}
void loop()

//Ejecucion del programa.

{
digitalWrite(8,HIGH);

// Escritura digital activa PIN 8.

digitalWrite(9,HIGH);

// Escritura digital activa PIN 9.

digitalWrite(10,HIGH);

// Escritura digital activa PIN 10.

delay(1000);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(10,LOW);
delay(2000);

//Retardo 1000 milisegundos .


// Escritura digital desactiva PIN 8.
// Escritura digital desactiva PIN 8.
// Escritura digital desactiva PIN 8.
//Retardo 2000 milisegundos.
3

PULSADORES.
Se disea un programa en el cual al mantener presionado un interruptor
se encienda un LED y al dejar de presionarlo se apague.

int pulsador;

//Se declara la variable pulsador de tipo entero.

void setup()
{
pinMode (8,INPUT);//Se declara el PIN 8 como entrada.
pinMode (9,OUTPUT);

//Se declara el PIN 9 como salida.

}
void loop()

//Ejecucin del Programa.

{
pulsador = digitalRead(8);

//Se asigna a la variable pulsador el


valor de la lectura digital del PIN 8.
5

if (pulsador == HIGH)

//Si la variable pulsador es igual y solo


igual a Activo.

{
digitalWrite (9,HIGH);

//Escritura digital activa PIN 9 .

}
else

// De no ser variable pulsador en estado alto


entonces.

{
digitalWrite (9, LOW);

//Escritura digital PIN 9 desactivado.

}
}

Se disea un programa en el cual al mantener presionarlos dos


interruptores se encienden dos LEDs y al dejar de presionarlos se
apaguen.
void setup()
{
pinMode (8,INPUT);//Se declara el PIN 8 como entrada.
pinMode (9,INPUT);//Se declara el PIN 9 como entrada.
pinMode (10,OUTPUT);

//Se declara el PIN 10 como salida.

pinMode (11,OUTPUT);

//Se declara el PIN 11 como salida.

}
void loop()

//Ejecucin del programa.


7

{
int pul1, pul2;

// Se declaran las variables del tipo


entero pul1, pul2.

pul1= digitalRead(8);

//Se asigna el valor de la lectura digital


del PIN 8 a la variable pul1.

pul2= digitalRead(9);

//Se asigna el valor de la lectura digital


del PIN 9 a la variable pul2.

if (pul1 == HIGH && pul2 == HIGH)

//Si y solo si pul1 y pul2 se


encuentran en estado entonces.

{
digitalWrite(10,HIGH);

//Escritura digital activa PIN 10.

digitalWrite(11,HIGH);

//Escritura digital activa PIN 11.

}
else

// De no ser variables pulsador en estado alto entonces.

{
digitalWrite(10, LOW);

//Escritura digital PIN 10 desactivado.

digitalWrite(11, LOW);

//Escritura digital PIN 11 desactivado.

}
}

SERIAL BEGIN.
Disee un programa en el cual se muestre su nombre completo en el
monitor serie.

void setup()
{
Serial.begin (9600);

// Abrir el puerto serial conjunto de datos


velocidad de transmisin de 9600 baudios por
segundo.

}
void loop()

//Ejecucin del Programa.

{
Serial.print ("Eusebio");
Serial.print ("Galvan");
Serial.print ("Martinez");

//Imprime datos en el puerto serial.


//Imprime datos en el puerto serial.
//Imprime datos en el puerto serial.

10

SISTEMA DE DOS SENSORES.


Disee un programa para contar un sistema con dos sensores, uno de
ellos indicara si una accin esta completada mientras que el otro
indicara si est incompleta una accin; la rutina debe ser la siguiente: si
una botella se llena correctamente se debe activar el primer servo y
mostrar por la consola (com.serial) botella llena, luego de esto si la
botella esta tapada deber activarse el segundo sensor y mostrar por la
consola botella llena y tapada al finalizar el proceso deber encenderse
un LED el cual indicara que el proceso, concluyo satisfactoriamente y
adems mostrar un mensaje en consola que dice accin completa.
Primero deber activarse el sensor uno y despus el sensor dos para
que el proceso sea valido.
void setup ()
{
pinMode (3, INPUT);
pinMode (4, INPUT);
pinMode (5, OUTPUT);
Serialbegin (9600);
}
voidLoop()
{
if(digitalRead (3)==HIGH)

//Se declara el PIN 3 como entrada.


//Se declara el PIN 4 como entrada.
//Se declara el PN 5 como salida.
//Inicializa

//Si la lectura digital PIN 3 esta activa


entonces.

{
Serialprint\n(Botella llena); //Muestra en cosola serial.
}
if(digitalRead (4)==HIGH)

//Si la lectura digital PIN 4 esta activa


entonces.

{
Serialprint\n(Botella llena y Tapada);//Muestra en la consola serial.
}
digitalWrite (5, HIGH);

//Lectura digital del PIN 5 Activa.

}
Else
{
11

digitalWrite (5, LOW);

//Escritura digital 5 desactivada.

retun;
}}}

12

Mientras este pulsado S1, una variable inicializada en 0, comience a


incrementar en 20 mili segundos. Al soltar S1 la variable para de
incrementar. Cuando se pulse S2 el valor de la variable debera mostrar
el mensaje 2 Evaluacion de LED, esto quiere decir que el LED estara
intermitente en intervalos de tiempo iguales al valor de la variable,
seguido por consola serial mostrara el valor de la variable.
Para que pueda volver la variable a cero y se pueda generar ora rutina,
colocar la condicion de que si S1 y S2 son son pulsados al mismo timpo
la variable volvera en 0.
#define S1 2
#define S2 3
int tp=0;

//Tiempo presionado inicializada en 0

void setup() {
pinMode(S1,INPUT);
pinMode(S2,INPUT);
pinMode(13,OUTPUT);
Serial.begin(9600);
}
void loop() {
if(digitalRead(S1)==HIGH)
{
Incrementams(20);
}
if(digitalRead(S2)==HIGH)
{
Serial.println("\n");
Serial.print("2a Evaluacion de LED\t");
Serial.print(tp);
Serial.println("ms");
delay(500);
do

{
digitalWrite(13,HIGH);
delay(tp);
digitalWrite(13,LOW);
delay(tp);
}
while(digitalRead(S1)==LOW && digitalRead(S2)==LOW);

13

}
}

delay(500);
tp=0;

void Incrementams(int t)
{
delay(t);
tp+=t;
}

14

15

FUNCIN MAP.
Utilizando la funcin map(); mostrar por consola serial un numero entre
0 y 15, este nmero deber cambiar cuando se mueva un
potencimetro. El numero guardado en una variable entera y mostrar
numero encontrado
int val;
#define T1 2

void setup() {
pinMode(T1,INPUT);
Serial.begin(9600);
}

void loop() {
val=map(analogRead(0),0,1023,0,15);
if(digitalRead(T1)==HIGH)
{
Serial.println("");
Serial.print("Numero encontrado: ");
Serial.println(val);
delay(500);
}
}

16

17

GONIOMETRO.
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); //
int vpot=0;
int vangulo=0;

( RS, EN, d4, d5, d6, d7)

void setup()
{
lcd.begin(16, 2); // Fijar el numero de caracteres y de filas
lcd.print("GONIOMETRO"); // Enviar el mensaje
}
void loop()
{
vpot=analogRead(A2);
if(vpot<1023&&vpot>851)
{
vangulo=map(vpot, 1023, 851, 0, 45);
}
if(vpot<851&&vpot>675)
{
vangulo=map(vpot, 851, 675, 45, 90);
}
if(vpot<675&&vpot>495)
{
vangulo=map(vpot, 675, 495, 90, 135);
}
if(vpot<495&&vpot>314)
{
vangulo=map(vpot, 495, 314, 135, 180);
}
lcd.setCursor(0, 1);
lcd.print("
");
lcd.setCursor(0, 1);
lcd.print(analogRead(A2));
lcd.setCursor(6, 1);
lcd.print(vangulo);
18

delay(500);
}

yuliana5410@gmail.com

19

Das könnte Ihnen auch gefallen