3.3.1 Slimme temperatuurgestuurde ventilator

3.3.1.1 Overzicht

Img

Wanneer de kamertemperatuur de vooraf ingestelde waarde overschrijdt, schakelt de slimme ventilator in om de ruimte af te koelen tot een comfortabele temperatuur. Daarnaast geeft het OLED-display in real time de huidige binnentemperatuur en de werkingstoestand van de ventilator weer, waardoor gebruikers intuïtieve feedback over de temperatuurregeling krijgen.

Img

3.3.1.2 Componentkennis

Img

micro:bit Temperatuursensor

Img

Het micro:bit hoofdboard is feitelijk niet uitgerust met een speciale temperatuursensor, maar gebruikt de nRF52833-chip voor temperatuurdetectie. Daarom is de gemeten waarde veel dichter bij de temperatuur van de processor, en kan er een afwijking zijn ten opzichte van de omgevingswaarde.

Het detectiebereik is -40 ~ 105℃.

OLED Display

Img

OLED-technologie heeft duidelijke voordelen zoals rijke kleurweergave, hoog contrast en brede kijkhoek, wat zorgt voor scherpe en levendige beelden, vooral bij zwartwaarden.

Elke pixel van het OLED-display straalt zelf licht uit zonder achtergrondverlichting, waardoor het relatief weinig stroom verbruikt. Met zijn kleine formaat (0.96 inch), hoge resolutie (128×64 pixels) en laag stroomverbruik is het zeer geschikt voor draagbare apparaten.

⚠️ Opmerking: In dit project is de SDA-interface van het OLED-display aangesloten op pin P20 en SCL op pin P19.

Parameters:

  • Bedrijfsspanning: DC 3.3V-5V

  • Werkstroom: 30mA

  • Interface: pinheaders met 2.54mm tussenruimte

  • Communicatiemodus: I2C-communicatie

  • Interne driverchip: SSD1306

  • Resolutie: 128×64

  • Kijkhoek: groter dan 150°

130 Motor

Img

Op de 130-motormodule bevindt zich een DC-motor die werkt op basis van elektromagnetische inductie en Lorentzkracht. Hij bestaat voornamelijk uit een stator, een rotor (anker) en een commutator. De stator genereert een vast magneetveld, terwijl de rotor, opgebouwd uit spoelen, een magneetveld genereert wanneer deze wordt bekrachtigd. Wanneer stroom via de borstels en de commutator naar de rotorspoel gaat, werkt het magneetveld van de rotor samen met dat van de stator, waardoor een Lorentzkracht ontstaat die de rotor doet draaien. Tijdens deze rotatie schakelt de commutator de stroomrichting om, zodat de rotor continu een kracht in dezelfde richting ondervindt en de rotatie wordt gehandhaafd. Met elektromagnetische inductie en Lorentzkracht zet de DC-motor elektrische energie om in mechanische energie.

Door de uitstekende toerenregeling en het hoge startkoppel worden DC-motoren veel toegepast in elektrisch gereedschap, voertuigen en huishoudelijke apparaten.

j124

De 130-motor kan in snelheid worden geregeld via PWM. Bij gebruik moeten twee pinnen worden aangesloten voor de besturing. Hij is geschikt voor toepassingenscenario’s waar de ventilatorsnelheid moet worden aangepast, zoals computerkoeling en industriële productie. Hij is klein, lichtgewicht en eenvoudig te monteren, wat hem zeer praktisch maakt.

Schematische tekening:

Img

De HR1124S-chip helpt bij het aansturen van de motor. De motor vereist echter een grote stroom en kan niet door een transistor worden aangestuurd, laat staan direct door een IO-poort. Zodra er spanning op de motor wordt gezet, kan deze gaan draaien. De draairichting van de motor varieert afhankelijk van de spanningsrichting. Binnen het nominale spanningsbereik geldt: hoe hoger de spanning, hoe sneller de motor draait. Omgekeerd: hoe lager de spanning, hoe langzamer de motor draait, of in sommige gevallen kan hij helemaal niet draaien.

Er zijn twee besturingsmodi: via hoge/lage niveau (rotatie en stoppen) en via PWM (regel van de rotatiesnelheid).

Parameters:

  • Werkspanning: DC 5V

  • Bedrijfstroom: (Max)400mA@5V

  • Maximale vermogen: 2W

  • Snelheid: (16000+10%) omw/min@5V

Img

3.3.1.3 Vereiste componenten

Img

Img

Img

micro:bit V2 hoofdboard ×1

micro:bit shield ×1

OLED-display ×1

Img

Img

Img

130 motor ×1

micro USB-kabel ×1

4-aderige kabel ×2

Img

Img

Img

ventilator ×1

batterijhouder ×1

AA-batterij (zelf mee te brengen) ×6

3.3.1.4 Aansluitschema

⚠️ Let op de draadkleuren bij het aansluiten.

130 motor

wire color

micro:bit shield pin

micro:bit board pin

G

black

G

G

V

red

V2

V

IN+

blue

2

P2

IN-

green

16

P16

OLED display

wire color

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.1.5 Codeflow

Img

3.3.1.6 Testcode

⚠️ Let op: de drempelwaarde 28 in de if()-voorwaarde kan aangepast worden aan de werkelijke situatie.

Volledige code:

Img

⚠️ Let op dat de code ‘C’ gebruikt in plaats van ℃, omdat ℃ vervormd wordt weergegeven op de OLED.

Img

Korte uitleg:

① Initialiseer OLED-pixels, wis de OLED, en de Micro:bit 5×5 LED-dotmatrix toont Img.

Img

② Het OLED toont de temperatuurwaarde op één regel.

Img

③ Ga naar een nieuwe regel.

Img

④ Beslissingsstructuur: if()…else…

Wanneer de door de sensor gedetecteerde temperatuur groter dan of gelijk aan 28℃ is, toont het OLED “Fan on” en draait de ventilator. Anders toont het OLED “Fan off” en werkt de ventilator niet.

Img

⑤ Vertraging 1000ms (1s).

Img

3.3.1.7 Testresultaat

Img

Na het aansluiten en het inschakelen via de micro USB-kabel, sluit ook de externe voeding (6 AA-batterijen) aan om voldoende stroom te garanderen.

Voor de Windows 10-app gewoon op Download klikken. Voor de browser, stuur het “.hex”-bestand naar het micro:bit-board.

Na het uploaden van de testcode naar het micro:bit-board toont de ingebouwde 5×5 LED-matrix Img, en geeft het OLED-display de temperatuur en de ventilatortoestand in real time weer.

Wanneer de temperatuur boven 28℃ ligt, draait de ventilator. Anders werkt de ventilator niet.

Img

⚠️ Let op: de bouwstenen in het experiment zijn niet bij deze kit inbegrepen.

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

Img