Zonnecollector & stralingswarmte controller (6 / 8 stap)

Stap 6: Programmeren van de Arduino

De volgende stap is de programma-code toevoegen aan de Arduino. Hiervoor moeten we sommige gratis IDE-software downloaden van deze site (http://arduino.cc/en/Main/Software). Download de meest recente IDE-Software thats beschikbaar op de site.

1. download en installeer de software van de site.

2. open het programma en de Arduino cluster verbinden met uw computer Via de USB-poort.

3. Selecteer Tools/Board en de Arduino die u gebruikt.

3. Selecteer Tools/Port en de poort die kan worden geselecteerd.

4. download en open het bestand uit de onderstaande lijst of Start een nieuw bestand en kopieer en plak de code hieronder.

5. Druk op de knop pijl-rechts op de bar van het programma voor het uploaden van de schets aan de Arduino.

 // Title: Solar Collector & Radiant Heat Grid Controller// Date:12/01/14 // Author: Chris Biblis (My First Adruino Project )#include LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // define some values used by the panel and buttons int lcd_key = 0; int adc_key_in = 0; #define btnRIGHT 0 #define btnUP 1 #define btnDOWN 2 #define btnLEFT 3 #define btnSELECT 4 #define btnNONE 5 // read the buttons int read_LCD_buttons(){ adc_key_in = analogRead(0); // buttons when read are centered at these valies: 0, 144, 329, 504, 741 // we add approx 50 to those values and check to see if we are close if (adc_key_in > 1000) return btnNONE; if (adc_key_in < 50) return btnRIGHT; if (adc_key_in < 250) return btnUP; if (adc_key_in < 450) return btnDOWN; if (adc_key_in < 625) return btnLEFT; //Changed value to 625 do to double read from select button Default is 650. if (adc_key_in < 850) return btnSELECT; return btnNONE; } // Setup relay shield pin array. //RELAY SHIELD PIN SWAPS, D7 = D3, D9 = D11, D10 = D12 int relayPin[] = {2, 3, 11, 12}; int pinCount = 4;// Set On/Off Differentials for collector/tank temperatures. const int diffON = 5; const int diffOFF = 2;// Set Default Thermostat temperature int setTemp = 60;//Used for calibration int offSet[] = {-2, -1, 0, 1, 2};//Button Variables. int select = 0; int up = 0; int down= 0; int backLight = 10; boolean BLbutton = false; void setup(){ lcd.begin(16, 2); lcd.setCursor(0,0); //Introduction Screen lcd.print("Solar Collection"); lcd.setCursor(0,1); lcd.print("& Radiant Heater"); delay(2000); for (int thisPin = 0; thisPin < pinCount; thisPin++) { pinMode(relayPin[thisPin], OUTPUT);} } // Read average voltage from sensors int ReadSens(int x){ int i; int sval = 0; for (i = 0; i < 10; i++){ sval = sval + analogRead(x); } sval = sval / 10; return sval; } // Calculate temperature in F from voltage of sensors. int getTemp(int y){ //Convert to Celcius float a = (((y / 1024.0) * 5000)/10)-273.15; //Convert Celcius to Fahrenheit float b = a * 9.0 / 5.0 + 32.0; return b; }void loop(){ // Get average Voltage int amb = ReadSens(1); int col = ReadSens(2); int tk = ReadSens(3); int tt1 = ReadSens(4); int tt2 = ReadSens(5); // Get Temperatures & Apply OffSet { -2, -1 , 0, 1, 2 } int ambient = (getTemp(amb) + offSet[0]); int collector = (getTemp(col) + offSet[0]); int tank = (getTemp(tk) + offSet[0]); int transferTemp = (getTemp(tt1) + offSet[0]); int transferTemp1 = (getTemp(tt2) + offSet[0]); //Backlight button selection... if (BLbutton == true){pinMode(backLight, INPUT);} //turn backlight off else{pinMode(backLight,OUTPUT);} //turn backlight on // Display screens if (select == 3){select = 0;} if (select == 0){ lcd.clear(); lcd.setCursor(0,0); lcd.print(" Ambient Temp "); lcd.setCursor(6,1); lcd.print(ambient); lcd.print(" F"); } if (select == 1) { lcd.clear(); lcd.setCursor(0,0); lcd.print("Set Ambient To:"); lcd.setCursor(6,1); lcd.print(setTemp); lcd.print(" F"); } if (select == 2) { lcd.clear(); lcd.setCursor(0, 0); lcd.print("C: "); lcd.print(collector); lcd.print("F"); lcd.setCursor(9, 0); lcd.print("TK:"); lcd.print(tank); lcd.print("F"); lcd.setCursor(0, 1); lcd.print("T1:"); lcd.print(transferTemp); lcd.print("F"); lcd.setCursor(9, 1); lcd.print("T2:"); lcd.print(transferTemp1); lcd.print("F"); } lcd_key = read_LCD_buttons(); // read the buttons switch (lcd_key){ case btnSELECT:{ BLbutton = !BLbutton; delay(100); break; } case btnUP: { setTemp++; select = 1; delay(100); break; } case btnDOWN: { setTemp--; select = 1; delay(100); break; } case btnRIGHT: { select++; delay(100); break; } case btnLEFT: { select--; delay(100); break; } } // Runs circulation pump from collector to tank. if(collector > (tank + diffON)) {digitalWrite(relayPin[0], HIGH);digitalWrite(relayPin[1], HIGH);} if(collector <= (tank + diffOFF)) {digitalWrite(relayPin[0], LOW);digitalWrite(relayPin[1], LOW);} //Runs circulation pump from tank to radiant heat grid. if ((ambient < setTemp) && (tank >= 100)) {digitalWrite(relayPin[2], HIGH);} if (tank <= (setTemp + 10)) {digitalWrite(relayPin[2], LOW);} if (ambient > (setTemp + 2)) {digitalWrite(relayPin[2], LOW);} delay(500); } 

Gerelateerde Artikelen

Warm water zonnecollector controller met thermostaat v1.2

Warm water zonnecollector controller met thermostaat v1.2

Wordt vervolgd... Zonnecollector controller, thermostaat met arduino pro mini processor, 1602 LCD-scherm en 3 temperatuursensoren DS18B20, enternet connector, 5 knop toetsenbord.Onderdelen: Pro Mini atmega328 5V 16 M Arduino Compatible, 1602 16 x 2 H
Warm water zonnecollector controller met thermostaat v1.0

Warm water zonnecollector controller met thermostaat v1.0

De collector is gecontroleerd heel eenvoudig – de temperatuur gemeten door de verzamelaar en het water Verwarming van de tank (ketel). Wanneer de temperatuur van het water in de zonnecollector hoger dan de ketel is, controller draait op de pomp en de
Warm water zonnecollector controller met thermostaat v1.23

Warm water zonnecollector controller met thermostaat v1.23

Er is een nieuwe versie van de controller.Arduino compatibel.Kenmerken:-Keyboard temperaturen zijn veranderd de pomp in- / uitschakelen-Handkolf in-/ uitschakelen-Het opslaan van waarden-Thermostaat met koel- of verwarming functie-OLED 0.96′ I2C-3 to
Veelgestelde vragen over hoe te installeren SunTouch vloer stralingswarmte

Veelgestelde vragen over hoe te installeren SunTouch vloer stralingswarmte

SunTouch matten vloer en mortel techniek - Klik hier voor meer video'sFAQ Hoe te installeren SunTouch Radiant vloer warmteDoor SunTouch A-divisie van Watts Water Technologies, Inc.Installeren stralende (hout, tegel, enz.) vloerverwarming is niet moei
Bluetooth PS2 Controller

Bluetooth PS2 Controller

De oorspronkelijke PlayStation 2 controller is nog steeds een stevige en goedgebouwde controller naar huidige maatstaven. Beter nog, kunnen ze had worden tegenwoordig voor een fractie van de kosten van een controller met dezelfde kwaliteit.We zijn va
MIDI-Controller met toetsenborden

MIDI-Controller met toetsenborden

We bouwen vandaag de 400 sleutel MIDI-controller met behulp van een Arduino en computer toetsenborden!Voor de budget bewuste muziekproducenten daar is dit project een geweldige manier om het bouwen van een goedkope control board voor uw digitale audi
PS3 Controller trillingen LEDs (+ knop ontstekingsfouten fix)

PS3 Controller trillingen LEDs (+ knop ontstekingsfouten fix)

Als je PS3 begint te duwen 4-5 jaar van gebruik, zijn uw domeincontrollers geneigd om te beginnen misdragen; knoppen start op mysterieuze wijze duwen zichzelf of duwen elkaar en soms hardnekkig weigeren te registreren een pers helemaal. Hier mijn bep
AC handkracht Controller

AC handkracht Controller

Ik heb 4 AC verkooppunten in een muur elektrakast gemonteerd in een behuizing van de PC die ik heb setup als de voeding van een bank. Na daadwerkelijk met behulp van deze verkooppunten vond ik dat ze niet echt uit waar en hoe ik heb ze gemonteerd voo
Bluetooth Fan Speed Controller

Bluetooth Fan Speed Controller

Ooit heb je allemaal leuk en comfortabel in uw stoel, verpakt in dekens klaar om te kijken van Netflix, alleen te realiseren u liet de ventilator op? Schakel de ventilator op een warme avond alleen te worden gewekt door bevriezing wind circuleren van
Model raket lancering Controller toegevoegd voor Power Tool Battery Charger

Model raket lancering Controller toegevoegd voor Power Tool Battery Charger

Samenvatting: Dit project maakt gebruik van een handvol van elektronische componenten en relatief eenvoudige schakeling te wijzigen van een macht gereedschap accu lader ook functioneren als een model domeincontrollers voor de lancering van de raketr.
MIDI-Controller Arcade

MIDI-Controller Arcade

Ik ben zeker dat u deze coole video's van mensen die jammen op een doos met een bos van knoppen op het hebben gezien. Nou, vandaag, zal ik je laten zien hoe u ook kunt verdienen een vak waarmee u Jam kunt maken. < Geïnspireerd door de MIDI Fighter Cl
Laten we het maken van een game controller!

Laten we het maken van een game controller!

Ik hou van vliegende spelen, maar het voelt alsof er nooit genoeg knoppen op mijn joystick.Dit instructable zal u tonen hoe te bouwen uw eigen panel schakelaar in geen tijd.Het zal werken met een spel en de computer die ondersteuning biedt voor een j
Betaalbare toetsenbord Encoder en Divekick Controller

Betaalbare toetsenbord Encoder en Divekick Controller

Iedereen die heeft gespeeld Divekick Markman van controller heeft gezien: twee uiterst duurzaam knoppen die alle verwarring voor een nieuwe speler elimineren. Ik heb Divekick gespeeld met mensen uit de leeftijden van elf tot en met vijftig, en hebben
Xbox One Controller organisator

Xbox One Controller organisator

Mijn vrouw was moe van Xbox-controllers overal en ik was moe van nooit kundig voor vondst een controller voor speeltijd. Ik ontwierp een doos met uitsparingen die de Xbox One controller naar perfect afglijden zal... en mooi.Stap 1: Controleren of 3D-