Control an LED connected to Micro:bit via Bluetooth

Bluetooth 18-09-23
525 0

Tutorial plan

1- The Micro:bit board and Bluetooth

2- Why do we use App Inventor to create a mobile application capable of communicating the smartphone with the Micro:bit board?

3- Lighting an LED connected to the Micro:bit board by a smartphone via Bluetooth using Makecode and MIT Inventor app

4- The components needed to use LED with Micro:bit

5- Mounting Micro:bit with LED

The Micro:bit board and Bluetooth

The Micro:bit is a small, programmable microcontroller board designed to teach coding and electronics to children and beginners. It was originally developed by the BBC in the United Kingdom and is now widely used in education worldwide. One of the key features of the Micro:bit is its built-in Bluetooth capability, which allows it to communicate with other devices and be used in various applications.

Here are some important aspects of the Micro:bit's Bluetooth functionality:

Bluetooth Version: The Micro:bit uses Bluetooth Low Energy (BLE) technology, which is a power-efficient version of Bluetooth suitable for battery-operated devices. BLE is commonly used for connecting devices like smartphones, tablets, and other microcontrollers.

Bluetooth Radio: The Micro:bit has a built-in Bluetooth radio module that allows it to both send and receive data wirelessly. This radio module is used for communication between the Micro:bit and other devices.

Bluetooth Pairing: To connect the Micro:bit to another device, such as a smartphone or another Micro:bit, you typically need to pair them. Pairing involves establishing a secure connection between the devices to ensure data privacy and security.

Programming Bluetooth: The Micro:bit can be programmed to use Bluetooth for various purposes. For example, you can create programs that allow the Micro:bit to send sensor data (e.g., temperature, accelerometer data) to a smartphone app or receive commands from a smartphone to control LEDs or other outputs on the Micro:bit.

Block-based and Text-based Programming: Programming the Micro:bit with Bluetooth capabilities can be done using block-based programming languages like MakeCode and text-based languages like MicroPython. MakeCode is a popular choice for beginners due to its visual, drag-and-drop interface, while MicroPython offers more advanced programming capabilities.

Applications: With its Bluetooth capabilities, the Micro:bit can be used in a wide range of applications. For example, it can be used to create remote-controlled cars, interactive games, fitness trackers, weather stations, and more. Its small size and ease of programming make it versatile for various educational and hobbyist projects.

Bluetooth Accessories: There are also accessories and expansion boards available that can extend the Micro:bit's Bluetooth functionality. These accessories can add features such as motor control, additional sensors, and more, enabling even more diverse projects.

In summary, the Micro:bit's built-in Bluetooth functionality makes it a powerful tool for teaching programming and electronics while also allowing for creative and practical projects that involve wireless communication. It's a great platform for beginners and educators to explore the world of coding and electronics.

Why do we use App Inventor to create a mobile application capable of communicating the smartphone with the Micro:bit board ?

MIT App Inventor is a visual programming environment that allows people with little to no programming experience to create mobile applications for Android devices. It's particularly well-suited for educational purposes and rapid prototyping. Here's why App Inventor is often used to create applications for communicating with the Micro:bit board:

Visual Interface: App Inventor provides a visual interface for designing the user interface and behavior of mobile applications. This means you can create applications by dragging and dropping components (like buttons, labels, etc.) and visually connecting them to define their behavior. This makes it accessible to beginners who might find traditional text-based programming intimidating.

Simplicity and Accessibility: App Inventor uses a blocks-based programming model, which means you create applications by snapping together blocks that represent actions, events, and functions. This is more intuitive for beginners and can be a less daunting way to start programming.

Integration with Hardware Components: App Inventor has built-in support for Bluetooth communication. This makes it relatively straightforward to create apps that can communicate with external devices like the Micro:bit. It provides a Bluetooth component that simplifies the process of establishing connections and sending/receiving data.

Immediate Testing: You can connect your Android device to App Inventor via USB or over Wi-Fi, allowing you to instantly test your applications on your phone. This immediate feedback loop is crucial for learning and debugging.

Educational Focus: MIT App Inventor was designed with educational purposes in mind. It's used in schools and educational programs around the world to teach programming concepts and mobile app development. Its simplicity and visual approach make it an excellent choice for introducing students to the world of programming and electronics.

Community and Resources: There's a vibrant community around MIT App Inventor, which means there are plenty of tutorials, forums, and resources available to help beginners get started and troubleshoot any issues they encounter.

Cross-Platform Support: While App Inventor itself is a web-based tool, the apps you create can be installed on Android devices. This makes it accessible to a wide range of users who have Android smartphones or tablets.

In the context of Micro:bit communication, using App Inventor allows educators and beginners to create applications that can control or interact with the Micro:bit without the need for extensive programming knowledge. It provides a user-friendly platform for learning and experimenting with both mobile app development and hardware interaction.

Lighting an LED connected to the Micro:bit board by a smartphone via Bluetooth using Makecode and MIT Inventor app

To control an LED connected to the Micro:bit board using a smartphone via Bluetooth, you can use MakeCode to program the Micro:bit and create a simple mobile app using MIT App Inventor. Here are the steps to do this:

Programming the Micro:bit using MakeCode:

1- Go to the MakeCode website for the Micro:bit (https://makecode.microbit.org/).

2- Create a new project.

3- In the "Blocks" view, under "Bluetooth," add the "on Bluetooth connected" block to handle Bluetooth connections.

4- Set the pin "0" to "1" to turn on the LED if the Micro:bit card receives the word 'allumer_1'

5- Duplicate the "digital write pin" block and set the pin "0" to "0" to turn off the LED when the Micro:bit card receives the word 'eteindre_1'.

6- Your code might look something like this:

Download program

 

Creating the MIT App Inventor Mobile App:

1- Go to the MIT App Inventor website (http://ai2.appinventor.mit.edu/).

2- Create a new project.

3- Design the user interface of your app. You might have a simple button to turn on and turn off the LED

4- Add the components to your app.

- The "BluetoothLE1" extension indeed refers to a specific extension for MIT App Inventor which allows you to manage Bluetooth Low Energy (BLE) communication in your mobile applications. This extension facilitates the interaction between your App Inventor application and BLE devices, such as sensors, trackers, wearables, etc.

- The "BluetoothClient1" extension in MIT App Inventor allows you to create mobile applications that can connect to Bluetooth devices, such as serial Bluetooth modules (eg HC-06) connected to microcontrollers, Bluetooth audio devices, etc. . This extension facilitates communication with these devices using serial Bluetooth connections.

- The "Microbit_UART1" extension allows you to use UART (Universal Asynchronous Receiver-Transmitter) communication with the Micro:bit card in the MakeCode programming environment.

- The "Notifier1" extension in MIT App Inventor is a component for displaying notifications or messages to the user of an application. It can be used to send pop-up messages, alerts or important information to the user while the application is running. It is a useful component to improve user experience by providing contextual information.

3- Starting with Android 12, Bluetooth permissions have been enhanced to improve security and user data protection. This is why we must declare the authorizations that your application needs in the AndroidManifest.xml file. For Bluetooth, you'll need to include ACCESS_FINE_LOCATION, BLUETOOTH_SCAN, and possibly BLUETOOTH_CONNECT permissions, depending on the features you're using.

4- Use these programming blocks to connect the smartphone to the Micro:bit board via Bluetooth:

4. MIT App Inventor Blocks:

- Design a simple interface with two buttons to turn the LED on and off.

- Use programming blocks to send Bluetooth commands to the Micro:bit when the button is clicked.

Here's a complete example of what this might look like in App Inventor:

Designer part of the mobile application 

Program part of the mobile application 

Download projectDownload apk file

5. Test:

- Load the Makecode code onto your Micro:bit.

- Install the MIT App Inventor app on your smartphone and install the app you created.

- Pair and connect your smartphone with the Micro:bit through Bluetooth.

- Open the app and use the button to control the LED connected to the Micro:bit.

With these steps completed, you should be able to control the LED on your Micro:bit from your smartphone via Bluetooth. Pressing the "LED" button in the app should turn on the LED, and pressing again the "LED" button should turn off the LED.

The components needed to control an LED by Micro:bit

To control an LED using a Micro:bit, you will need the following components:

Micro:bit board

Micro:bit board

The Micro:bit is a small programmable development board with an ARM microcontroller. It has built-in LED indicators and GPIO (General Purpose Input/Output) pins that can be used to control external components like an LED.

The GPIO expansion card for the Micro:bit card

The GPIO expansion card for the Micro:bit card

The GPIO expansion board for the Micro:bit board expands the capabilities of the Micro:bit board by adding more input/output (GPIO) pins and additional functionality.

LED (Light Emitting Diode)

Red LED

Choose an LED of your preferred color. LEDs have two leads, a longer positive (anode) lead and a shorter negative (cathode) lead.

Resistor

Resistor

To limit the current flowing through the LED and protect it from excessive current, you will need a current-limiting resistor. The value of the resistor depends on the specific LED and the power supply voltage. A typical value is around 220-330 ohms, but you can calculate the exact value using Ohm's law.

Jumper wires

Jumper wires

You will need jumper wires to connect the Micro:bit to the LED and the current-limiting resistor. Make sure you choose the appropriate type of jumper wires (e.g., male-to-male, male-to-female, or female-to-female) based on your specific setup.

Test plate

Test plate
The breadboard is a common tool used in robotics and electronics to create circuit prototypes and temporary connections. It makes it easy to test and connect electronic components together without having to solder the connections.

Once you have gathered these components, you can properly connect them and program the Micro:bit board to control the LED as needed. Be sure to follow good connection and safety practices when handling electronic components.

Mounting the Micro:bit board with an LED

To mount an LED with the Micro:bit board, you can follow these steps:

1- Connect the LED and resistor: Insert one leg of the resistor into the positive leg of the LED (anode, usually the longer leg), and connect the other leg of the resistor to pin P0 on the Micro:bit board . Next, connect the negative leg of the LED (cathode, usually the shorter leg) to ground (GND) on the Micro:bit board.

2- Connect the resistor to the P0 pin: Connect the other end of the resistor to the P0 pin of the Micro:bit board.

Mounting the Micro:bit board with an LED

Mounting the Micro:bit board with an LED

0 comment

Leave a comment

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Purpose of this website

Educational robotics refers to the use of robots and robotics technology to promote learning in educational settings. It involves the integration of technology, engineering, and computer science into the classroom, allowing students to engage in hands-on, project-based learning experiences.
In this context, our website represents an excellent resource for parents, teachers and children who wish to discover robotics.

Contact details

Zaouiet Kontech-Jemmel-Monastir-Tunisia

+216 92 886 231

medaliprof@gmail.com

Pictures of the articles

Robotic site created by MedAli-Teacher info