Arduino kontrollerade Beehive Fumigator / Air Freshener (8 / 9 steg)

Steg 8: Arduino kod

#include "MAX31855.h"
#include "LiquidCrystal.h"

#include "Adafruit_MAX31855.h"

LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

CONST int turnonAudioboard = 13.

CONST int audioTrigger0 = A0;

CONST int audioTrigger1 = A1;

CONST int audioTrigger2 = A2;

CONST int audioTrigger3 = A3;

CONST int audioTrigger4 = A4;

CONST int fanRelay = 10; //

CONST int heaterRelay = 9; kontroller värmare

CONST int countthreshold = 100; återställer de max och min värdena varje 100 sekunder

CONST int startfrequency = 300; ställa in start frekvens signaler

CONST int numberofbeepsmax = 50; Ange maximumnumber signaler möjligt

int fancountdown = 0;

int i;

int count = 5;

int freq = 0;

int pip = 0;

int beepthreshold = -10; Värdet ovan som Piper börjar vara lät

int
beepBeepThreshold = 0;

int audioCount0 = 0;

int audioCount1 = 0;

int audioCount2 = 0;

int audioCount3 = 0;

int audioCount4 = 0;

int alarmpotvalue = 500.

int tempsetpoint = 160;

int blowersetpoint = 20;

int bloweron = 0;

int zeropotvalue = 0;

int thermocoupleSOPin = 8;

int thermocoupleCSPin = 7.

int thermocoupleCLKPin = 6;

temperatur variabler:

dubbel setpoint;

dubbel värmen.

dubbel produktion;

dubbel korsning;

MAX31855 termoelement (thermocoupleSOPin, thermocoupleCSPin, thermocoupleCLKPin);

void setup()

{

pinMode (audioTrigger0, produktionen);

digitalWrite(audioTrigger0,HIGH); Låg utlöser ljud ljudet i FX-styrelsen

pinMode (audioTrigger1, produktionen);

digitalWrite(audioTrigger1,HIGH); Låg utlöser ljud ljudet i FX-styrelsen

pinMode (audioTrigger2, produktionen);

digitalWrite(audioTrigger2,HIGH); Låg utlöser ljud ljudet i FX-styrelsen

pinMode (audioTrigger3, produktionen);

digitalWrite(audioTrigger3,HIGH); Låg utlöser ljud ljudet i FX-styrelsen

pinMode (audioTrigger4, produktionen);

digitalWrite(audioTrigger4,HIGH); Låg utlöser ljud ljudet i FX-styrelsen

Delay(500);

pinMode (turnonAudioboard, produktionen);

digitalWrite (turnonAudioboard, hög);

pinMode (fanRelay, produktionen); initiera fan stafett pinnen som en utgång

pinMode (heaterRelay, produktionen);

digitalWrite (fanRelay, låg); Inaktivera relä.

digitalWrite (heaterRelay, låg);

tonen (A5, 400, 100); spelar upp ett 400 hz ljud för 100ms

LCD.BEGIN(20,4); Ange dimensionen lcd

LCD.Clear(); LCD-skärmen klart

lcd.setCursor(2,0); LCD.Print ("Varroa Blaster");

Delay(2000);

tonen (A5, 400, 100); spelar upp ett 400 hz ljud för 100ms

lcd.setCursor(2,1); LCD.Print ("Get Industries");

Delay(2000);

noTone (A5);

Läs aktuell temperatur

värme = thermocouple.readThermocouple(CELSIUS);

värme = värme-3; //
justering för kokpunkten av vatten

Om termoelement problem uppstå

om ((heat == FAULT_OPEN) || (värme == FAULT_SHORT_GND) ||
(Heat == FAULT_SHORT_VCC))

Delay(500);

Delay(500);

Om potten är för varmt:

While(Heat >
100) {

värme = thermocouple.readThermocouple(CELSIUS);

värme =
värme-3.

LCD.Clear();

lcd.setCursor(0,0); LCD.Print ("var god, vΣnta medan");
lcd.setCursor(0,1); LCD.Print ("de enheten kyler");
lcd.setCursor(0,2); LCD.Print ("till nedan 100");lcd.print((char)223);lcd.print("C");
lcd.setCursor (0,3), lcd.print ("Probe
Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C.");

tonen (A5, 300,
100). spelar ett 300 hz ljud för 100ms

Delay(3000);

}

om (värme < 90) //plays audio0 när temperaturen (värme) är les än 90 grader C.

{

digitalWrite(audioTrigger0,LOW); Låg
utlöser ljud ljudet i FX-styrelsen

Delay(500);

digitalWrite(audioTrigger0,HIGH);

}

annat {}

While(count>0) {

LCD.Clear();

lcd.setCursor(4,0); LCD.Print("Starting");
lcd.setCursor(2,1); LCD.Print("vapourisation");
lcd.setCursor(0,3); LCD.Print("count:"); lcd.setCursor(6,3);
LCD.Print(Count); lcd.setCursor(8,3);
LCD.Print("Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C");

tonen (A5, 400,100);

antal = antal -1;

Delay(1000);

noTone (A5);

}

}

void loop()

{

Läs aktuell temperatur

värme = thermocouple.readThermocouple(CELSIUS);

värme = värme-3;

korsningen = thermocouple.readJunction(CELSIUS);

Om termoelement problem uppstå

om ((heat == FAULT_OPEN) || (värme == FAULT_SHORT_GND) ||

(Heat == FAULT_SHORT_VCC))

blowersetpoint = 20;

värme = 17; tillfällig linje för felsökning

LCD.Clear();

lcd.setCursor(0,0); LCD.Print ("Blow tid:"); lcd.setCursor(10,0);lcd.print(blowersetpoint,DEC);
lcd.setCursor(14,0);lcd.print("Secs.");

lcd.setCursor(0,1); LCD.Print ("Temp börvärde:"); lcd.setCursor(15,1);
LCD.Print(tempsetpoint,dec);LCD.setCursor(18,1);LCD.Print((Char)223);LCD.Print("C");

lcd.setCursor(0,2);lcd.print("Int.Temp:");lcd.print(junction);lcd.print((char)223);lcd.print("C");

lcd.setCursor (0,3), lcd.print ("Probe Temp:");lcd.print(heat);lcd.print((char)223);lcd.print("C");

om
((Heat>100) & &(heat<105) & &(audioCount1<1)) //plays audio1 när temperaturen (värme) blir till 100 grader C.

{

audioCount1 = 1;

digitalWrite(audioTrigger1,LOW); Låg
utlöser ljud ljudet i FX-styrelsen

Delay(500); VIKTIGT detta måste vara minst 500!

digitalWrite(audioTrigger1,HIGH);

}

annat {}

om
((Heat>130) & &(heat<135) & &(audioCount2<1)) //plays audio2 när temperaturen (värme) blir till 130 grader C.

{

audioCount2 = 1;

digitalWrite(audioTrigger2,LOW); Låg utlöser ljud ljudet i FX-styrelsen

Delay(500);

digitalWrite(audioTrigger2,HIGH);

}

annat {}

om
((Heat>150) & &(heat<155) & &(audioCount3<1)) //plays audio3 när temperaturen (värme) blir till 150 grader C.

{

audioCount3 = 1;

digitalWrite(audioTrigger3,LOW); Låg utlöser ljud ljudet i FX-styrelsen

Delay(500);

digitalWrite(audioTrigger3,HIGH);

}

annat {}

göra pipande ljud vid ökande frekvenser

Freq =
startfrequency;

Piper = 0;

beepBeepThreshold
= beepthreshold;

While(beeps < numberofbeepsmax) {

IF(Heat >beepBeepThreshold)

tonen (A5, freq, 9); spela en anteckning från stift 1 på freq för 9ms

Piper ++;

beepBeepThreshold
= beepBeepThreshold + 10.

Freq = freq +
200.

Delay(10);

}

noTone (A5);

om (värme

}

annat
{digitalWrite (heaterRelay, låg), bloweron = 1;

}

fancountdown = blowersetpoint;

Delay(1000);

Nu temperaturen har uppnåtts och fläkten måste vara påslagen.

Starta ljud först:

om (bloweron > 0) {

digitalWrite(audioTrigger4,LOW); Låg utlöser ljud ljudet i FX-styrelsen

Delay(500);

digitalWrite(audioTrigger4,HIGH);

Delay(14000);

}

annat {}

Slå på fläkten:

While(bloweron >0) {/ / bloweron har staus i '1' och så denna slinga aktiveras:

digitalWrite (fanRelay, hög);

om (värme

}

annat
{digitalWrite (heaterRelay, låg);

}

Läs aktuell temperatur

värme = thermocouple.readThermocouple(CELSIUS);

värme = värme-3;

korsningen = thermocouple.readJunction(CELSIUS);

Om termoelement problem uppstå

om ((heat == FAULT_OPEN) || (värme == FAULT_SHORT_GND) ||

(Heat == FAULT_SHORT_VCC))

tonen (A5, 1500, 100); spelar ett 1500 hz ljud för 100ms

Delay(500);

tonen (A5, 1500,100); spelar ett 1500 hz ljud för 100ms

Delay(500);

fancountdown = fancountdown -1;

LCD.Clear();

lcd.setCursor(0,0);
LCD.Print("blowing:");
lcd.setCursor(10,0);lcd.print(fancountdown,DEC);
lcd.setCursor(14,0);lcd.print("Secs.");

lcd.setCursor(0,1);
LCD.Print ("Temp börvärde:"); lcd.setCursor(15,1);
LCD.Print(tempsetpoint,dec);LCD.setCursor(18,1);LCD.Print((Char)223);LCD.Print("C");

lcd.setCursor(0,2);lcd.print("Int.Temp:");lcd.print(junction);lcd.print((char)223);lcd.print("C");

lcd.setCursor (0,3), lcd.print ("Probe
Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C");

noTone (A5);

om (fancountdown < 1) {

Detta skapar en "Färdig" loop

medan (fancountdown < 1) {

LCD.Clear();

Läs aktuell temperatur

värme = thermocouple.readThermocouple(CELSIUS);

värme = värme-3;

korsningen = thermocouple.readJunction(CELSIUS);

Om termoelement problem uppstå

om ((heat == FAULT_OPEN) || (värme == FAULT_SHORT_GND) ||

(Heat == FAULT_SHORT_VCC))

lcd.setCursor(0,0); LCD.Print("finished");
lcd.setCursor(10,0);lcd.print(fancountdown,DEC);
lcd.setCursor(13,0);lcd.print("Secs.");

lcd.setCursor(0,1); LCD.Print ("Temp set
punkt: "); lcd.setCursor(15,1);
LCD.Print(tempsetpoint,dec);LCD.setCursor(18,1);LCD.Print((Char)223);LCD.Print("C");

lcd.setCursor(0,2);lcd.print("Int.Temp:");lcd.print(junction);lcd.print((char)223);lcd.print("C");

lcd.setCursor (0,3), lcd.print ("Probe
Temp:");LCD.Print(Heat);LCD.Print((Char)223);LCD.Print("C");

digitalWrite (heaterRelay, låg);

digitalWrite (fanRelay, låg);

Delay(1000);

}

}

annat {}

}

}

Se Steg
Relaterade Ämnen

Arduino kontrollerade ljus dimmer

Varning: Vissa människor försöka bygga detta med en optocoupler med zerocrossing coz "som är bättre" rätt? Vissa får även höra i elektronik butiker är det bättre att använda sådan optocoupler. FEL. Detta fungerar endast med en random brand optoc...

Laser Galvo - Arduino kontrollerade

Arduino kontrollerad laser galvo. Servo driven speglar styra UV laser lämna ett fosforescerande spår på glöd-in-the-dark vinyl ark.Ursprungligen postat på notes.robives.comSteg 1:Börjar med ett blad av självlysande vinyl från eBay och en UV laserpeka...

Hemgjord Air Freshener Gel

jag ville dela mina erfarenheter med att göra dessa lätt och användbar Air Freshener geler. En relativt låg kostnad gör det själv rum luftfräschare, kan du ha alla ingredienser redan!Jag hålla en i varje fordon och vid mitt skrivbord på jobbet.Den to...

Sällskapsdjur utegångsförbud: En Arduino kontrollerade sällskapsdjur dörr

Problemet: du vill begränsa den tid när ditt husdjur är tillåtet att gå utanför. Detta kan bero på att trakten inte är säkra för din katt eller liten hund på natten (plundringarna coyotes kommer att tänka på). Men du vill ha ditt husdjur för att kunn...

Arduino kontrollerade Servo Robot (serbiska)

vad bättre sätt för att börja experimentera med öppen källkod mikro-styrenheter ( Arduino ) då genom att bygga din egen öppen källkod robot ( CC (SA-av))?Vad till gör med din Serbiska?(här) - Hur ansluta din serbiska till internet och köra det över e...

Infraröd Sensor guidade Arduino kontrollerade L293D Robot (del 2)

Här är del 2 av Arduino kontrollerade L293D Robot.Del 2 innehåller IR Sensors.This ingår i en serie av instructables leder till en rad efterföljare Robot.QRD1114 Infrarödsensor kopplad till ArduinoSteg 1: Ledningar IR sensorn till ArduinoNegativ från...

Arduino kontrollerade fyren

Översikt:Jag har ofta tänkt att en fyr skulle göra ett stort projekt för en Arduino, och så jag beslöt att ge det ett försök med någon av de lokala fyrarna här i Erie, Pennsylvania som inspiration. Jag valde Norr Pierhead fyr som vaktar ingången till...

Arduino-kontrollerade Wolf svans

hälsningar, eller ska jag säga, "Aaaaaooooooooooooh!" Gärna göra din bekantskap Karl wolf entusiast. Du har en inre wolf ande som är så ivriga att ge sig till känna att du har kommit mig att lära mig hur man gör din egen animatronic wolf svans,...

Arduino kontrollerade kök Timer

Alla ni måste har upplevt detta att du har något kokning på din gasspis medan å andra sidan du få upptagen tittar på TV eller få en djup konversation att du inser på upptäcka en lukt som det var helt bortskämd bara på grund av din slarv. Denna lilla...

Arduino kontrollerad bil Tracking System baserade på SMS-

Hej jag gjorde en Arduino kontrollerad bil Tracking System baserat på SMS för min fars bil.Använda modulerna är;Arduino nano V3.0SkyLab GPS-modulenWaveCom GSM-modulSoftwareSerial bibliotek, TinyGPS används för att kommunicera med moduler.När jag ring...

Trådlösa Arduino kontrollerade Tank (nRF24L01)

Hej!Idag kommer jag att visa dig hur man bygger en Arduino kontrollerade tank och fjärrkontroll. 3d tryckta delar av tanken (med undantag av registeransvarige, spåra guide och tank cover) ritades av timmiclark och kan hittas här.Steg 1: Samla materia...

Arduino kontrollerade CNC / 3D skrivare Hybrid

Moder natur gör... Vi bygger.BuildersBot säkringar 3D utskrift & CNC fräsning till en Builders dröm "3dprintingindustry.com"BuilderBot är en öppen Design maskin, som använder OpenMjukvara och öppen hårdvara. Det är en produkt av öppna projek...

Android & Arduino kontrollerade projektorn skärmen

detta är min första gången du använder Arduino, eller någon mikrokontroller. Jag är glad att det fungerat så bra men min fru kan inte bero på, travar av mikrokontroller som kommer att dyka upp på vår tröskel snart för framtida projekt. Någon feedback...

Wall-E's anti-sociala kusin: objekt att undvika Arduino kontrollerade Robot!

jag byggde nyligen en Arduino kontrollerade robot, som undviker objekt och skickar ut en PING)) ekolod att kontrollera om ett objekt är. När ett objekt har identifierats, roboten ryggen upp och vänder åt andra hållet!Jag kallar det anti-sociala robot...

Arduino-kontrollerade Smart Home

Detta Instructable skrevs av PubNub Evangelist Ian Jennings . Ians historia går igenom hans processen för att bygga en Arduino-kontrollerade smarta hem modell från grunden.--Tillbaka i September, vår grundare Stephen och jag pratade om olika sätt att...

Arduino kontrollerade Flight Simulator - "The Viper"

min Maker Faire projekt för 2012 är "The Viper"--en Arduino kontrollerade flight simulator inspirerad av shipen av det samma känt från SyFy kanalens TV-serien Battlestar Galactica. Den roterar 360 grader längs två axlar, vilket innebär att ja, d...

Arduino kontrollerade makt källa

Detta instructable beskriver hur du utformar en Arduino kontrollerad leverans strömkälla.En kort video som presenterar sitt arbete kan ses i min Youtube-kanalSteg 1: Design idéer, begagnade strategi... Syftet med projektet var att skapa ett litet dri...

Hexachord, en Arduino-kontrollerade musikinstrument

Förra året, med tidsfristen för Bay Area Maker Faire skapade jag ett nytt instrument som kallas Hexachord. Det var mycket roligt, en stor hit, och jag har haft chansen att göra ett antal samtal om det. Den design utmaningen var spännande och det fann...

Arduino-kontrollerade Robotic trumma

I år jag har berättat för någon som lyssnar som skulle jag bygga en robot trumma. De flesta slags ryckte likgiltigt. Även när jag byggde det, de flesta slags sneglade över på det och förmedlas tveksamhet. Det verkade som ingen men själv var övertygad...