Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
primeros_pasos [2019/05/28 02:01]
admin
primeros_pasos [2020/02/29 04:49] (actual)
admin
Línea 1: Línea 1:
-<font 18px/​inherit;;​inherit;;​inherit><​- descripcion_software_hardware ^ inicio^primeros_pasos→</​font>​+<font 18px/​inherit;;​inherit;;​inherit><​- descripcion_software_hardware ^ inicio^configuracion_pines_entrada_salida->​</​font>​
  
 ====== Primeros Pasos ====== ====== Primeros Pasos ======
  
-===== Comprendiendo los bloques (Retrasos y Pines de Entrada y Salida [E-S]) =====+===== 1. ¿Qué es un microcontrolador?​ ===== 
 + 
 +Un microcontrolador de manera simple, es un dispositivo eléctronico al cual se le carga un código tipicamente en lenguaje de programación C o lenguaje assembler para que ejecute una determinada función, por ejemplo, enceder un motor, leer un sensor de temperatura o humedad, visualizar datos en un display o LCD, enviar datos a internet, etc. Cada uno de los pines del microcontrolador tiene una función. Inicialmente los pines se pueden configurar como entradas o salidas. 
 + 
 +La tarjeta de desarrollo de la plataforma contiene un microcontrolador ATMega328p que tiene la siguiente apariencia:​ 
 +;#; 
 + 
 +{{:​imagen3.png?​nolink&​522x514|Esquemático Atmega328P}} 
 +;#; 
 + 
 +A continuación,​ se describen los bloques de retrasos y configuración de entradas y salidas del microcontrolador. 
 + 
 +===== 2. Comprendiendo los bloques (Retrasos y Pines de Entrada y Salida [E-S]) =====
  
 ---- ----
Línea 22: Línea 34:
 ;#; ;#;
  
-  * //Pin en alto//: Permite asignar un (1) lógico al pin seleccionado. +  * //Pin en alto//: Permite asignar un (1) lógico al pin seleccionado. Este bloque configura automáticamente el Pin seleccionado. 
-  * //Pin en bajo//: Permite asignar un (0) lógico al pin seleccionado.+  * //Pin en bajo//: Permite asignar un (0) lógico al pin seleccionado. Este bloque configura automáticamente el Pin seleccionado.
   * //Leer pin en alto//: Permite leer el estado de un pin en 1 lógico, por ejemplo, si cuando se presiona el pulsador su estado es 1 este bloque leerá el valor.   * //Leer pin en alto//: Permite leer el estado de un pin en 1 lógico, por ejemplo, si cuando se presiona el pulsador su estado es 1 este bloque leerá el valor.
   * //Leer pin en bajo//: Permite leer el estado de un pin en 0 lógico.   * //Leer pin en bajo//: Permite leer el estado de un pin en 0 lógico.
   * //Escribir Puerto//: Asigna el valor seleccionado al puerto (A,B,C o D).   * //Escribir Puerto//: Asigna el valor seleccionado al puerto (A,B,C o D).
   * //​Configurar Puerto//: Permite configurar el puerto seleccionado,​ tomando en cuenta que un uno lógico en el registro DDRx, donde x simboliza el puerto seleccionado,​ un (1) colocará este pin en **modo salida** ​ y un (0) en **modo entrada**. Por ejemplo, si DDRD=0 indica que todo el puerto D servirá como entrada y DDRD=255 indicará que el puerto D es todo de salida. Se debe recordar que todos los registros del microcontrolador ATmega328p son de **8 bits**.   * //​Configurar Puerto//: Permite configurar el puerto seleccionado,​ tomando en cuenta que un uno lógico en el registro DDRx, donde x simboliza el puerto seleccionado,​ un (1) colocará este pin en **modo salida** ​ y un (0) en **modo entrada**. Por ejemplo, si DDRD=0 indica que todo el puerto D servirá como entrada y DDRD=255 indicará que el puerto D es todo de salida. Se debe recordar que todos los registros del microcontrolador ATmega328p son de **8 bits**.
-==== Configuración ====+====== 3. Configuración ​======
  
 Siempre que se deseen usar pines E-S el algoritmo tendrá la siguiente estructura general: Siempre que se deseen usar pines E-S el algoritmo tendrá la siguiente estructura general:
Línea 34: Línea 46:
   - Configurar los pines seleccionados como entrada o salida.   - Configurar los pines seleccionados como entrada o salida.
   - Usar los pines en la aplicación de acuerdo a los bloques establecidos.   - Usar los pines en la aplicación de acuerdo a los bloques establecidos.
 +
 +=====   =====
  
 ---- ----
  
-===  Video de Funcionamiento ===+===== 3.1 Video de Funcionamiento ​=====
  
 A continuación se muestra un video ejemplo con el manejo de los anteriores bloques (para software y hardware). El ejemplo hace oscilar un LED sobre el PIN (PD0) con un periodo de 100ms inicialmente.;#;​ A continuación se muestra un video ejemplo con el manejo de los anteriores bloques (para software y hardware). El ejemplo hace oscilar un LED sobre el PIN (PD0) con un periodo de 100ms inicialmente.;#;​
  
-{{video_1.mp4|320x240}}+{{:video_1.mp4||520x340}}
  
 ;#; ;#;
 ;#; ;#;
  
-{{video2.mp4|320x240}}+{{:video2.mp4||520x340}}
  
 ;#; ;#;
Línea 52: Línea 66:
 ---- ----
  
-==== Código Generado ====+==== 3.1.1 Código Generado ====
  
 La aplicación genera un código listo para el compilador AVR-GCC, el código es el siguiente:<​code>​ La aplicación genera un código listo para el compilador AVR-GCC, el código es el siguiente:<​code>​
Línea 71: Línea 85:
 </​code>​ </​code>​
  
-==== Esquema de Hardware ====+===== 3.1.2 Esquema de Hardware ​=====
  
 De acuerdo con lo mencionado el esquema para el programa de oscilación quedaría como (Conexión LED PD0-pin 30): De acuerdo con lo mencionado el esquema para el programa de oscilación quedaría como (Conexión LED PD0-pin 30):
 ;#; ;#;
  
-{{:​imagen4.png?​nolink&​722x515}}+{{:​imagen4.png?​direct&​722x515}}
 ;#; ;#;
  
  • primeros_pasos.1559008870.txt.gz
  • Última modificación: 2019/05/28 02:01
  • por admin