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)