# data[].attributes.body
Manejo del polímetro. Vídeo explicativo.

# data[].attributes.body
Cómo usar display LCD. Vídeo explicativo.

# data[].attributes.body
Conexión de la Controladora Arduino al ordenador. Vídeo explicativo.

# data[].attributes.attachment_link.title
Introducción a Arduino. Conexión al PC y Primer Programa. 194

# data[].attributes.body
Cómo usar una Protoboard. Vídeo explicativo.

# data[].attributes.attachment_link.title
Cómo usar una protoboard | Electrónica básica.

# data[].attributes.body
Kit 37 sensores. Vídeo explicativo.

# data[].attributes.attachment_link.title
37 Sensores Basicos PARA ARDUINO/Ideatronic

# data[].attributes.body
Circuitos eléctricos. Vídeo explicativo.

# data[].attributes.attachment_link.title
Arma tu primer circuito en la protoboard

# data[].attributes.body
Simulación de circuitos eléctricos con Tinkercad. Tutorial.

# data[].attributes.attachment_link.title
Simulación de circuitos eléctricos básicos con Tinkercad

# data[].attributes.body
Plataforma mBlock, online

# data[].attributes.attachment_link.title
mBlock Block-Based IDE- Coding for Beginners

# data[].attributes.attachment_link.description
Start Learning coding with mBlock. Create with mBlock online block-based editor Today. Learn AI and robotic programming with mBlock.

# data[].attributes.body
Plataforma de programación online micro:bit

# data[].attributes.attachment_link.description
A Blocks / JavaScript code editor for the micro:bit powered by Microsoft MakeCode.

# data[].attributes.body
Tinkercad: diseño 3D, robótica, simulación de circuitos

# data[].attributes.attachment_link.title
Tinkercad | From mind to design in minutes

# data[].attributes.attachment_link.description
Tinkercad is a free, easy-to-use app for 3D design, electronics, and coding.

# data[].attributes.body
Scratch - plataforma de programación

# data[].attributes.body
Tecnopatafísica. Web de Tecnología, programación y robótica

# data[].attributes.attachment_link.readable_text
Introducción

Estamos tan acostumbrados a los mandos a distancia infrarrojos que no dedicamos un momento a pensar en ellos y simplemente nos parece normal, algo que a nuestros abuelos les hubiera parecido magia.

Nos parece normal que los equipos electrónicos, televisores, cadenas de música, aires acondicionados, respondan a nuestras instrucciones sin levantarnos del sofá, pero esto no ha sido siempre así, es más, es relativamente reciente, que estos mandos se popularizaron.

Pero el concepto de la emisión y recepción de señales infrarrojas no es, ni mucho menos trivial, y exige tener nociones de ondas electromagnéticas (energía, frecuencia, longitud, etc...) que sobrepasan nuestro nivel. No obstante para aquellos que querás profundizar más en el tema os recomiendo la excelente descripción del artículo de Prometec sobre sensores infrarrojos.

El objetivo de este ejercicio es aprender a recibir señales infrarrojas mediante un sensor/receptor IR emitidas por un mando a distancia de infrarrojos.

Circuito eléctrico (diagrama de conexiones)

El circuito es realmente trivial... Solo hay que tener en cuenta el siguiente diagrama de conexiones....

Con lo que bastará con conectar la patilla GND al pin GND de Arduino, la patilla VCC al pin 5V de Arduino y la patilla DAT (señal) a cualquier salida digital de Arduino, en nuestro caso, lo haremos al pin digital 9.

Código programa Arduino

Para poder detectar señales lo mejor es usar una librería (código generado que permite usar determinaciones funciones que no pertenecen al IDE de Arduino). No entraremos en profundidad en el uso de dichas librerías (vitales para cualquier programador en cualquier idioma) ( leer artículo de Prometec sobre librerías) pero en este caso usaremos la librería Arduino-IRremote desarrollada por Rafi Khan (z3t0) disponible en este enlace.

El programa que se muestra a continuación, muestra por el monitor serie los códigos asociados a las pulsaciones del mando en formato HEXADECIMAL.

1.  if (irrecv.decode ( &amp;results) )






2.  Serial.println (results.value , HEX) ;

Código mBlock

Para poder recibir señales mediante nuestro sensor infrarrojo usando el sofware mBlock lo primero que debemos hacer es instalar una extensión de mBlock que nos permita usar los bloques de programación asociados al control de señales infrarrojas ( pulsa para obtener más información sobre la Administración de Extensiones que ofrece mBlock). En este caso la extensión que vamos a instalar se llama IRremote y ha sido creada por el usuario Abaddon).

Una vez que hayamos instalado la extensión IRremote nos aparecerán una serie de nuevos comandos para poder realizar la comunicación infrarroja.

El programa que se muestra a continuación, muestra por el monitor serie los códigos asociados a las pulsaciones del mando en formato HEXADECIMAL.

# data[].attributes.attachment_link.title
Arduino y mBlock: "Sensor infrarrojos y mando a distancia"

# data[].attributes.attachment_link.description
Introducción Estamos tan acostumbrados a los mandos a distancia infrarrojos que no dedicamos un momento a pensar en ellos y simplemente nos parece normal, algo que a nuestros abuelos les hubiera parecido magia.

# data[].attributes.body
micro:bit Esquema de conexiones

# data[].attributes.attachment_link.readable_text
Overview

The edge connector on the micro:bit is used to connect to external circuits and components.

There are 25 strips/pins including 5 rings for using with 4mm banana plugs or crocodile clips. 3 of these rings are for general purpose input and output (GPIO) and are also capable of analog, PWM and touch sensing, and two are connected to the micro:bit power supply.

The smaller strips spaced at 1.27mm on the edge connector have additional signals, some of which are used by the micro:bit, and others that are free for you to use. There are a number of external PCB connectors for purchase with an 80w 1.27mm pitch that can be used to easily access these extra pins.

Only the pins on the front are connected to signals. The back rings are connected to the front rings, but the back small strips are unconnected.

Edge Connector Pins

The diagrams below show the assignation of the micro:bit pins. On the V2 board revision Pin 9 is no longer jointly shared with the LED display, but Pin 8 and Pin 9 can be configured for NFC (though this is disabled by default).

V2

V1

microbit.pinout.xyz

microbit.pinout.xyz is a fantastic resource for further information on the micro:bit pins and how they are used by some popular accessories

Pins and Signals

This table shows various data about each of the pins on the micro:bit edge connector.

m:b ring

the micro:bit basic interface (the 5 rings on the front)

mod

the pin number on the module:bit

schem

the symbol name in the micro:bit schematics

MCU

the actual pin name of the Nordic MCU chip

s/w

the name that is used in the DAL runtime software

functions

all possible functions, BOLD for default. brackets indicate use with caution

dir

the startup conditions (direction) when the micro:bit boots: Input or Output

pull?

pull up or down resistors. e10Mu means an external 10Mohm pullup, i12Kd means an internal 12K pull down.

Notes

1. RINGs for 0, 1, 2, 3V and GND are also connected to the respective reverse side rings on the edge connector.

2. The 3V and GND rings have guard strips either side of the big rings, to avoid any degradation of device performance due to slipping crocodile clip connections. Care should be taken on rings 0, 1 and 2 to avoid shorting crocodile clips against adjacent pins, which could cause some slight interference with the pattern currently displayed on the LED matrix, or introduce some inaccuracies in the light sensing readings.

3. The DAL DynamicPWM driver (and the underlying Nordic timer peripherals) dictate that PWM can only be active on 3 pins simultaneously. Any attempt to allocate a 4th pin for PWM use, will disable one of the existing PWM pins.

4. Digital input pins are by default configured with internal pull down resistors when the pins are configured by the DAL.

5. Functions in brackets should be used with caution, as other features of the device may become unstable, degraded or non operational, if their normal use is not disabled in the software first.

6. The source file for the pinout table is held in CSV format. You can load this into a spreadsheet and sort and filter it in any way that makes sense to you. There is also a zipped Python script in this folder that you can download to re-generate the markdown table version of the pin map used on this page, from the .csv file.

7. The pin marked 'ACCESSIBILITY' is used to enable/disable an on-board accessibility mode, and should not be used for anything else (even though it can be used as a GPIO for testing). Future versions of the official micro:bit editors may remove the ability to write to this pin.

Uncoupling Default Functionality

Pins that are marked with brackets around functions, require the default functionality for that pin to be disabled, before other functions can be used.

pins: P3, P4, P6, P7, P9, P10

These pins are coupled to the LED matrix display, and also its associated ambient light sensing mode. To disable the display driver feature (which will automatically disable the light sensing feature) call the DAL function display.enable(false). To turn the display driver back on again later, call the DAL function display.enable(true).

Note also that the LED 3x9 matrix connects LEDs with associated resistors across these pins, so you should take that into account when designing circuits to use these pins for other purposes.

pins: P5, P11

These pins are assigned to the two on-board buttons. In their default setup with all the standard high level languages, there is a global uBit instance containing: uBit.buttonA, uBit.buttonB and uBit.buttonAB.

Buttons are hooked into the system timer in their constructor for regular debouncing. However, if you want to completely remove this feature and use the physical pins for other purposes, you can delete uBit.buttonA, it will call the C++ destructor and de-register the button instance from the system timer, effectively disabling all DAL activity with that pin. It is then possible to use a MicroBitPin instance around the physical pin name to control it directly without interference from the DAL.

Be aware though, that there are 10K external pull-up resistors fitted to the micro:bit board.

pins: P19, P20

These pins are allocated to the I2C bus, which is used by both the on-board motion sensor. It is strongly suggested that you avoid using these pins for any function other than I2C.

It is possible to disable the DAL services that use these pins as the I2C bus, but the motion sensor device will still be connected to the bus, and may try to interpret the signals as data payloads, which could create some undesirable side effects on the SDA and interrupt pins. There are 4K7 pull-ups fitted to both pins on the board, so the best use for these two signals is to add other I2C devices.

The main reason you might choose to use these pins for other purposes would be if you were designing your own micro:bit variant without any I2C devices, and then it would free up two more pins for other purposes.

Power Supply Capabilities

There is a dedicated page on power supply capabilities and parameters, which better defines how you can use the GND and 3V rings

GPIO Capabilities

NRF51

These key GPIO parameters are transcribed directly from Section 6, 7 and 8 of the nRF51822 Datasheet, and provided here as a handy reference.

NOTE 1: The maximum number of pins configured as high-drive (5mA) at any one time is 3 pins.

NOTE 2: A common way that the maximum pin voltages can be exceeded, is to attach an inductive load such as a speaker, motor, or piezo sounder directly to the pin. These devices often have significant back-EMF when energised, and will generate voltages that exceed the maximum specifications of the GPIO pins, and may cause premature device failure.

NOTE 3: The pin marked 'ACCESSIBILITY' is used to enable/disable an on-board accessibility mode, and should not be used for anything else (even though it can be used as a GPIO for testing). Future versions of the official micro:bit editors may remove the ability to write to this pin.

NOTE 4: The BBC suggest in the safety guide, that the maximum current you can draw from the whole edge connector at any one time is V190mA. This is set based on the 30mA budget for on-board peripherals, and the fact that the on-board regulator of the KL26 when powered from USB is rated at a maximum of 120mA. On the latest board revision the maximum current is V2270mA, though it is possible that the on-board mic and speaker can draw more current, so this value is TBC.

NRF52

These key GPIO parameters are transcribed directly from Section 6, 7 and 8 of the nRF52833 Datasheet, and provided here as a handy reference.

Connectors and Breakouts

There are a number of suppliers of edge connector for the BBC micro:bit, in various forms, such as a right angle through-hole, a stand-up through-hole and a stand-up surface mount.

There is an 80 way * 1.27mm pitch double sided PCB connector, which you can buy from a number of sources.

At a pinch, it is also possible to use an old PCI edge connector from a PC motherboard, as the pitch is the same (but it is slightly wider).

There are also some nice ideas that have surfaced in the community such as using just the right size of countersunk or cheese-head bolt, or even 3D printed inserts.

Can you help to find or design a better connection solution to the micro:bit edge connector? Share your designs and discoveries with us!

Edge Connectors for the BBC micro:bit
Add your connector to our list
Further information

# data[].attributes.attachment_link.description
The edge connector on the micro:bit is used to connect to external circuits and components. There are 25 strips/pins including 5 rings for using with 4mm banana plugs or crocodile clips. 3 of these rings are for general purpose input and output (GPIO) and are also capable of analog, PWM and touch sensing, and two are connected to the micro:bit power supply.