Stap 2: De besturingselementen
Allemaal gebaseerd rond een Arduino Uno. Ik brood aan boord van de componenten en een start op een schets gemaakt.
De schets gebruikt 3 bibliotheken:
- Eén om te rijden de mosfet irf520 om over te schakelen van de ventilator op.
- Een om te rijden de OLED-display
- Een om te lezen en vertalen van de gegevens van de temperatuur van de DHT11
Ik zal ook de schets hier later, zodra ik heb opgeruimd het een beetje, maar gelieve worden gewaarschuwd, ik ben niet een coder, ik begrijp goed codering beginselen, maar de neiging om een luie coder. Als ik een manier rond iets vinden kan, en het werkt, dan werkt het.
Er zijn enkele grote sites die er uitleg over het gebruik van elk... en zal bevatten koppelingen naar de beste (in mijn mening) sites om het beste uit elk.
Logica:
Een enkele USB-kabel biedt macht aan de Arduino en de USB-ventilator. De Arduino kan niet worden uitgevoerd aan de ventilator, aangezien de huidige het trekt de Arduino zou beschadigen (een beetje dramatische eigenlijk! het zou reis de onboard zekering). Dus moeten we een manier vinden om over te schakelen van de macht aan de fan in- of uitschakelen met behulp van de Arduino.
Een transistor is vereist, ik eerst een Darlington transistor besteld, maar na het lezen van, explosiemotor voor een irf520 MOSFET driver module van HobbyComponents.com. Geek Alert!! De IRF520 is geweldig voor logica niveau schakelen (output van Arduino pinnen). De spanning naar het apparaat verzonden bepaalt de weerstand van de MOSFET, D.W.Z. het verzenden van 0 tot 255 aan een digital pin zal verjagen de ventilator (of een ander aangesloten apparaat) uit op volle snelheid.
We zullen op 0 tot 255 later terugkomen.
Dus we op een ventilator met een Arduino overstapt, waarom de moeite? Nou, we willen het om op te komen als het te koud, niet wij? Dus als we een temperatuursensor toevoegt, we schrijven kunnen code en test om te zien of het warm en de ventilator inschakelen (255) of uitschakelen (0). Ik ging voor een DHT11 als het vuil goedkoop, makkelijk naar code en nauwkeurig genoeg is voor dit project.
Terug naar dat bedrijf van 0 tot 255. Als we weten dat een beetje van code de ventilator (255) aanzetten zal als de temperatuur is hoog, of uitgeschakeld (0) als de temperatuur laag is, is als we een waarde tussen 0 en 255 hadden, zou de weerstand stijgen of dalen over de MOSFET en versnellen of vertragen van de ventilator.
Voer een potentiometer aangesloten op een analoge pin! Toen draaide, genereert een waarde tussen 0 en 1023. Deze waarde kan vervolgens worden getest in de code te wijzigen van de snelheid van de ventilator!! yipeeeee.
Er is één laatste ding (Nou, een paar). De bibliotheek van de motorische controle die we gebruiken zullen om te rijden het stuurprogramma MOSFET accepteert 2 parameters, één om in te stellen van de weerstand (voor de snelheid) en een andere duur in te stellen. Dus met deze magische parameter, wij annuleerteken troep hoelang de ventilator is op, en hoe lang de ventilator als af.
We hebben dus 4 potten om te controleren de 4 variabelen. Vervolgens zullen we kijken naar het scherm.