User Tools

Site Tools


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.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:ie0624:actividad_pwm_servo_relay [2017/05/10 18:42] adminteaching: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, etc) 20%   - Capturas o fotografías de puntos importantes realizadas durante la actividad (el circuito ensamblado, resultados observables en el osciloscopio, etc) 20%
-  - 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, la función que cumple dicho código). 20%   - 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, la función que cumple dicho código). 20%
   - 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 37: Line 37:
 ==== 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 ledPin 13
   #define pwmout 9    #define pwmout 9 
Line 45: Line 48:
     pinMode(ledPin, OUTPUT);     pinMode(ledPin, OUTPUT);
     pinMode(pwmout, OUTPUT);     pinMode(pwmout, OUTPUT);
 +  
     // initialize timer1       // initialize timer1  
     noInterrupts();           // disable all interrupts     noInterrupts();           // disable all interrupts
Line 60: Line 63:
     interrupts();             // enable all interrupts     interrupts();             // enable all interrupts
   }   }
 +  
   ISR(TIMER1_COMPA_vect)          // timer compare interrupt service routine   ISR(TIMER1_COMPA_vect)          // timer compare interrupt service routine
   {   {
     digitalWrite(ledPin, digitalRead(ledPin) ^ 1);   // toggle LED pin     digitalWrite(ledPin, digitalRead(ledPin) ^ 1);   // toggle LED pin
   }   }
 +  
   ISR(TIMER1_OVF_vect)        // interrupt service routine that wraps a user   defined function supplied by attachInterrupt   ISR(TIMER1_OVF_vect)        // interrupt service routine that wraps a user   defined function supplied by attachInterrupt
   {   {
Line 76: Line 79:
            
   }   }
 +</code>
  
 +  * **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://www.arduino.cc/en/reference/serial
 +
 +https://www.arduino.cc/en/Reference/analogWrite
 +
 +https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM
 +
 +https://www.arduino.cc/en/Serial/Read
 +
 +https://www.arduino.cc/en/Serial/Write
 +
 +https://www.arduino.cc/en/serial/print
 +
 +https://www.arduino.cc/en/Reference/StreamRead
  
teaching/ie0624/actividad_pwm_servo_relay.1494441722.txt.gz · Last modified: 2022/09/20 00:08 (external edit)