55
CRoMA 2010 por Francisco Ramos y Andrés S. Vázquez CRoMA 3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino Andrés S. Vázquez Francisco Ramos Raúl Fernández

Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Curso de Robótica Móvil

con Arduino y Arduino

• Andrés S. Vázquez

• Francisco Ramos

• Raúl Fernández

Page 2: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

El cerebro del robot

Sesión 2 (Teoría)

Page 3: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Parte 1 Parte 2

Page 4: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Parte 1. El Micro

(cerebro) del Robot

Page 5: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Índice Parte 1

1. Definición de microcontroladores

2. Microprocesadores

3. Memorias

4. Periféricos

5. Microcontroladores

6. El (micro)cerebro de nuestro robot

Page 6: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Definición Microcontrolador

• Integrado que incluye un microprocesador,

memoria (de programa y datos) y unidades de

entrada/salida (puertos paralelo,

temporizadores, módulos CCP, conversores

A/D, puertos serie, etc)

MICROCONTROLADOR

=

MICROPROCESADOR + MEMORIA + PERIFÉRICOS

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 7: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Definición Microcontrolador

• Ejemplo

– CPU.

– Memoria RAM de datos.

– Memoria ROM/UVPROM/OTPROM de programa.

– Memoria EEPROM de datos.

– Puertos de entrada-salida.

– Temporizadores/contadores.

– Sistemas de interrupción.

– Módulos auxiliares:

• Convertidores A/D.

• USART.

• Etc Display

Drivers

D / AA / D

FLASH

USARTSPII2C

CAP

COMP

PWM

EEPROM

PowerDrivers

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 8: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

MICROCONTROLADOR

=

MICROPROCESADOR + MEMORIA +PERIFÉRICOS

Definición Microcontrolador

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 9: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Microprocesadores

• Es el componente electrónico (circuito

integrado) encargado de la interpretación,

generación y ejecución de programas o

secuencia de ordenes, operando con los

datos que recibe la memoria, los dispositivo

de entrada/salida y periféricos

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 10: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Microprocesadores

• La arquitectura de un procesador se clasifica

según que características tenga.

Arquitecturas según

acceso a

datos/memoria

Arquitecturas según

juego de

instrucciones

• Von Neumann

• Harvard

• CISC

• RISC

• SISC

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 11: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Arquitectura Von Neumann

• Un único bus de datos para instrucciones y datos.

• Las instrucciones del programa y los datos seguardan conjuntamente en una memoria común.

• Cuando la CPU se dirige a la memoria principal,primero accede a la instrucción y después a losdatos necesarios para ejecutarla, esto retarda elfuncionamiento. (Máquina secuencial)

• Ejecuta solo una operación a la vez: Lenta

• Generalmente se combina con juego deinstrucciones tipo CISC

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 12: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Arquitectura Harvard

• El bus de datos y el bus de instrucción están separados, haciéndolos totalmente independientes

• Acceso en paralelo:– Cuando se está leyendo una instrucción, la instrucción

actual está utilizando el bus de datos. Una vez finalizada la instrucción actual, la siguiente ya está disponible en la CPU.

• Permite una ejecución más rápida.

• Pueden direccionar altas cantidades de memoria

• Se combinan con juego de instrucciones RISC

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 13: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Microprocesadores

Memoria

Principal CPU

Instrucciones

Datos

Unidad

De

Control

Unidad

Operativa

Bus Control

Bus

Direcciones

Bus Datos e

Instrucciones

VON-NEUMANN

Memoria

InstruccCPU

I

N

S

T

R

U

C

C

I

O

N

E

S

Unidad

De

Control

Unidad

Operativa

Bus Control

Bus

Direcciones

Bus

Instrucciones

D

A

T

O

S

Bus Control

Bus

Direcciones

Bus Datos

Memoria

Datos

HARVARD

C P U

8 = 8

Program& DataMemory

DataMemory

C P U

816

ProgramMemory

12141624

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 14: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Microprocesadores

• Ejemplos arquitectura

Harvard Von Neumann

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 15: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Microprocesadores

¿Cuál es la arquitectura que utilizan la mayoría de

computadores?

¿Cuál es mejor cuando la frecuencia de lectura de

instrucciones y de datos es aproximadamente la

misma?

Esta arquitectura suele utilizarse en DSPs, o

procesador de señal digital, y microcontroladores

VON NEUMANN

HARVARD

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 16: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Clasificación según el Juego de Instrucciones

• Complex Instruction Set Computer

– Set de instrucciones grande

– Instrucciones son muy potentes. En algunos casos equivalen a muchas instrucciones simples.

– Reduce el tamaño del código de programa

• Reduced Instruction Set Computer

– Pocas instrucciones

• El controlador es más sencillo y el chip es más

pequeño.

– Tiene un consumo menor.

– Mayor tamaño del código de programa

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 17: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

MICROCONTROLADOR

=

MICROPROCESADOR + MEMORIA +PERIFÉRICOS

Memorias

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 18: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Concepto

• Una memoria es un dispositivo capaz de guardar el estado de un bit durante cierto tiempo.

• Posee casillas o localidades cada una con la capacidad de almacenar un dato generalmente de tamaño byte (8 bits).

• Tiene un bus de direcciones para identificar cada una de las localidades.

• Tiene un bus de datos por donde entran y salen datos a cada una de las casillas o localidades de la memoria.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 19: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

• Registros (memoria de corto plazo):– Pequeña (relativamente)

– Almacenamiento temporario p/CPU

• Memoria de datos– Relativamente Grande

– Almacena datos mientras el MCU funciona

• Memoria de programa– Relativamente Grande

– De preferencia, mantiene el programa incluso con el MCU apagado.

Uso

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 20: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

• CAPACITIVO: Un capacitor se mantiene cargado y

representa un 1 lógico, si se descarga represente

un 0 lógico.

• FUSIBLES: Un filamento delgado de semiconductor

que se quema o se deja completo para representar

un 1 o un 0

• ORIENTACIÓN MAGNÉTICA: La orientación de un

dispositivo magnético representa un 1 o un 0 lógico.

Principios de funcionamiento

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 21: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Tipos de memorias

RAM

• Random Access Memory• Almacenamiento temporal de datos

• Pierde la información capturada cuando se le

desconecta alimentación

ROM

• Read Only Memory• Memoria que conserva el contenido aun cuando

se desconecta

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 22: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Tipos de memorias ROM

• EPROM (Erasable-Programable Read Only Memory)– Funciona con el principio de fusibles

– Puede borrarse mediante luz ultravioleta

– Se reprograma eléctricamente

• EEPROM (Electrically Erasable-Programable Read Only Memory)– Funciona con el principio de fusibles

– Puede borrarse con impulsos eléctricos controlados

– Se reprograma eléctricamente

• Flash– Funciona igual que la EEPROM pero a una

velocidad de operación y programación mayor.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 23: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

• S/DRAM: sin limite de escrituras

• EEPROM: 100.000 ciclos de borrado

• Flash: 10.000 ciclos de borrado

Memorias

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 24: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

MICROCONTROLADOR

=

MICROPROCESADOR + MEMORIA +

PERIFÉRICOS

Periféricos

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 25: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Periféricos

• PUERTOS (E/S)

– PARALELO (PINES E/S DIGITALES )

(para control otros periféricos)

– SERIE (COMUNICACIONES)

• CONVERSORES A/D

• TIMERS

• PWM

• ETC...

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 26: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos (E/S)

• Ventanas por las cuales el procesador se comunica con los periféricos.

• Tienen un canal de datos por el cual circula la información

• El procesador genera las señales de control que permiten habilitar a cada uno de sus periféricos

• Cuando un periférico es habilitado, este pone información en el bus de datos. Esta información es leida por el puerto correspondiente.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 27: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos (E/S)

– Salidas en paralelo.

• Son las más comunes y se suelen utilizar para controlar relés, led,

displays, LCD, transistores, etc.

– Se caracterizan por una corriente máxima individual y una máxima

común.

– Salidas de Potencia.

• Montaje Darlington.(transistores)

• Control de relé.

• Control de triacs.(transistores-interruptor alterna)

– Entradas en paralelo.

• Son las comunes y se utilizan para lectura de pulsadores, teclados, en

general para leer el nivel lógico de la entrada. Pueden estas

optoaisladas.

– Entradas/Salidas.

– Permiten cambiar la patilla como salida o entrada en cada instante.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 28: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos (E/S)

Comunicación serie (I)• Universal Asynchronous Receiver/Transmitter

– Elemento HW que traduce datos de paralelo a serie

• Utiliza un registro de desplazamiento para la traducción

– Usado junto con otro estándar de comunicación (i.e. RS-232)

– La comunicación puede ser Full o Half Duplex

• Líneas independientes para recepción/transmisión

– No precisa llevar señal de reloj (configuración receptor/transmisor)

• Formato de los datos

• Velocidad de transmisión (típica 9600 baudios, 104us)

– Una transmisión asíncrona consta de

• 1 bit de comienzo (space)

• De 5 a 8 bits de datos

• 1 bit de paridad (opcional)

• 1 o 2 bits de parada

• USART (Unidad Universal de Transmisión Recepción Síncrona y Asíncrona)

es un adaptador serie para comunicaciones asíncronas o síncronas.

– Los dispositivos que usan USART suelen ser más rápidos (hasta 16 veces) que un

adaptador UART.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 29: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos (E/S)

Comunicación serie (II)

• RS232 - Recommended Standard 232 (1962)– Norma para el intercambio serie de datos

• Entre un DTE (equipo terminal) y un DCE (equipo de comunicación)

• Entre dos DTEs (Conexión en módem nulo)

– El estándar completo tiene 25 pines (DB-25)

• Sólo se usan 9 (DE-9)

– Está desapareciendo porque se consideraheredado y obsoleto

• Lento comparado con buses actuales

– Aún se encuentran en sistemasindustriales y de consumo

– Máximo 20Kbps según norma

Señal DB-25DE-

9

Common Ground G 7 5

Transmitted Data TD 2 3

Received Data RD 3 2

Data Terminal Ready DTR 20 4

Data Set Ready DSR 6 6

Request To Send RTS 4 7

Clear To Send CTS 5 8

Carrier Detect DCD 8 1

Ring Indicator RI 22 9

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 30: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos

• Comunicación serie (III)

• USB- Universal Serie Bus (1996)

– Consorcio de empresas (Intel, IBM, Microsoft, Compaq...)

– Mejorar plug & play Gran popularidad

– Permite conexión “en caliente”

– Puede servir como fuente de alimentación

– Velocidades

• Baja (1.0) Hasta 1,5 Mbps. Ejemplo: teclado, ratón...

• Completa (1.1) Hasta 12 Mbps.

• Alta (2.0) Hasta 480 Mbps (Generalmente de 125 Mbps). La más

habitual

• Super alta (3.0) Hasta 4,8 Gbps.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 31: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos

Comunicación serie (IV)

• SPI- Serial Peripheral Interface– Protocolo de comunicación síncrona

entre dos dispositivos digitales

• Punto a punto

• Múltiples esclavos

– Independientes

– Daisy Chain

– Cuatro líneas de señal

• SCLK: Señal de sincronismo

• MOSI: Master Out-Slave In

• MISO: Master In-Slave Out

• SS: Señal de selección de esclavo

– Full-Duplex

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 32: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos

Comunicación serie (V)

• I2C Inter-Integrated Circuit

– Protocolo multi-maestro

– El dispositivo que inicia una transmisión es el maestro

– Utiliza 2 líneas de señal bidireccionales

• SDA: Serial Data

• SCL: Serial Clock

– Half-Duplex

– Se puede colocar cualquier número de esclavos y maestros

– Se comunican mediante un protocolo que define:

• Direcciones de esclavos (7 bits). Única para cada dispositivo

• Datos divididos en bytes (8 bits)

• Bits de control para inicio, parada, dirección y ack

– Tasa de transferencia

• 100 kbps (standard), 400 kbps (fast) o 3,4 Mbps (high-speed)

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 33: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos

• Comunicación serie (V)

Ethernet (1973)

– Estándar de redes de computadoras de área local (LAN)

– IEEE 802.3

Controlled Area Network (CAN Bus) (1986)

– Estándar de la industria de la automoción

– Entornos distribuidos

System Management Bus (SMBus)

– Derivado del I2C

– Más lento

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 34: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos

• Infrarrojos

-Un led emisor de banda infrarroja envía tramas de

luz a 38.5kHz

- El receptor esta a las escucha en esa frecuencia,

teniendo como salida un tren de pulsos

- En función del protocolo, ese tren se decodifica

para obtener una palabra en binario

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 35: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos

• WiFi

– Estándar IEEE 802.11.x

• Redes de Área Local Inalámbricas (WLAN)

• Conectividad punto a punto

• Wide Area Network (WAN)

– Ancho de banda

• De 11 a 300 Mbps

• Bluetooth

– Especificación industrial de WPAN

(Redes de Área Personal Inalámbrica)

– Bajos consumo, cobertura y coste

– Ancho de banda

• De 1 a 24 Mbps

Clase

Potencia

máxima

permitida

(mW)

Potencia

máxima

permitida

(dBm)

Rango

Clase

1100 mW 20 dBm

~100

metros

Clase

22.5 mW 4 dBm

~25

metros

Clase

31 mW 0 dBm ~1 metro

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 36: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos

• ZIGBEE

– Protocolos de alto nivel de comunicación

inalámbrica

– Radiodifusión digital de bajo consumo

– Estándar IEEE 802.15.4 de WPAN

– Utilización

• Comunicaciones seguras

• Baja tasa de envío de datos

• Maximización de la vida útil de las baterías

• Ejemplo: domótica

– Topología de red en malla (tb estrella y árbol)

• 65535 nodos distribuidos en subredes de 255

– Tasa de transferencia

• Hasta 250 kbps

– Baratos

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 37: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Conversores

• Conversor Analógico Digital (A/D).– Convierte la tensión analógica a su valor digital.

• Pueden ser externos o internos al micro.

• Existen, en general, tres tipos integrados:

– Aproximaciones sucesivas (común en micro).

– Delta-Sigma (común en DSP).

– Flash (rápido pero menos habitual).

• Conversores D/A.• Obtienen una tensión analógica a partir de un valor digital.

• Conversor D/A con Modulador de ancho de Pulso (PWM).

• Otros Dispositivos.• Contador de pulsos: cada pulso incrementa un contador.

• Entrada de Captura: sirve para medir intervalos de tiempo entre

eventos.

• Comparadores analógicos.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 38: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Interrupciones y Polling

– Transferencia de E/S por consulta (Polling)• El polling es una técnica software en la que el microcontrolador pregunta

constantemente al periférico si necesita ser atendido.

– Interrupciones• Cuando los periféricos necesitan ser atendidos por el microcontrolador

se lo comunican; de esta forma el micro puede atender a un programa

principal (a diferencia del polling).

• Es una técnica más rápida en atender al periférico que el polling.

• El micro recibe la interrupción, identifica quién la ha provocado, ejecuta

la rutina para atenderla y vuelve al programa principal.

• Disparo de interrupciones:

– Por flanco (de subida o bajada).

– Por nivel.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 39: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Reset y Reloj

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

– Inicialización o reset

• La mayoría de los micros disponen de un sistema de

inicialización cuando se conectan a alimentación.

• Poseen, además, de una entrada de reset sensible a nivel

– Reloj• Todos los micros tienen integrado un oscilador y sólo

necesitan un elemento externo para fijar la frecuencia

dentro del margen indicado.

• Puede ser interno o externo con ayuda de un cristal de

cuarzo, resonador cerámico o una red RC.

Page 40: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Microcontroladores

• Así que todo esto era un micro

controlador1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 41: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Carácteristicas especiales

– Watchdog (Perro Guardian).• Un temporización que permite la recuperación del sistema ante un

bloqueo.

• Si el programa entra en bucle infinito o si deja de funcionar el watchdog

provoca un reset tras un tiempo predeterminado.

– Monitor de reloj (Clock Monitor).• Permite apagar el micro si la señal de reloj varia.

– Cargador del programa residente.• Al inicializar, el micro carga automáticamente el programa a ejecutar por

un puerto desde un lugar remoto (o desde el mismo micro).

– Programa Monitor.• Un programa instalado en el micro que permite desarrollos básicos y

depuración de programas.

• Pueden comunicarse con un PC para ser ejecutado desde el mismo.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 42: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Diseño

Diseño discreto.

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 43: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Diseño

Diseño Integrado.

ATmega16 (atmel)

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 44: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Familias

• Tipos de microcontroladores

– Según el ancho de palabra:

• Los hay de 4, 8, 16, y 32 bits

– Existen Microcontroladores/Procesadores especializados para:

• Comunicaciones, Manejo del teclado, Procesamiento de la señal, Proceso

vídeo, Etc

• Fabricantes de microcontroladores– INTEL 8048-8051-80C196-80386

– MOTOROLA 6805-68HC11-68HC12

– HITACHI HD64180

– PHILIPS 8051

– SGS-THOMSON ST-62XX

– NATIONAL SMC. COP400-COP800

– ZILOG Z8, Z86XX

– TEXAS INST. TMS370

– TOSHIBA 68HC11

– MICROCHIP PIC

–ATMEL ATMEGA168…

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 45: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Familias

• Atmel /AVR

– Concebidos por dos estudiantes del instituto de tecnología

noruego NTH

– Originalmente conocido como microRisc

– AVR no es un acrónimo pero podría significar Advance

Virtual RISC

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 46: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

El cerebro de nuesto robot:

ATMega328p

• Low-Power 8-bit AVR Microcontroller

• Modified Harvard Architecture

• 32 8-bit general-purpose registers

• 131 Instructions, Multi-cycle Implementation

– Most are single-cycle

– 2-cycle multiply, 2-cycle memory access

– Thus up to 1MIPS/MHz

• 20MHz, up to 20MIPS

• 32KB self-programmable Flash

• 1KB EEPROM

• 2KB SRAM

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 47: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Puertos (E/S)

• 6 PWM Shared Input/Outputs (Analog)

• 8 digital input/outputs

• SPI-serial, 2-wire serial, ISP, others

– Monitoring, debugging, programming, power

• USART serial interface

– (interfaces with USB on Arduino)

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 48: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Otras características

• Registers for serial access

• Interrupts

• External Interrupts

• Power Management

• Timers

• Analog Comparators

• Etc

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 49: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

ATMega328

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 50: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

ATMega 328

1. Definición de

mcontroladores

2. Mprocesadores

3. Memorias

4. Periféricos

5. Mcontroladores

6. El cerebro de

nuestro robot

7. Programación

mcontroladores

Page 51: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Parte 2. Amplicación

del Micro(cerebro) del

Robot

Page 52: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

¿Pero entonces

nuestro robot tiene

este cerebro?

Low-Power 8-bit AVR

Microcontroller

Modified Harvard

Architecture

32 8-bit general-purpose

registers

131 Instructions, Multi-

cycle Implementation

20MHz, up to 20MIPS

32KB self-programmable

Flash

1KB EEPROM

2KB SRAM

Page 53: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Y yo quería algo tan

listo como este…!

Page 54: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

Microcomputadores

• Placas basadas en microprocesadores

avanzados

• Arquitecturas RISC Avanzadas

• Utilizados en Smartphones y Tablets

• Incorporan S.O. embebidos como Linux

(o Android)

• Ejemplo: ARM Cortex

• Antiguamente conocidos

como ADVANCE RISC MACHINE

• RISC de 32 bits.

• Desarrollado por ARM Limited

Page 55: Curso de Robótica Móvil con Arduino y Arduino...CRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM Curso de Robótica Móvil con Arduino y Arduino • Andrés S. Vázquez • Francisco Ramos

CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM

55

Artik 1

Artik 5

Espruino

Particle

Bean +

MicroView

Piccolino

Wino

The Neutrino

MetaWearUdoo Neo

Chip