Stap 4: onderdelen
XADC
De XADC neemt een analoog signaal (in ons geval de temperatuur sensor spanning door de LM35 output) en zet dit om in een 16-bits binair getal. De comparator neemt dan in die binair getal als invoer voor de vergelijking. Om te krijgen moeten de We instantiëren de Basys 3 XADC demo, een verilog-onderdeel te maken worden een VHDL-component. Poort toewijzen van de Demo-ingangen en converteer vervolgens de output van de XADC naar 8 bits als de input van de comparatoren.
Comparateur (schema's hierboven genoemde)
Hot:
Cold: Warme en koude Comparateur de hete comparator is verbonden met de ventilator die in de temperatuur als invoer neemt te vergelijken met de standaard warme temperatuur en inschakelen van de ventilator van ultrasone sensor signaal. Als de temperatuur input groter is dan de standaardwaarde voor de inwendige temperatuur van de hete en de persoon in op in de buurt van door, dan stuurt de warme temperatuur comparator het signaal om te zetten op de ventilator. Als de input van de temperatuur lager is of gelijk aan de waarde van de inwendige temperatuur van de hete ongeacht of mensen in de buurt is of niet, zal de ventilator niet worden ingeschakeld. Als de ultrasone sensor de out van bereik signaal stuurt, maar de omgevingstemperatuur hoger dan het ingestelde bereik is, zal de ventilator niet worden ingeschakeld.
De koude comparator die bijna hetzelfde als de hete comparator is. Het is verbonden met de verwarming pad die het in- of uitschakelen op basis van de input van de temperatuur en de ultrasone sensor signaal signaal ontvangt. Als de omgevingstemperatuur verzameld van temperatuur sensor groter is dan de standaard koude tempetemperature ingang de XADC en de persoon is op het bereik, dan de verwarming pad zal worden gedraaid op de warming-up het milieu. Als de temperatuur hoger dan de standaard koude temperatuur is en het volk zich op bereik, dan sturen de comparator uit signaal naar verwarming pad om energie te besparen. Als de temperatuur ingang is groter dan de standaard koude temperatuur en mensen zijn in het bereik, de hete comparator zijn gonna een off signaal uitschakelen van de verwarming pad. De temperatuursensor zal niet functioneren als de temperatuur ingang groter dan de standaardwaarde voor de koude temperatuur is en mensen niet in het bereik zijn.
Arduino - ultrasone Sensor
De Arduino wordt gebruikt om te programmeren van de ultrasone sensor. De setup is wanneer de ultrasone sensor niet een persoon binnen een bepaalde bereik detecteert, dan een LED zal oplichten. In het andere geval, als de persoon zich binnen het bereik van de ultrasone sensor, dooft vervolgens de LED. De Arduino zal ook een high(1) output als het detecteert iemand of een low(0) als dit niet het geval. Het bestuur Basys 3 werkt de ventilator en verwarming pad wanneer het een '1' signaal van de arduino ontvangt.
LM35 Temperatuursensor
De LM35 temperatuursensor uitgangen een spanning op basis van de omgevingstemperatuur. Deze analoge uitgangsspanning wordt gelezen door de XADC en vervolgens omgezet in een digitale spanning tussen nul en één. Voor het verkrijgen van de temperatuur in celsius, vermenigvuldigt u het resultaat met 100. In de XADC vhdl code verhuisd we net het decimaalteken aan de tweede anode.
Macht MOSFETS en voedingen
Macht mosfets werden gebruikt om te functioneren als een schakelaar aan de ventilator en verwarming pad. N-Type MOSFETs fungeren als een schakelaar op het geaarde einde van een onderdeel. Het wil met een verbinding met het negatief einde van het onderdeel worden van een schakelaar voor, een spanningsbron poort, en een pin van de grond te voltooien van het circuit. De spanningsbron poort is waar spanning wordt gecontroleerd op basis van een situatie. In ons geval, de spanning van de poort is ingeschakeld wanneer de persoon zich binnen het bereik en het bevalt de respectieve temperatuurbereik voor de comparator. Wanneer aan deze eisen is voldaan, activeert de code de variabele macht-uitgangen van de respectieve pins van de component. Aangezien de macht mosfets die we gewend waren te resistieve, vereisen ze een behoorlijke hoeveelheid spanning te bedienen en de poort sluiten. Kijkend naar het schema van de mosfet's, hieruit is gebleken dat er moest worden over een 4V verschil tussen de spanning van de poort en de grond. Aangezien onze variabele pinnen kunnen alleen 3,3 v uitgang, wij toegevoegd een extra spanning van ten minste 1 van de bronnen van de spanning om te controleren de werking van de poort. De constante 1 aan op de poort pin is zeker niet genoeg om de switch voor bijlagen uitschakelen, maar wanneer de 3.3 volt samen met de 1 t/m vhdl code wordt toegevoegd, is het genoeg voor de vermogen-mosfet om goed te functioneren. Als we toegang tot zwakkere MOSFETS hadden, zou de bronnen van de constante spanning niet nodig geweest omdat de 3,3 v van het bord had voldoende macht om de poorten te sluiten.