Sei sulla pagina 1di 2

Arduino es una familia de tarjetas de desarrollo-un entorno de desarrollo En un sistema con

arquitectura Harvard ¿habra instrucciones para leer o escribir en la memoria de datos? Si se puede
La extensión del código de maquina que puede interpretar un microcontrolador es .asm El
microprocesador es un sistema abierto mientras que el microcontrolador es un sistema cerrado
En la memoria ram se almacenan las variables y datos, mientras q la memoria rom contiene el
programa de instrucciones
Las unidades básicas de una computadora son cpu, relog y unidades de e/s falso
Es obligatorio inicializar el valor de una variable cuando se declara falso
Flash es un tipo de memoria volátil de bajo consumo falso
El watch dog es un oscilador que genera una onda cuadrada de alta frecuencia falso
En arduino se pueden usar los pines analógicos para leer o escribir datos digitales falso
Un Microcontrolador o MCU (Micro – Controller Unit) es un circuito integrado que incluye las tres
unidades básicas de una computadora: CPU, memoria y unidades de E/S.
𝜇Procesador: Es un sistema abierto con el que puede construirse un computador con las
características que se desee, acoplándole los módulos necesarios.
𝜇Controlador: Es un sistema cerrado que contiene un computador completo; todas las partes del
computador están contenidas en su interior y solo salen al exterior las líneas que gobiernan los
periféricos
Recursos comunes a todos los microcontroladores cpu-memoria-puertos de e/s-relog principal -
recursos especiales

RAM (Random Access Memory): Es volátil. Almacena variables y datos. ➢ROM (Read Only
Memory): Contiene el programa de instrucciones. ❑ROM con máscara: Se graba durante la
fabricación. Elevado costo. ❑OTP (One Time Programmable): Se puede programar una única vez.
❑EPROM (Erasable Programmable ROM): Puede reprogramarse múltiples veces. Se somete a
rayos ultravioletas durante varios minutos. ❑EEPROM (Electrical Erasable Programmable ROM):
Puede reprogramarse múltiples veces de una forma rápida y sencilla. ❑FLASH: Memoria no volátil
de bajo consumo, que se puede escribir y borrar. Más rápida y de mayor densidad que la EEPROM.
Von Neumann Existe una sola memoria, donde coexisten las instrucciones de programa y los
datos, accedidos con un bus de dirección, uno de datos y uno de control- Longitud de las
instrucciones por el bus de datos (varios accesos a memoria para instrucciones complejas).
Velocidad de operación (bus único para datos e instrucciones) e impide superponer ambos
tiempos de acceso
Harvard Son independientes la memoria de instrucciones y la memoria de datos y cada una
dispone de su propio sistema de buses para el acceso, lo que permite optimizar sus características
y proporcionar el paralelismo. Esta dualidad, además de propiciar el paralelismo, permite la
adecuación del tamaño de las palabras y los buses a los requerimientos específicos de las
instrucciones y de los datos
Cpu Se encarga de direccionar la memoria de instrucciones, recibir el código de la instrucción en
curso, su decodificación y la ejecución de la operación.
Entradas digitales ❑Switch ❑Pulsador ❑Teclado matricial ❑Circuito digital (compuerta,
microcontrolador, FPGA, etc

Salidas digitales LED ❑Display 7 segmentos ❑LCD / LCD gráfico ❑Motor DC (PWM) ❑Motor PAP
pinMode-configurar un pin --digital read leer un pin digita(0.1)—digitalwrite escribir un pin
digital(0.1)—analogRead leer un valor análogo(0.1023)—analogWrite(pwm escribir un valor
análogo 0-255)

❑ begin(makeKeymap(userKeymap)) Inicializa el mapa de teclado interno para ser igual a


userKeymap. ❑ waitForKey() Esta función esperará siempre hasta que alguien presione una tecla.
Advertencia: Bloquea todos los demás códigos hasta que se presiona una tecla. Eso significa que
no hay LED parpadeante, no hay actualizaciones de pantalla LCD, no hay nada con la excepción de
las rutinas de interrupción. ❑ getKey() Devuelve la clave que se presiona, si la hay. Esta función no
bloquea. ❑ isPressed(char keyChar) Devuelve true si la clave keyChar es presionada

❑getState() Devuelve el estado actual de cualquiera de las teclas. Los cuatro estados son IDLE,
PRESSED, RELEASED y HOLD. ❑keyStateChange() Permite saber cuando la clave ha cambiado de
un estado a otro. Por ejemplo, en lugar de simplemente probar una clave válida, puede probar
cuando se pulsa una tecla. ❑setHoldTime(unsigned int time) Establecer la cantidad de
milisegundos que el usuario tendrá que mantener pulsado un botón hasta que se active el estado
HOLD. ❑setDebounceTime(unsigned int time) Establece la cantidad de milisegundos que el
teclado esperará hasta que acepte un nuevo keypress/keyEvent. Este es el método de "rebote de
tiempo". ❑addEventListener(keypadEvent) Activar un evento si se utiliza el teclado.
En Arduino existen tres tipos de memoria: • FLASH, no volátil, donde se graba el sketch (incluido el
bootloader). • SRAM (Static Random Access Memory), volátil, donde se almacenan las variables
durante el funcionamiento. • EEPROM (Electrically-Erasable Programmable Read-Only Memory),
no volátil, que puede usarse para almacenar información entre reinicios.
En la memoria de Arduino se debe trabajar por direcciones y byte a byte tanto para leer como
para escribir. Esto significa que para una memoria de 1kB se tendrá desde la dirección 0 hasta la
1023 y se podrá utilizar valores de 0 a 255. En caso de que se quiera guardar valores mayores se
tendrá que dividirlos por bytes

Formas de usar la eprom ❑Utilizando un solo byte. Leer y escribir un solo byte. ❑Utilizando dos
bytes. El software de Arduino tiene instrucciones pensadas para obtener el byte más significativo y
el menos significativo, para separa el dato en dos bytes y almacenarlos de forma independiente.
❑Utilizando más bytes. Después de separar una variable en bytes para almacenarla en la memoria
EEPROM de Arduino surge el problema de volverla a componer para recuperar la información. Así,
por ejemplo, si se tiene una variable de tipo long separada en cuatro bytes dentro de la EEPROM,
al leer esos datos lo que se tiene es cuatro bytes, no un long.

Funciones para el manejo de la eeprom ❑read(adress) //Lee un byte de la dirección “adress”.


❑write(adress,value) //Escribe un byte “value” en la dirección “adress”. Una escritura EEPROM
tarda 3,3 ms en completarse. ❑put(adress,data) //Escribe cualquier tipo de dato en la EEPROM.
❑get(adress,data) //Lee cualquier tipo de dato de la EEPROM. ❑update(adress,value) //Escribe un
byte en la EEPROM. El valor sólo se escribe si difiere del ya guardado en la misma dirección.