Annonse

Hev det perfekte brødet, brygg vakkert øl og glade kyllinger bak med en Arduino-temperaturregulator. Hvis du bor i et mindre enn pålitelig klima som England, er ikke veibeskrivelse som forteller deg å holde noe på en bestemt temperatur spesielt nyttig - vi har ikke klimaanlegg, og å heve termostaten for hele huset er ikke praktisk for bare å lage en brødskive. Selv om de holdes inne, kan kyllinger dø hvis temperaturen synker om natten; og å få dem til å klekkes i utgangspunktet har et enda strengere temperaturområde. Men jeg trenger brødet mitt, og kyllingene trenger klekking - så i stedet for å kjøpe dyrt utstyr, kan vi klappe sammen en kompetent temperaturkontroller med en Arduino og husholdningsbiter.

Det samme er også tilfelle for å holde varene kalde - det kan være bortkastet å kjøre et helt kjøleskap bare for å lage yoghurt - men med en temperaturkontroller er prinsippet det samme. I stedet for å aktivere et varmeelement, aktiverer du pluggen på et minikjøleskap eller annet kjøleelement, som f.eks Peltier (termoelektrisk kjøler) - og selvfølgelig vil logikken bli snudd.

instagram viewer

Hva du trenger

Dette er et Arduino-prosjekt - hvis du aldri har jobbet med Arduino før, vårt gratis nybegynnerguide Komme i gang med Arduino: En nybegynnerguideArduino er en åpen kildekode-prototypeplattform for elektronikk basert på fleksibel, brukervennlig maskinvare og programvare. Den er beregnet på kunstnere, designere, hobbyister og alle som er interessert i å lage interaktive objekter eller miljøer. Les mer er et fantastisk sted å starte.

  • Arduino
  • Temperatursensor - Jeg bruker en TMP36, en billig enhetspakkeenhet som leveres med Oomlout (UK) / Sparkfun (USA) nybegynnerkit.
  • Relé- eller RC-pluggbrytere
  • Skru terminaler
  • Boks for å fange varmen
  • Varmeelement eller glødepære og armatur (eller begge deler)

Den siste gjenstanden har blitt overlagt bevisst vag. Hvis du har en glødepære (den typen som blir varm, ikke en energisparende pære), eller en varm lampe for sportslige skader og slikt, er det sannsynligvis den enkleste å sette opp. Jeg bruker et varmebånd - i utgangspunktet et gummibånd som blir varmt når strøm blir ført gjennom, brukt på karboer og fat for innledende gjæringsstadier i vin- eller ølfremstilling - teknisk sett kan dette være en brannfare når det ikke vikles rundt noe, så vær så snill, ikke gjør dette. Jeg bruker det bare for å teste. Du kan også kjøpe varmeputer til samme formål.

Av sikkerhetsmessige grunner bruker jeg disse RC-pluggene til å bytte vekselstrømsenheter, med en kontroller hacket fra hverandre detaljert i denne hjemmeautomatisasjonsartikkelen Kontroller apparater fra en Arduino: Starten med automatisering av hjemmetForrige gang viste jeg deg noen få måter å gjøre dine Arduino-prosjekter tale kontrollert via SiriProxy, OS X-er innebygde snakbare elementer, og noen Automator-skripting, eller til og med en dedikert stemmegjenkjenningsmaskinvare chip. JEG... Les mer . Det er trådløst, så på ingen måte trenger jeg faktisk berøre strømførende ledninger.

Temperaturfølelse

La oss starte med å koble opp og teste sensoren. [Diagram fra Adafruit]

Adafruit-tmp36

Med den flate siden mot deg og beina med forsiden ned, er TMP36 temperatursensoren kablet opp +, signal, GND i den rekkefølgen. + Går til 3,3 V-utgangen fra Arduino; du trenger også en annen linje som går fra +3,3 V til AREF-pinnen - dette forteller Arduino å bruke 3,3 V for analog inngangsreferanse i stedet for 5 V. Koble signalstiften til sensoren til A1. I tidligere forsøk hadde jeg brukt TMP36 direkte på 5 V-linjen; det fungerer, dessverre når det kobles sammen med et relé, var det et kraftfall hver gang reléet ble aktivert, noe som resulterte i svært svingende avlesninger.

Jeg brukte en gammel nettverkskabel som signalkabel - veldig nyttig å ha rundt, siden det er 8 ledninger inni. Kabelen er imidlertid ganske tynn, så husk å styrke den andre enden med lodding der den blir skrudd fast i en terminalblokk.

tmp36-sensor-kabling

Formelen i koden antar at du bruker tMP36-sensoren; du skal kunne finne en kodeeksempel for andre sensorer. Dette prøvekode er fra Adafruit - laste den opp og åpne seriekonsollen for å undersøke utdataene.

tmp36-testing

Sammenlign med et termometer om mulig. Lesningene ikke riktig?

  • Kontroller at spenningen som leveres faktisk er 3,3 V
  • Er AREF koblet til 3,3 V også?

Legger til i Switch Logic

For å kontrollere varmeelementet bruker jeg disse RC-stikkontaktene fra Maplin, og har tatt fra hverandre kontrolleren. Bare bakken og kontrollpinnen trenger å være tilkoblet. Jeg har endret koden for å inkludere de relevante bibliotekene du kan last ned herfra.

rc-brytere

På dette tidspunktet vil jeg også fjerne alle referanser til Farenheit og fortsette å jobbe med Celsius. Jeg har deretter definert en ønsket temperatur for å opprettholde, og lagt til i en enkel kontrollstruktur slik:

if (temperaturC 

Det er ikke noe komplisert her som du ikke vil forstå - bare å sammenligne gjeldende temperaturavlesning med ønsket og slå på bryteren hvis den er lavere. Ellers kan du slå den av.

Den komplette koden kan være funnet her, selv om du må justere dette hvis du bruker et stafett (det er ikke vanskelig). Her er det komplette koblingsskjemaet jeg brukte:

ledningsnett

Sette alt sammen

Teip sensoren inne i boksen du bruker, og plasser varmeelementet der det er aktuelt. Still inn ønsket temperatur, og slå på det hele. Hvis du holder PC-en tilkoblet for nå, kan du bruke seriekonsollen til å observere endringer når boksen blir varm.

temperatur-regulator-box

Videre arbeid

  • For å minske effekten av temperatursvingninger, kan du prøve å jevne ut resultatene. Lag en matrise for å lagre 10 avlesninger, og beregne et gjennomsnitt på hver sløyfe.
  • For å unngå hurtig aktivering og deaktivering av varmeelementet, opprett en variabel for å lagre en nedtelling. Hver gang du aktiverer eller deaktiverer, må du registrere gjeldende tid i nedtellingen, og sjekk om X tid har gått siden den siste tilstandsendringen før du bytter tilstand igjen.
  • For et datamaskinfritt prosjekt, kobler du til en liten LCD-skjerm for å vise gjeldende temperatur og lar deg se gjeldende og ønsket temperatur.

Sette den på prøve

Til slutt, hva ville dette prosjektet være uten en liten test? Jeg pisket opp et parti ferdig blandet deig i brødmaskinen og delte den i to brød. Den som var sur i kassen var mildt sagt større, men da er omgivelsestemperaturen i dag omtrent 26 grader Celsius - dette vil være mye mer nyttig om vinteren. Uansett bør jeg lage litt suppe som følger med dette nydelige brødet.

brød-test

Så, hva vil du lage som krever konstant temperatur?

James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.