Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Proyecto de arduino

3,774 views

Published on

varios componentes de arduino & sus breves descripciones

Published in: Education
  • Be the first to comment

  • Be the first to like this

Proyecto de arduino

  1. 1. 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
  2. 2. -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
  3. 3. 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)
  4. 4. 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);
  5. 5. 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
  6. 6. -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 ArduinoUno 1 x Protoboard ( 1 x Matriz LED 16 Resistencias 220Ω 1 Juegode 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
  7. 7. Código #include "C:C_CCS_proyecmatrix8x8.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,
  8. 8. 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;
  9. 9. } 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);
  10. 10. 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
  11. 11. -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
  12. 12. 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
  13. 13. 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
  14. 14. -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
  15. 15. 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];
  16. 16. 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; }
  17. 17. } 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() {
  18. 18. 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
  19. 19. 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
  20. 20. Diagrama Código // VU METER intsoundPin= A0; voidsetup() { Serial.begin(9600); } voidloop() { int value = analogRead(soundPin); int topLED = 1 + abs(value)/10; for (inti =0; i < topLED; i++) {
  21. 21. Serial.print("*"); } Serial.println(); Serial.println(value);//printvalue forcheckingpurposes 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.
  22. 22. -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
  23. 23. 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) ----- * /
  24. 24. 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
  25. 25. } 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.
  26. 26. -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
  27. 27. Código /*-----Declaracionde variablesparacadacolor R G B-----*/ intrled= 11; // PinPWN 11 para ledrojo intbled= 10; // PinPWM 10 para ledazul intgled= 9; //PinPWM 9 para ledverde /*----Declaracionde variablesauxiliares-----*/ inti; // Variable paraciclosrepetitivos intrepeat= 5; // Variablesparacantidadlimite de repeticiones voidsetup() { /*----- Se inicializanpinesPWMcomosalida*/ pinMode(rled,OUTPUT);
  28. 28. pinMode(bled,OUTPUT); pinMode(gled,OUTPUT); } voidloop() { for(i=0;i<repeat;i++) //Se repite laejecucionde lafuncionrgbon() "repeat"veces rgbon(); delay(1000);//Se espera1 segundo colors('y');//Se enciende el LEDencolor amarillo(yde yellow) delay(1000); colors('o');//Se enciendeel LEDencolor naranko(ode orange) delay(1000); colors('p');//Se enciendeel LEDencolor rosado(p de pink) delay(1000); } /*-----Funcionparamostrarcoloresprincipalescada500 ms-----*/ voidrgbon(){ analogWrite(rled,255);//Se enciende colorrojo delay(500); //Se esperan500 ms analogWrite(rled,0); //Se apaga colorrojo analogWrite(bled,255);//Se enciende colorazul delay(500); //Se esperan500 ms analogWrite(bled,0); // Se apaga color azul analogWrite(gled,255);//Se enciende color verde delay(500); //Se esperan500 ms
  29. 29. analogWrite(gled,0); // Se apaga colo verde } /*-----Funcionque permite escogerentre coloramarillo,naranjoorosado-----*/ voidcolors(charcolor){ //Lafuncionrecibe unparametroque se guarda en variable color switch(color){ //Se comparavariablecolorcondato guardado case 'y': analogWrite(rled,255);//Si color == 'y' se enciende coloramarillo analogWrite(gled,255);//Mezclandor = 255 / g = 255 / b = 0 analogWrite(bled,0); break; case 'o': analogWrite(rled,255);//Si color== 'o' se enciende colornaranjo analogWrite(gled,180);//Mezclandor = 255 / g = 180 / b = 0 analogWrite(bled,0); break; case 'p': analogWrite(rled,255);//Si color== 'p' se enciende colorrosado analogWrite(gled,0); //Mezclandor = 255 / g = 0 / b = 255 analogWrite(bled,255); break; } } Evidencias
  30. 30. 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.

×