Annons

Lyft det perfekta brödet, brygg vackert öl och bakre glada kycklingar med en Arduino-temperaturkontroller. Om du bor i ett mindre än tillförlitligt klimat som England, är riktningar som säger att du ska hålla något vid en inställd temperatur inte särskilt användbart - vi har inga luftkonditioneringsapparater, och att höja termostaten för hela huset är inte praktiskt för att bara göra en brödlimpa. Även om de hålls inne kan kycklingar dö om temperaturen sjunker på natten; och att få dem att kläckas i första hand har ett ännu strängare temperaturintervall. Men jag behöver mitt bröd, och kycklingarna behöver kläckas - så istället för att köpa dyr utrustning kan vi kullsa ihop en kompetent temperaturkontroller med en Arduino och hushållsbitar.

Detsamma gäller också för att hålla föremål svala - det kan vara slösat att köra ett helt kylskåp bara för att göra yoghurt - men med en temperaturkontroll är principen densamma. Istället för att aktivera ett värmeelement aktiverar du kontakten på en minikyl eller annat kylelement, som en

instagram viewer
Peltier (termoelektrisk kylare) - och naturligtvis kommer logiken att vändas.

Vad du kommer att behöva

Detta är ett Arduino-projekt - om du aldrig har arbetat med Arduino tidigare, vårt gratis nybörjarguide Komma igång med Arduino: En nybörjarguideArduino är en open-source elektronikprototypplattform baserad på flexibel, lättanvänd hårdvara och mjukvara. Den är avsedd för konstnärer, designers, hobbyister och alla som är intresserade av att skapa interaktiva objekt eller miljöer. Läs mer är en fantastisk plats att börja.

  • Arduino
  • Temperaturgivare - Jag använder en TMP36, en billig enhet med en paket som levereras med Oomlout (UK) / Sparkfun (USA) nybörjarsats.
  • Relä- eller RC-kontaktomkopplare
  • Skruvplintarna
  • Låda för att fånga värmen
  • Värmeelement eller glödlampa och armatur (eller båda)

Den sista artikeln har lämnats medvetet vag. Om du har en glödlampa (den typ som blir varm, inte en energibesparande glödlampa) eller en varm lampa för idrottsskador och sådan är det förmodligen det enklaste att installera. Jag använder ett värmeband - i grund och botten ett gummiband som blir varmt när el passerar igenom, används på kolhydrater och kaggar för initiala jäsningssteg i vin- eller öltillverkning - tekniskt kan detta vara en brandrisk när det inte lindas runt något snälla gör det inte, jag använder det bara för att testa. Du kan också köpa värmedynor för samma ändamål.

Av säkerhetsskäl använder jag dessa RC-kontakter för att växla växelströmsapparater, med en styrenhet hackad isär i detalj den här hemmautomationsartikeln Kontrollera apparater från en Arduino: Starten med hemmeautomationFörra gången visade jag dig några sätt att göra dina Arduino-projekt tal styrda via SiriProxy, OS X inbyggda talbara artiklar och vissa Automator-skript, eller till och med en dedicerad röstigenkänningsmaskinvara chip. I ... Läs mer . Det är trådlöst, så jag behöver inte på något sätt röra vid direktkablar.

Temperaturavkänning

Låt oss börja med att koppla upp och testa sensorn. [Diagram från Adafruit]

adafruit-tmp36

Med den plana sidan mot dig och benen vända nedåt är TMP36 temperatursensorn trådbunden +, signal, GND i den ordningen. + Går till 3,3 V-utgången från Arduino; du behöver också en annan linje som går från +3,3 V till AREF-stiftet - detta säger Arduino att använda 3,3 V för analog ingångsreferens istället för 5 V. Anslut sensorns signalstift till A1. I tidigare försök hade jag använt TMP36 direkt på 5 V-linjen; det fungerar, tyvärr lite när det kopplas ihop med ett relä, det fanns ett effektfall när reläet aktiverades, vilket resulterade i mycket fluktuerande avläsningar.

Jag använde en gammal nätverkskabel som signalkabel - mycket användbart att ha runt, eftersom det finns 8 trådar inuti. Kabeln är dock ganska tunn, så se till att stärka den andra änden med löd där den kommer att skruvas fast i ett terminalblock.

tmp36-sensor-kablage

Formeln i koden antar att du använder tMP36-sensorn; Du bör kunna hitta ett kodprov för andra sensorer. Detta provkod kommer från Adafruit - ladda upp den och öppna seriekonsolen för att undersöka utgången.

tmp36-testning

Jämför med en termometer om möjligt. Läsningar inte rätt?

  • Kontrollera att spänningen som levereras faktiskt är 3,3 V
  • Är AREF ansluten till 3,3 V också?

Lägger till i switchlogik

För att styra värmeelementet använder jag dessa RC-stickkontakter från Maplin och har tagit isär styrenheten. Endast marken och styrstiftet måste anslutas. Jag har ändrat koden för att inkludera relevanta bibliotek som du kan ladda ner härifrån.

rc-switchar

Just nu kommer jag också att ta bort alla referenser till Farenheit och fortsätta att arbeta med Celsius. Jag har sedan definierat en önskad temperatur att bibehålla och lagt till i en enkel kontrollstruktur som så:

if (temperaturC 

Det finns inget komplex här som du inte kommer att förstå - bara jämföra den aktuella temperaturavläsningen med den önskade och slå på omkopplaren om den är lägre; annars kan du stänga av den.

Den fullständiga koden kan vara hittade här, men du måste justera detta om du använder ett relä (det är inte svårt). Här är det kompletta kopplingsschema som jag använde:

ledningar

Få alltid att falla på plats

Tejpa sensorn inuti lådan du använder och placera värmeelementet där det är lämpligt. Ställ in önskad temperatur och slå på allt. Om du håller din dator ansluten för nu kan du använda seriekonsolen för att se förändringar när din låda värms upp.

temperatur-regulator-box

Ytterligare arbete

  • För att minska påverkan av temperaturfluktuationer kan du försöka jämna ut resultaten. Skapa en matris för att lagra 10 avläsningar och beräkna ett genomsnitt på varje slinga.
  • För att undvika snabb aktivering och inaktivering av värmeelementet, skapa en variabel för att lagra en nedräkning. Registrera aktuell tid i nedräkningen varje gång du aktiverar eller inaktiverar, och kontrollera om X-tiden har gått sedan den senaste tillståndsändringen innan du byter tillstånd igen.
  • För ett datorfritt projekt, anslut en liten LCD-skärm för att visa aktuell temperatur och låta dig se aktuell och önskad temperatur.

Testa det

Slutligen, vad skulle detta projekt vara utan ett litet test? Jag piskade upp ett parti färdigblandad deg i brödmaskinen och delade den i två bröd. Den som hyrde in i lådan var milt större, men då är den omgivande lufttemperaturen idag cirka 26 grader Celsius - det skulle vara mycket mer användbart på vintern. Oavsett, jag bör göra lite soppa för att följa detta härliga bröd.

bröd-testet

Så, vad skulle du göra som kräver konstant temperatur?

James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.