3.3.9 Micro:bit Multi-sensor OLED-monitorplatform

3.3.9.1 Overzicht

Img

In dit project gebruiken we het micro:bit board als de kernverwerkingsunit om de waarden van zijn ingebouwde sensoren (inclusief lichtsensor, temperatuursensor, microfoon) en externe sensoren (zoals PM2.5 stofsensor, regensensor en zonne-ultravioletsensor) uit te lezen, waarna deze waarden in realtime op de OLED via de I2C-interface worden weergegeven.

Tegelijkertijd kan de rotatie van de ventilator op de 130 motor module worden aangestuurd door op knop A op het Micro:bit board te drukken, en het waternevelspuiten van de vernevelingsmodule kan worden geregeld door op knop B op het Micro:bit board te drukken.

Img

3.3.9.2 Benodigde componenten

Img

Img

Img

micro:bit V2 board ×1

micro:bit shield ×1

OLED display ×1

Img

Img

Img

PM2.5 dust sensor ×1

motor ×1

regensensor ×1

Img

Img

Img

ultravioletsensor ×1

batterijhouder ×1

AA-batterij(zelf mee te nemen) ×6

Img

Img

Img

micro USB-kabel ×1

4 pin draad ×3

3 pin draad ×3

Img

Img

vernevelingsmodule ×1

ventilator ×1

3.3.9.3 Bedradingsschema

⚠️ Let bij het aansluiten op de kleur van de draden.

Ultravioletsensor

Draadkleur

micro:bit shield pin

micro:bit board pin

G

black

G

G

V

red

V2

V

S

yellow

0

P0

regensensor

Draadkleur

micro:bit shield pin

micro:bit board pin

G

black

G

G

V

red

V1

V

S

yellow

1

P1

PM2.5 dust sensor

Draadkleur

micro:bit shield pin

micro:bit board pin

GND

black

G

G

VCC

red

V2

V

LED

blue

9

P9

OUT

green

2

P2

vernevelingsmodule

Draadkleur

micro:bit shield pin

micro:bit board pin

G

black

G

G

V

red

V2

V

S

yellow

16

P16

motor

Draadkleur

micro:bit shield pin

micro:bit board pin

G

black

G

G

V

red

V2

V

IN+

blue

13

P13

IN-

green

15

P15

OLED display

Draadkleur

micro:bit shield pin

micro:bit board pin

GND

black

G

G

VCC

red

V2

V

SDA

blue

20

P20

SCL

green

19

P19

Img

3.3.9.4 Code-flow

Img

3.3.9.5 Testcode

Volledige code:

Img

Img

Korte uitleg:

① Initialiseer OLED-pixels, maak de OLED schoon. De 5×5 LED-matrix toont Img. Definieer de beginwaarden van variabelen Total_Sound, Sample_Num, Threshold_Value, Final_Volume, UV, Rain, Temperature, Light、Sound, en pm2.5_dust op 0.

Img

② De intensiteit van het geluid na filtering.

Img

③ Lees de waarden van lichtintensiteit, geluidsniveau, temperatuur, ultraviolet, regenhoeveelheid en PM2.5 stofconcentratie.

Img

④ Beslissingsstructuur: if()…else…

Druk op knop A op het micro:bit board, en de motor zal de ventilator laten draaien. Anders zal de ventilator niet roteren.

Img

⑤ Beslissingsstructuur: if()…else…

Druk op knop B op het micro:bit board, en de vernevelingsmodule zal waternevel spuiten. Anders werkt deze niet.

Img

⑥ Geef de waarden van ultraviolet, temperatuur, regenintensiteit, lichtintensiteit, geluidsniveau en PM2.5 stofconcentratie weer op de OLED.

Img

3.3.9.6 Testresultaat

Img

Na het aansluiten en inschakelen via micro USB-kabel, verbind ook een externe voeding (6 AA-batterijen) om voldoende stroomvoorziening te garanderen.

Voor de Windows 10 App, klik gewoon op download. Voor de browser, stuur het “.hex” bestand naar het micro:bit board.

Na het uploaden van de testcode naar het micro:bit board, worden de waarden van de ingebouwde sensoren (inclusief lichtsensor, temperatuursensor, microfoon) en externe sensoren (zoals PM2.5 stofsensor, regensensor en zonne-ultravioletsensor) uitgelezen, waarna het de lichtintensiteit, temperatuur, geluidsniveau, regenintensiteit, ultraviolette intensiteit van zonlicht en PM2.5-stofconcentratie realtime en intuïtief kan weergeven via het OLED-display met I2C-interface.

Blijf in de microfoon op het Micro:bit board blazen (of maak een zeer hard geluid) (⚠️ Speciale herinnering: Inblazen zorgt voor een duidelijker effect), en het OLED-scherm zal de intensiteit van het inblazen (of geluid) weergeven.

Wanneer knop A op het micro:bit board wordt ingedrukt, draait de ventilator op de motormodule. Wanneer knop B op het board wordt ingedrukt, spuit de vernevelingsmodule waternevel.

⚠️ Speciale opmerking: Soms kan de spanning van de externe voeding onvoldoende zijn. In dergelijke gevallen kan het nodig zijn om twee keer op de knop van het micro:bit board te drukken voordat de ventilator begint te draaien of de vernevelingsmodule begint te spuiten.

Img

⚠️ Speciale opmerking: Als de gegevens die op het OLED-scherm worden weergegeven af en toe bevriezen, komt dit doordat meerdere sensormodules gelijktijdig werken, wat resulteert in onvoldoende spanning en stroom. Druk in dat geval op de resetknop aan de achterkant van het Micro:bit-moederbord.

⚠️ Opmerking: De bouwstenen in het experiment zijn niet inbegrepen in deze kit.

(Tip: Als er geen resultaat wordt waargenomen, druk dan op de resetknop van het micro:bit board.)

Img