View
383
Download
1
Category
Preview:
Citation preview
Colegio de estudios científicos y tecnológicos del estado de México
Plantel Tecámac
Evaluación del SER
“10 componentes de ARDUINO”
Asignatura: Administra Sistemas Operativos
Profe: Rene Domínguez Escalona
Integrantes:
Sergio Eduardo Num.Lista:10
Uriel Álvarez Num.Lista:36
Alma Brenda Num.Lista:37
David Hernández Num.Lista:17
Nataly Llaca Num.Lista:28
Ian Gustavo Num. Lista: 43
Grupo: 503
-DISPLAY DE 7 SEGMENTOS-
Introducción
En este proyecto que se realiza será de un display de 7 segmentos de Arduino.
Se verá a continuación lo que es su código, su procedimiento su diagrama para sea más fácil poder
llegar a conectarlo y poder entender parte de su código
Objetivo
El objetivo principal de este proyecto que es display de 7 segmentos con arduino es aprender bien a
poder conectarlo y entender un poco más sobre cada componente de arduino, y con esto
conoceremos lo que es más su funcionalidad y como aprender a usarlo
Materiales
Arduino
Display de 7 segmentos
1 Resistencia de 220 Ohms
8 Cables de conexion
Funcionamiento
Consiste en un display de este tipo no es más que un conjunto de LED’S Nosotros usaremos el
display es decir, internamente todos los LED’s comparten la misma tierra (GND) El circuito es fácil de
armar, las configuraciones pueden variar, solo recuerda declarar bien los pines dentro del código de
Arduino.
Conexión
Como se puede apreciar las conexiones quedaron de la siguiente manera:
Pin A del Display al pin 2 del Arduino
Pin B del Display al pin 3 del Arduino
Pin G del Display al pin 0 del Arduino
Pin F del Display al pin 1 del Arduino
Pin E del Display al pin 4 del Arduino
Pin D del Display al pin 5 del Arduino
Pin C del Display al pin 6 del Arduino
La tierra del display va conectada a un extremo de la resistencia y el otro extremo de la
resistencia va conectado a tierra del Arduino (GND)
Programa de Arduino
En el cogido se explica para que es cada línea de comando y así se puede entender mejor para
que funciona cada parte
int pausa=1000; // Variable que define el intervalo de tiempo entre cada digito
void setup()
{ pinMode(7, OUTPUT); // Asignación de las salidas digitales pinMode(8, OUTPUT);
pinMode(9, OUTPUT); pinMode(10, OUTPUT);
pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT);
} void display (int a, int b, int c, int d, int e, int f, int g)
// Funcion del display { digitalWrite (7,a); //Se reciben 7 variables y se asignan
digitalWrite (8,b); //a cada una de las salidas digitalWrite (9,c);
digitalWrite (10,d); digitalWrite (11,e); digitalWrite (12,f); digitalWrite (13,g);
} void loop() //Funcion principal
// Dependiendo de cada dígito, se envía a la función display // los estados (0 y 1) a cada uno de los segmentos {
display (1,1,1,1,1,1,0); //escribe 0 delay(pausa);
display (0,1,1,0,0,0,0); //escribe 1 delay(pausa); display (1,1,0,1,1,0,1); //escribe 2
delay(pausa); display (1,1,1,1,0,0,1); //escribe 3
delay(pausa); display (0,1,1,0,0,1,1); //escribe 4 delay(pausa);
display (1,0,1,1,0,1,1); //escribe 5 delay(pausa);
display (1,0,1,1,1,1,1); //escribe 6 delay(pausa);
display (1,1,1,0,0,0,0); //escribe 7
delay(pausa); display (1,1,1,1,1,1,1); //escribe 8 delay(pausa);
display (1,1,1,0,0,1,1); //escribe 9 delay(pausa);
}
CODIGO DEL VIDEO
nt led = 13;
int led1 = 12;
int led2 = 11;
int led3 = 10;
int led4 = 9;
int led5 = 8;
int led6 = 7;
void setup() { pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
}
Conclusion
En este proyecto relativamente fácil de ejecutar pudios comprender unpoco mas sobre arduino UNO
y asi con el cosigo explicada cada parte es mas fácil entender la importancia de los componentes
para el funcionamiento de el display de 7 segmentos y asi como a nosotros nos sirvio en distintos
sentidos el código
-MATRIZ DE LEDS-
Introducción
Nuestro proyecto consiste en dar a conocer el funcionamiento de matriz de led´s y asi como el
codigo que implementamos para poder hacer que el proyecto se llevara acabo y con el codigo se
mostrara el mensaje que mandara
Objetivo
Mostrar como es el diseño y la construcción de una matriz led 8x8 y a su vez Implementar todos los
conocimientos adquiridos
Materiales
1 x Arduino Uno
1 x Protoboard (
1 x Matriz LED
16 Resistencias 220Ω
1 Juego de Cables
Funcionamiento
En este circuito, se verá como se conecta y cual es la resistencia que debemos colocar en función de
sus características técnicas, y una matriz, como veremos, no es más que un montón de led en un
mismo encapsulado
Código
#include "C:\C_CCS_proyec\matrix8x8.h"
void fConfigurar_puertos(void);
void envio_serial(void);
#BYTE PORTA=0X05
#BYTE PORTB=0X06
int8 LetraA[8]={ //A
0b11111111,
0b11000001,
0b10000001,
0b10110111,
0b10110111,
0b10000001,
0b11000001,
0b11111111};
int8 LetraO[8]={ //0
0b11111111,
0b11000011,
0b10000001,
0b10110101,
0b10101101,
0b10000001,
0b11000011,
0b11111111};
int8 LetraG[8]={ //G
0b11111111,
0b11000011,
0b10000001,
0b10110101,
0b10110101,
0b10010001,
0b11010011,
0b11111111};
int8 LetraE[8]={ //E
0b11111111,
0b11000011,
0b10000001,
0b10100101,
0b10100101,
0b10100101,
0b10100101,
0b11111111};
int8 Display2=0b00000001;
signed int num,ini;
signed int n;
int8 b,d,w;
int8 reg;
int32 contador;
void main(){
set_tris_a(0);
set_tris_b(0);
output_a(0);
output_b(0x00);
ini=-32;
while (1){
for (num=0;num<8;num++){
for (reg=0;reg<40;reg++){
output_b(0x00);
if (b>7){
b=0;}
if (reg<8){
d=bit_test(LetraA[num],b);
envio_serial();
}
else
if (reg<16){
d=bit_test(LetraG[num],b);
envio_serial();}
else
if (reg<24){
d=bit_test(LetraE[num],b);
envio_serial();}
else
if (reg<32){
d=bit_test(LetraO[num],b);
envio_serial();}
b=b+1;
}
output_b(Display2);
delay_ms(1);
Display2=Display2<<1;
n=n+1;
if (n>7){
Display2=0x01;
n=0;
}
}
}
}
void envio_serial(void){
switch (d){
case 0:
bit_clear(porta,0);
bit_set(porta,1);
delay_us(1);
bit_clear(porta,1);
break;
default:
bit_set(porta,0);
bit_set(porta,1);
delay_us(1);
bit_clear(porta,1);
break;
}
}
////config
void fConfigurar_puertos(void){
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
}
Evidencias
Descripción de funcionamiento
Su funcionamiento es muy básico, solo prende y apaga en forma de onda de una esquina a la otra.
Conclusión
En este proyecto que no fue tan fácil de poder realizar pero al final pudimos conectarlo, ahora nos
damos cuenta de cada componente de arduino es fácil de conectar si se tiene empeño en lo que se
hace nos ha servido de mucho
-RFID-
Introducción
En este proyecto que se realiza será de un RFID para asi poder aprender más de su funcionamiento.
Se verá a continuación lo que es su código, su procedimiento su diagrama para sea más fácil poder
llegar a conectarlo y poder entender parte de su código
Objetivo
El objetivo principal de este proyecto que es RFID con arduino es aprender a como manipular este
componente sobre la protoboard y un arduino para así dar a conocer su funcionamiento.
Materiales
Arduino uno
-protoboard
-RFID
-
Diagrama
Código
int val = 0;
char code[14];
// 2 digits manufacture code
// 10 digits card code
// 2 digits parity bits
int bytesread = 0;
int led = 8;
void setup() {
Serial.begin(9600); // RFID reader TX pin, Baud rate: 9600, Data bits: 8, stop bit: 1.
pinMode(2,OUTPUT); // Set digital pin 2 as OUTPUT to connect it to the RFID RESET pin
pinMode(led,OUTPUT);
digitalWrite(2, HIGH); // Activate the RFID reader
}
void loop() {
if(Serial.available() > 0) { // if data available from reader
if((val = Serial.read()) == 10) { // check for header
bytesread = 0;
while(bytesread < 14) { // read 14 digit code
if( Serial.available() > 0) {
val = Serial.read();
if((val == 10)||(val == 13)) { // if header or stop bytes before the 10 digit reading
break; // stop reading
}
code[bytesread] = val; // add the digit
bytesread++; // ready to read next digit
}
}
if(bytesread == 14) { // if 14 digit read is complete
Serial.print("TAG code is: "); // possibly a good TAG
Serial.println(code); // print the TAG code
digitalWrite(led, HIGH);
}
bytesread = 0;
digitalWrite(2, LOW); // deactivate the RFID reader for a moment so it will not flood
delay(1500); // wait for a bit
digitalWrite(2, HIGH); // Activate the RFID reader
digitalWrite(led, LOW);
}
}
}
Description de funcionamiento
Básicamente el funcionamiento de nuestro RFID es que cuando se le pasa la tarjeta sobre la tarjeta
de rfid esta prendera un led que se encuentra en nuestra protoboard
Evidencia
Conclusión
Al realizar este trabajo pudimos adquirir nuevos conocimientos sobre la asignatura de ASO y
comprender un poco más sobre arduino uno a su máxima extensión
-CONTROL REMOTO-
Introducción
En este proyecto que se realiza será del CONTROL REMOTO para así poder aprender más de su
funcionamiento.
Se verá a continuación lo que es su código, su procedimiento su diagrama para sea más fácil poder
llegar a conectarlo y poder entender parte de su código
Objetivo
El objetivo principal de este proyecto que es control remoto con arduino es aprender a como
manipular este componente sobre la protoboard y un arduino para así dar a conocer su
funcionamiento
Materiales
-batería
-arduino uno
-control remoto
-VS1838
Diagrama
Código
// Cantidad de pulsos
#define TRAIN_LENGTH 32
// En microsegundos
#define LOW_LIMIT 600
#define HIGH_LIMIT 1800
#define INIT_LIMIT 4000
#define IN 2
#define LED 13
long start, delta = 0;
uint32_t value;
int pos = 0;
boolean has_value = false;
unsigned int key[10];
void inputPin() {
noInterrupts();
if (has_value) return;
if (digitalRead(IN) == HIGH) {
start = micros();
}
else {
delta = micros() - start;
if (delta < LOW_LIMIT) {
value <<= 1;
value |= 1;
++pos;
}
else if (delta < HIGH_LIMIT) {
value <<= 1;
value |= 0;
++pos;
}
else if (delta > INIT_LIMIT) {
value = 0;
pos = 0;
}
if (pos == TRAIN_LENGTH) {
has_value = true;
}
}
interrupts();
}
void setup()
{
key[0] = 0x9768;
key[1] = 0xCF30;
key[2] = 0xE718;
key[3] = 0x857A;
key[4] = 0xEF10;
key[5] = 0xC738;
key[6] = 0xA55A;
key[7] = 0xBD42;
key[8] = 0xB54A;
key[9] = 0xAD52;
Serial.begin(115200);
pinMode(IN, INPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
attachInterrupt(0, inputPin, CHANGE);
}
void loop()
{
int i;
if (has_value) {
Serial.print("V: ");
Serial.println(value & 0x0000FFFF, HEX);
i = 0;
while(i<10 && (key[i] != (value & 0x0000FFFF))) ++i;
Serial.println(i);
while(i--) {
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
delay(200);
}
has_value = false;
pos = 0;
}
}
Evidencias
Descripción de funcionamiento
Su funcionamiento es muy sencillo, solo al presionar el botón numero 5 el led RGB prendera de color
azul y ya.
Conclusión
al realizar este trabajo nos pudimos percatar de cuan interesante es todo esto de arduino que en lo
personal me parece una muy buena actividad para realizar en equipo
-MICROFONO-
Introducción
Las ondas de sonido son pequeños cambios en la presión del aire. Un micrófono es el transductor
encargado de convertir esa onda en una señal eléctrica medible, análoga a el sonido que se quiere
medir. Sin embargo, la señal obtenida del micrófono debemos amplificarla, para eso usualmente esta
función se implementa mediante un amplificador operacional, en nuestro caso utilizaremos un
módulo de micrófono que ya incluye dicho amplificador.
Objetivo
El objetivo principal de este proyecto que es micrófono con arduino es aprender a como manipular
este componente sobre la protoboard y un arduino para así dar a conocer su funcionamiento y sus
propiedades.
Materiales
-arduino uno
-cable USB
-cables de protoboard macho y hembra
-micrófono
-LED
Diagrama
Código
// VU METER
int soundPin = A0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int value = analogRead(soundPin);
int topLED = 1 + abs(value) / 10;
for (int i =0; i < topLED; i++)
{
Serial.print("*");
}
Serial.println();
Serial.println(value); // print value for checking purposes
delay(100);
}
Evidencias
Descripción de funcionamiento
Su funcionamiento es muy sencillo, cuando damos un sonido muy fuerte el diodo led se prende por
medio de la resonancia que tengamos ajustada en el código de nuestro componente.
Conclusión
Al realizar este trabajo pudimos percatarnos de cómo funcionan las resonancias dentro de nuestro
arduino y que es muy interesante aprender más sobre el micrófono de nuestro arduino.
-JOYSTICK-
Introducción
En este proyecto mostraremos la función que tiene un joystick con un servo motor moviéndose en
dirección x, y.
Objetivo
El objetivo principal de este proyecto que joystick con arduino es aprender a como manipular este
componente sobre la protoboard y un arduino para así dar a conocer su funcionamiento y sus
propiedades.
Materiales
-arduino uno
-protoboard
-joystick
-servomotor
-cables de conexión macho y hembra
Diagrama
Código
/ *
#include < Servo .h>
/ * ----- (Declarar Constantes y Números de patas) ----- * /
#define ServoHorizontalPIN 3 // ¿Se puede cambiar 3,5,6,9,10,11
ServoVerticalPIN #define 5 // ¿Se puede cambiar 3,5,6,9,10,11
#define HorizontalPotPin A0 entrada // analógica 0 (cero)
#define VerticalPotPin A1 // Entrada analógica 0 (cero)
#define ServoMIN_H 20 // No vaya al final del recorrido del servo
#define ServoMAX_H 160 // que no puede ser el final de 0 a 180.
#define ServoMIN_V 20 // No vaya al final del recorrido del servo
#define ServoMAX_V 160 // que no puede ser el final de 0 a 180.
/ * ----- (Declarar objetos) ----- * /
Servo HorizontalServo; // crear objeto servo para controlar un servo
Servo VerticalServo; // crea objeto servo para controlar un servo
// un máximo de ocho objetos servo se puede crear
/ * ----- (Declarar Variables) ----- * /
int HorizontalPotValue; // El usuario mueve el bote.
int HorizontalServoPosition; // variable para almacenar la posición del servo
int VerticalPotValue;
int VerticalServoPosition;
void setup () / ****** SETUP: se ejecuta una vez ****** /
{
. HorizontalServo adjuntar (ServoHorizontalPIN); // concede el servo al objeto servo
VerticalServo. adjuntar (ServoVerticalPIN); // concede el servo al objeto servo
} // - (configuración final) ---
void loop () / ****** BUCLE: ejecuta constantemente ****** /
{
HorizontalPotValue = analogRead (HorizontalPotPin); // Obtener el valor como usuario mueve olla
VerticalPotValue = analogRead (VerticalPotPin); // Obtener el valor como usuario mueve la olla
// Escala para usarlo con el servo (valor entre MIN y MAX)
HorizontalServoPosition = mapa (HorizontalPotValue, 0, 1023, ServoMIN_H, ServoMAX_H);
VerticalServoPosition = mapa (VerticalPotValue, 0, 1023, ServoMIN_V, ServoMAX_V);
// Decirle servos para ir a la posición
HorizontalServo. escribir (HorizontalServoPosition);
VerticalServo. escribir (VerticalServoPosition);
retardo (25); // esperar a que el servo para llegar a la posición de
}
Evidencias
Descripción de funcionamiento
Cuando giramos el joystick en dirección en x, el servomotor se moverá unos 25 grados y cuando lo
giramos en dirección y, regresara los 25 grados anteriores.
Conclusión
Al concluir este trabajo cabe remarcar que fue una labor de mucho esfuerzo pero al final obtuvimos
el resultado deseado y satisfactorio para el equipo.
-LED RGB-
Introducción
En este proyecto mostraremos la función que tiene el led RGB de nuestro paquete de arduino.
Objetivo
El objetivo principal de este proyecto que es el LED RGB con arduino es aprender a como manipular
este componente sobre la protoboard y un arduino para así dar a conocer su funcionamiento y sus
propiedades.
Materiales
-arduino uno
-LED RGB
-Resistencias de 220 Ohm
-Cables de conexión
Diagrama
Código
/*-----Declaracion de variables para cada color R G B-----*/
int rled = 11; // Pin PWN 11 para led rojo
int bled = 10; // Pin PWM 10 para led azul
int gled = 9; // Pin PWM 9 para led verde
/*----Declaracion de variables auxiliares-----*/
int i; // Variable para ciclos repetitivos
int repeat = 5; // Variables para cantidad limite de repeticiones
void setup() {
/*----- Se inicializan pines PWM como salida*/
pinMode(rled, OUTPUT);
pinMode(bled, OUTPUT);
pinMode(gled, OUTPUT);
}
void loop() {
for(i=0; i<repeat; i++) //Se repite la ejecucion de la funcion rgbon() "repeat" veces
rgbon();
delay(1000); //Se espera 1 segundo
colors('y'); //Se enciende el LED en color amarillo (y de yellow)
delay(1000);
colors('o'); //Se enciende el LED en color naranko (o de orange)
delay(1000);
colors('p'); //Se enciende el LED en color rosado (p de pink)
delay(1000);
}
/*-----Funcion para mostrar colores principales cada 500 ms-----*/
void rgbon(){
analogWrite(rled,255); // Se enciende color rojo
delay(500); // Se esperan 500 ms
analogWrite(rled,0); // Se apaga color rojo
analogWrite(bled,255); // Se enciende color azul
delay(500); // Se esperan 500 ms
analogWrite(bled,0); // Se apaga color azul
analogWrite(gled,255); // Se enciende color verde
delay(500); // Se esperan 500 ms
analogWrite(gled,0); // Se apaga colo verde
}
/*-----Funcion que permite escoger entre color amarillo, naranjo o rosado-----*/
void colors(char color){ //La funcion recibe un parametro que se guarda en variable color
switch(color){ //Se compara variable color con dato guardado
case 'y': analogWrite(rled,255); // Si color == 'y' se enciende color amarillo
analogWrite(gled,255); // Mezclando r = 255 / g = 255 / b = 0
analogWrite(bled,0);
break;
case 'o': analogWrite(rled,255); // Si color == 'o' se enciende color naranjo
analogWrite(gled,180); // Mezclando r = 255 / g = 180 / b = 0
analogWrite(bled,0);
break;
case 'p': analogWrite(rled,255); // Si color == 'p' se enciende color rosado
analogWrite(gled,0); // Mezclando r = 255 / g = 0 / b = 255
analogWrite(bled,255);
break;
}
}
Evidencias
Descripción de Funcionamiento
Su funcionamiento es cambiar a muchos colores el mismo led que en este caso es LED RGB.
Conclusión
Al realizar este trabajo nos pudimos percatar de que se desarrolló de una manera muy sencilla en
comparación a anteriores trabajos por lo cual quedamos satisfechos por el resultado de dicho
proyecto.
Recommended