No related product information!

Lesson 36 Temperature Alarm

2161

    In this lesson, we will carry out an interesting experiment by programming on the Micro:bit so as to make a temperature alarm.

36.1 Components to be prepared

image.png


36.2 The introduction of the Buzzer 

36.2.1 The Buzzer 

The Buzzer is an electronic sounder with an integrated structure. It is powered by DC voltage and is widely used as a sounding device in electronic products such as computers, printers, copiers, alarms, electronic toys, automotive electronic equipment, telephones, timers, and other electronic products. . There are two types of buzzer: active buzzer and passive buzzer. As shown in the figure below, the left is the active buzzer , and the right is the passive buzzer :

image.png 

image.png


36.2.2 Working principle of the Buzzer

The sounding principle of buzzer is composed of vibration device and resonance device, and buzzer is divided into passive buzzer and active buzzer. The working sounding principle of passive buzzer is: square wave signal input resonant device is converted into sound signal output; the working sounding principle of active buzzer is: DC power input is generated by the amplification sampling circuit of the oscillation system under the action of the resonance device Sound signal. Our course in this section uses an active buzzer. As long as the power is on, the active buzzer will sound. We can program the Micro:bit output high and low alternately, so that the active buzzer will sound.


36.3 Low level and high level


In circuit, the form of binary (0 and 1) is presented as low level and high level.

Low level is generally equal to ground voltage (0V). High level is generally equal to the operating voltage of components.

The low level of Micro:bit is 0V and high level is 3.3V, as shown below. When IO port on Micro:bit outputs high level, low-power components can be directly driven,like LED.

image.png


36.4 Circuit


You need to connect the components according to the circuit diagram below.


image.png


36.5 MakeCode programming

Next, we will use the online MakeCode Editor to complete the experiment in this lesson.


36.5.1 Start programming

(1) Log in to the website

1. You need to enter the URL in the address bar of Google Browser:

https://makecode.microbit.org/

2. After the website is successfully opened, the interface as shown below will appear:

image.png



(2) Import a project

1. In the HOME interface, click the "Import" button to import the external ".hex" file:

image.png


In the pop-up dialog box, select the "Import File", as shown in the following figure:

image.png



Click the "Choose File"

image.png



Find the code file for this lesson:

BBC_Microbit_Sensor\Code\Lesson_36\BlockCode

Select the file in ".hex" format and click the Open:

image.png


2. Notice whether the file has been loaded into the following window, and then click the "Go ahead!" button, as shown in the following figure:

image.png


3.You can see the following interface when successfully opening the file:

image.png


36.5.2 Run the program

1. After the program is written, connect micro:bit and PC with a Micro USB cable.

2. After micro:bit is connected to the computer, you need to first "Pair device". Click the image.png button on the right of image.png in the lower left corner, and then click the image.png option, as shown in the following figure:

image.png


Then click image.png in the lower right corner

image.png


Then the following dialog box will pop up, select image.png, and then click image.png

image.png


After the device is successfully paired, the image.png button changes to image.png

image.png


3. Start to download the program to Micro:bit, and click the image.png button. Generally, the program will be downloaded directly to the Micro:bit. After the download is completed, your Micro:bit will restart and run the program just downloaded. When the detected temperature is higher than a certain value,Active Buzzer will sound an alarm, which suggests that the experiment is a success.

image.png


[Note]

If Micro:bit doesn't respond after clicking the image.png, you need to click the image.png button on the right of the image.png, and then click the image.png , and observe the situation of the Micro:bit again, as shown in the following figure:

image.png


  If you have problems, please send us an email: support@adeept.com


36.5.3 Learn the code program

The following instruction blocks will be applied in the program. Please see the description of the function as follows:

 

 image.png


 

(1)When the detected temperature is higher than 25℃, Active Buzzer will sound an alarm. When it is lower than 25℃,Active Buzzer will be switched off.

image.png



36.6 Python programming

36.6.1 Run the program

1.Connect micro:bit and PC with a Micro USB cable.

2. Open the Mu Editor installed on the computer, and click the button [Load] in the upper left corner to open the source code program of this lesson:

image.png 


Find the code file for this lesson:

BBC_Microbit_Sensor\Code\Lesson_36\PythonCode

Select the file in ".py" format and click the Open:

image.png 


3. Click the [Flash] button to download the program to Micro:bit, as shown in the following figure:

image.png 


4.After downloading the program successfully,when the detected temperature is higher than a certain value, Active Buzzer will sound an alarm, which suggests that the experiment is a success.

image.png


    If you have problems, please send us an email: support@adeept.com


36.6.2 Learn the code program


The currentTemp represents the initial temperature. When the detected temperature is higher than the initial temperature, Active Buzzer will sound an alarm. When it is lower than the initial temperature, Active Buzzer will be switched off.

The error between the temperature measured by the built-in temperature sensor of Micro:bit and the temperature in the living environment will result in the temperature being different from the temperature in living life.


11

12

13

14

15

16

17

18

19

20

21

22

23

24

currentTemp = temperature()

max = currentTemp

min = currentTemp

 

while True:

    currentTemp = temperature()

    print(currentTemp)

    if currentTemp >= max:

        pin0.write_digital(1)

        sleep(300)

        pin0.write_digital(0)

        sleep(100)

    elif currentTemp < min:

        pin0.write_digital(0)