NEW PROJECT - 01
micro:bit AD-BW
PROJECT IS FINISHED
Pr01_01.jpg
Micro: bit has great capabilities. To allow you to view the obtained data, we have created a micro: bit AD-BW interface that allows you to display text, graphics, create games, sounds or play melodies. In order to be able to use as many possibilities as possible provided by the micro: bit AD-BW interface, we have created about 30 different functions. To begin with, we processed examples of programs that do not use sensors or other input modules. These demo programs only show the graphical and audio capabilities of the interface. We plan to use the ways of using input modules to display values on the screen or as audio output in the coming period. Demo examples show how to use functions in the Python programming language. For Microsoft MakeCode support (library) is under construction.
PROGRAM SAMPLES - PROGRAMMING SCHOOL:
1. TECHNICAL DESCRIPTION11. SWITCH STATUS (Python)
2. COMPLETE GAME WITH TWO PLATFORMS (SCREEN) (MakeCode)NEW12. PHOTO SENSORS - VALUES DISPLAY (Python)
3. OBJECT CONTROL - PLAYER (MakeCode)13. PHOTO SENSOR - BAR GRAPH VALUES (Python)
4. VERTICAL OBJECTS SCROLL - (MakeCode)14. BITMAP DESIGN
5. PLATFORM GAME - BEGINNING (MakeCode)15. SCREEN DESIGN - BACKGROUND
6. TEXT FUNCTIONS (Python)16. PLATFORM GAME (Python)
7. TOUCH SENSORS17. GAME - METEORS (Python)
8. GRAPHIC FUNCTIONS IN APPLICATION - COMPASS (Python)18. GAME - SIMPLE EXAMPLE (Python)
9. GRAPHICS FUNCTIONS (Python)19. GAME - LABIRINTH (Python)
10. micro:bit AD + micro:bit IO F5 - I2C communication (Python)
DEVELOPMENT PHASE
14.09.2020. We are working on software and hardware testing. New PCBs with some modifications are coming (programming connector). Preparing to make an interface housing.
Pr01_06.jpg
28.09.2020. The new version works as expected. we got better prices for some parts and recalculated the selling price so that the promotional price is even more favorable. NEW PRICES VALID FOR ALL PRE-ORDERS.
06.10.2020. We start with testing the MakeCode programs and interface functions. The interface supports about 40 functions for displaying data and creating game programs.
10/24/2020 The program part is coming to an end. The MakeCode library is being tested and is also complete. Examples (complete program) of the program can be seen. The case is under construction.
Pr01_16.jpg
The first test specimens of the micro:bit AD housing were tested. More minor corrections and done. First deliveries until 15.11.
TECHNICAL DESCRIPTION
Pr01_02.jpg
The interface micro:bit AD-BW is Arduino UNO compatible and uses an ATMEGA328 microprocessor at 16 Mhz. To allow you to program the interface, we have installed a programming connector. The interface can be programmed as an Arduino UNO or via a programmer. For graphic or text display, the interface uses a screen with a resolution of 84x48 pixels. For the audio output, a 0.5W speaker with a volume control is installed and connected to the P0 micro:bit pin. To receive data from different sensors, three input connectors are used which are connected to pins P1, P2 and P4. Sensors with a signal up to 9V can be connected to the inputs. To power the sensor, the interface has two outputs with a power supply of 3.3V and 5V. A 9V battery or a 5V USB adapter can be used to power the interface and micro:bit.
COMPLETE GAME WITH TWO PLATFORMS (SCREEN) (MakeCode)

Example of a game with two platforms and four objects - a total of six on two screens (max.20). All the main functions and parameters that need to be set can be seen in the program. There are other functions that affect the game and can be used, such as the automatic level change (LEVELA) of the game. From initial speed (slower) to increasing speed. Control of the player object via the A key on the micro: bit (JUMP).
OBJECT CONTROL - PLAYER (MakeCode)

The player object can be controlled via the buttons on the micro: bit (A and B) and analogously via inputs P1 and P2. The example shows the control program in all four directions. In addition to controlling the movement of the object by a few pixels, the player's object can jump. We will show this control in another example.
VERTICAL OBJECTS SCROLL - (MakeCode)

Example of moving multiple objects on the screen via the SCROLL function. The program draws objects to the horizontal (x) position and the initial vertical position (y = 0) via the RANDOM function. Then the entire contents of the screen are scrolled eight pixels down.
PLATFORM GAME - BEGINNING (MakeCode)

In just EIGHT STEPS (we add more one feature), the basic construction of the platform game is set. This basic example shows how to create an object, a platform, and certain game features. The player is controlled via the A key on the micro:bit.
TEXT FUNCTIONS (Python)

The demo program shows the functions that work with printing and text control. The functions of printing text of different sizes in standard and graphic mode are shown. Standard mode uses text screen resolution (14x6) and graphical graphic resolution (84x48). In addition to printing, text manipulation functions are displayed.
TOUCH SENSORS
Pr01_03.jpg
In order to be able to control the movement of the object (player) in all directions, except for buttons A and B on the micro: bit, we also use inputs P1 and P2. For this purpose, we put semicircular caps on the screws that connect the micro: bit and the micro: bit interface of the AD-BW, which we use as touch sensors.
GRAPHIC FUNCTIONS IN APPLICATION - COMPASS (Python)

To display the data obtained from the compass, we used the functions to draw a circle, a filled circle, and a line.
GRAPHICS FUNCTIONS (Python)

The demo shows functions for drawing lines, circles, rectangles, pixels in combination with scroll functions. Scroll functions allow you to display data in GRAPH format or simple animation. Combinations of scroll functions with graphic objects can best be seen in demo examples of games.
micro:bit AD + micro:bit IO F5 - I2C communication (Python)

Micro:bit AD can be used to display values in combination with other interfaces that allow I2C (3.3V) communication. The interface shown is a micro:bit IO F5 that has a connector for I2C (3.3V) communication. The F5 interface simultaneously powers the micro:bit AD via the 5V power connector.
SWITCH STATUS (Python)

One way to display the status of a button or other sensor, with a digital value reading, is a text status display. It is also possible to display graphically.
PHOTO SENSORS - VALUES DISPLAY (Python)

The display of the analog values of the read sensors can also be displayed in several ways. One is a display in text form.
PHOTO SENSOR - BAR GRAPH VALUES (Python)

The display of analog values of read sensors can be displayed in several graphical ways. The example shows the read values in the form of a 2D graph.
BITMAP DESIGN
Pr01_04.jpg
To create objects that we use in a game, we use bitmaps of 8x8 pixels. You can create the bitmaps you use in the program yourself. Example for creating a player bitmap (9) in EXCEL. You can see an example in the game program that follows. Layout of the Python function for defining bitmap number 9 (player): print ("BIT; 9; 60; 126; 219; 219; 255; 219; 102; 255")
SCREEN DESIGN - BACKGROUND
Pr01_05.jpg
Simple screen design (game environment) with objects. It is possible to create several screens with up to 20 objects of different lengths (multiplier) and functions. The attached figure shows the design of three screens in an Excel spreadsheet. An example is the game of meteors and all objects are the length of one bitmap. In the example of the meteor demo game, a neutral bitmap is also used, which does not have a special function (4). The objects have the function of adding points (2) and taking away lives (3). Object X is the starting position of the player's object. To display objects on the display, a virtual screen is scrolled through the defined screens via the left-to-right scroll function. After switching over the last screen, the display of the first one starts again. The display order can be changed using the RND (random) function. Using the RND function, the display order of the screen changes each time the program is started.
PLATFORM GAME (Python)

When creating a platform game, it is necessary to define certain parameters of the game. In order for the game to be interesting, it is necessary to create graphic objects that have a certain function. In addition to the player object (9), it is necessary to create an object that will bring points to the player (2), and an object that will take the life (3). In platform games, it is necessary to create platforms on which the player's object moves. The OBJ function allows you to create one or more "screens" with the positions of different objects. The display of these "screens" on the screen is performed sequentially and in a circle. In addition to creating graphical objects (bitmaps), it is necessary to define the operation of functions that control the movement of the player's object. One of the functions is GRAVITY. Setting the gravity parameter to 1 turns on the function that controls the player's object to fall, if it is not on the platform. If the PAD (1) function is on, the player object reappears at the initial position after falling off the screen, and if the PAD is off, the player object will appear at the top position of the screen. In addition, if the game is to be scored, it is necessary to turn on the BOD function with the initial state (0). The LIV function is used to assign the initial number of lives. This is just a brief description of some of the features used in this demo game.
GAME - METEORS (Python)

As in the previous game, it is necessary to define the appearance of the "screen" and the position of the objects on the screen. In this game we do not have platforms but objects that collide with the player's object (aircraft). In addition to objects with function (2,3), the game also uses an object that does not change the result of the game directly, but affects the position of the player's object.
GAME - SIMPLE EXAMPLE (Python)

This game does not use the scroll function to move objects. Objects are displayed on the screen and do not change position. Objects with functions that affect the player object are used. In addition to the previously displayed objects, a new object with the DOOR function is used. By passing through the DOOR, the player object appears at the starting position and the complete screen is displayed again. TOUCH sensors are also used for additional controls of the player object. Standard functions are used to draw lines. Other standard features for drawing or printing text can be used to create the screen.
GAME - LABIRINTH (Python)

A game that contains all the basic functions for making a game and all four directions of player object control. In previous games, sound effects appear in different situations in the game. Sound effects are used to gain points, loss of life and drop out off screen (loss of life). Sound effects can be created as desired.