Writing /var/lib/dokuwiki/data/meta/teaching/ie0624/actividad_pwm_servo_relay.meta failed
teaching:ie0624:actividad_pwm_servo_relay
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
teaching:ie0624:actividad_pwm_servo_relay [2017/05/10 17:44] – created admin | teaching:ie0624:actividad_pwm_servo_relay [2022/09/20 00:08] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 29: | Line 29: | ||
- Bitácora de trabajo describiendo el resultado de todos los pasos seguidos de la guía incluyendo dificultades y/o situaciones inesperadas. 30% | - Bitácora de trabajo describiendo el resultado de todos los pasos seguidos de la guía incluyendo dificultades y/o situaciones inesperadas. 30% | ||
- Capturas o fotografías de puntos importantes realizadas durante la actividad (el circuito ensamblado, resultados observables en el osciloscopio, | - Capturas o fotografías de puntos importantes realizadas durante la actividad (el circuito ensamblado, resultados observables en el osciloscopio, | ||
- | - Respuestas al cuestionario de la guía. 20% | + | - Respuestas al cuestionario de la guía. 20% (deben estar claramente identificadas con el número de pregunta, sin confundirse con otra númeración en el reporte) |
- Todo el código fuente de todos los programas utilizados a lo largo de la actividad. Debe agregar al inicio del código una descripción sobre dicho código (a qué parte de la práctica corresponde, | - Todo el código fuente de todos los programas utilizados a lo largo de la actividad. Debe agregar al inicio del código una descripción sobre dicho código (a qué parte de la práctica corresponde, | ||
- Referencias utilizadas en caso de acceder a alguna fuente de información de Internet o bibliográfica durante la realización de la actividad. 8% | - Referencias utilizadas en caso de acceder a alguna fuente de información de Internet o bibliográfica durante la realización de la actividad. 8% | ||
Line 36: | Line 36: | ||
==== Parte 1. PWM ==== | ==== Parte 1. PWM ==== | ||
+ | |||
+ | * Conecte un LED con una resistencia de 1k en el pin D9 del arduino | ||
+ | * Ejecute el siguiente código | ||
+ | |||
+ | <code c> | ||
+ | #define ledPin 13 | ||
+ | #define pwmout 9 | ||
+ | | ||
+ | void setup() | ||
+ | { | ||
+ | pinMode(ledPin, | ||
+ | pinMode(pwmout, | ||
+ | | ||
+ | // initialize timer1 | ||
+ | noInterrupts(); | ||
+ | TCCR1A = 0; | ||
+ | TCCR1B = 0; | ||
+ | TCCR1A = (1 << COM1A0) | (1 << COM1A1) | ||
+ | TCCR1B = (1 << WGM12); | ||
+ | TCNT1 = 0; | ||
+ | | ||
+ | OCR1A = 511; // compare match register | ||
+ | TCCR1B |= (1 << CS12) | (1<< CS10); | ||
+ | TIMSK1 |= (1 << OCIE1A); | ||
+ | TIMSK1 |= (1 << TOIE1); | ||
+ | interrupts(); | ||
+ | } | ||
+ | | ||
+ | ISR(TIMER1_COMPA_vect) | ||
+ | { | ||
+ | digitalWrite(ledPin, | ||
+ | } | ||
+ | | ||
+ | ISR(TIMER1_OVF_vect) | ||
+ | { | ||
+ | TCNT1 = 0; // preload timer | ||
+ | digitalWrite(ledPin, | ||
+ | } | ||
+ | | ||
+ | void loop() | ||
+ | { | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | * **1) Qué modo de operación está utilizando el timer 1?** | ||
+ | * **2) Cuál es el ciclo de trabajo del LED en el programa arriba?** | ||
+ | * Cambie el programa de arriba para configurar el PWM a 10%. Observe, corrobore y anote la salida con un osciloscopio. | ||
+ | * Cambie el programa de arriba para configurar el PWM a 90%. Observe, corrobore y anote la salida con un osciloscopio. | ||
+ | * Cambie el programa para que utilice PWM phase and frequency correct | ||
+ | * Cambie el programa para que utilice el comando analogWrite() de arduino | ||
==== Parte 2. Servo ==== | ==== Parte 2. Servo ==== | ||
- | ==== Parte 3. Relay ==== | + | * Configure el programa anterior para garantizar un funcionamiento correcto del servo (Cumplir con los requerimientos de temporización de la señal de un servo) (No puede utilizar analogWrite) |
+ | * Cambie el valor del PWM de 0% a 100% cada 2 segundos (desde la función loop). Observe el servo moverse del máximo al mínimo de posición. Capture ambos casos con el osciloscopio. | ||
+ | |||
+ | ==== Parte 3. Serial ==== | ||
+ | |||
+ | * Realice un programa que reciba datos del puerto serial y los vuelva a enviar de vuelta a la PC. En la PC utilice el comando minicom | ||
+ | |||
+ | ==== Parte 4. Relay ==== | ||
+ | |||
+ | * Reciba un comando de ON y otro de OFF del puerto serial desde minicom y con estos encienda y apague un relay conectado al pin D6. El LED integrado del Arduino debe seguir el estado del relay | ||
===== Referencias ===== | ===== Referencias ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
teaching/ie0624/actividad_pwm_servo_relay.1494438265.txt.gz · Last modified: 2022/09/20 00:08 (external edit)