Show Posts
|
|
Pages: [1] 2
|
|
2
|
Forum 2005-2010 (read only) / Italiano / Re: Brew System -impianto Birra
|
on: September 03, 2010, 01:54:28 am
|
|
Si grazie, già l'ho scaricato solo che non mi funzionano le parti di visualizzazione sul mio display,deve aver usato un tipo di display seriale diverso dal mio,poi dovrei modificarlo perchè io non uso pompe per spostare il liquido da un pentolone all'altro.Comunque è un ottimo progetto dal quale volevo prendere spunto
|
|
|
|
|
6
|
Forum 2005-2010 (read only) / Italiano / Re: Brew System -impianto Birra
|
on: September 01, 2010, 01:48:09 am
|
Ho fatto questo ma mi dà errore quando provo a verificarlo sul punto pinmode(motor_mashtun, OUTPUT); #include <LiquidCrystal.h> #include <OneWire.h>
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
int motor_mashtun = 31; //relè motore mashtun int mashtun_birra = 29; // relè mashtun birra int boil_birra = 30; //relè mashtun bollitore birra int sonda_birra = 8; // pin a cui e' collegata la sonda serbatoio birra int alza_birra = 32; // pin per il bottone aumento setpoint birra int abbassa_birra = 33; // pin per il bottone diminuzione setpoint birra int setpoint_birra;// inizializza il setpoint della birra long temp_birra; // inizializza una variabile contenente la temperatura della birra
int i;
void setup() { // ingressi come imput o output pinmode(motor_mashtun, OUTPUT); pinmode(mashtun_birra, OUTPUT); pinmode(boil_birra, OUTPUT); pinMode(sonda_birra, INPUT); lcd.begin(4,20); lcd.clear(); }
void loop() { OneWire ds(temp_birra); // ds18b20 pin #2 (middle pin) to Arduino pin 8
byte i; byte present = 0; byte data[12]; byte addr[8]; int HighByte, LowByte, SignBit, Whole, Fract, TReading, Tc_100, FWhole;
void setup(void) { lcd.begin(4,20); // rows, columns. use 2,16 for a 2x16 LCD, etc. lcd.clear(); // start with a blank screen lcd.setCursor(0,0); // set cursor to column 0, row 0 if ( !ds.search(addr)) { lcd.clear(); lcd.print("No more addrs"); delay(1000); ds.reset_search(); return; }
if ( OneWire::crc8( addr, 7) != addr[7]) { lcd.clear(); lcd.print("CRC not valid!"); delay(1000); return; } }
void getTemp() { int foo, bar; ds.reset(); ds.select(addr); ds.write(0x44,1); present = ds.reset(); ds.select(addr); ds.write(0xBE);
for ( i = 0; i < 9; i++) { data[i] = ds.read(); } LowByte = data[0]; HighByte = data[1]; TReading = (HighByte << 8) + LowByte; SignBit = TReading & 0x8000; // test most sig bit if (SignBit) { TReading = -TReading; } Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25 Whole = Tc_100 / 100; // separate off the whole and fractional portions Fract = Tc_100 % 100; if (Fract > 49) { if (SignBit) { --Whole; } else { ++Whole; } }
if (SignBit) { bar = -1; } else { bar = 1; } }
void printTemp(void) { lcd.clear(); lcd.setCursor(0,2); lcd.print("MASH-TEMP : "); lcd.setCursor(0,3); if (SignBit) { lcd.print("-"); } lcd.print(Whole); lcd.print(" C "); }
void loop(void) { getTemp(); printTemp(); delay(1000); }
if (temp_birra < setpoint_birra){ // controlla se la birra è in temperatura digitalWrite(motor_mashtun, HIGH); // accendi il motore mash tun delay(50); // attende digitalWrite(mashtun_birra, HIGH); // accendi caldaia mash tun delay(50); // attende } } if (temp_birra == setpoint_birra){ // se birra è in temperatura digitalWrite(mashtun_birra, LOW); // spengi gas mash tun } } if (digitalRead (alza_birra) == LOW){ // se ha rilevato pressione del bottone + birra incrementa setpoint_birra=setpoint_birra+1; } if (digitalRead (abbassa_birra) == LOW){ // se ha rilevato pressione del bottone - birra decrementa setpoint_birra=setpoint_birra-1; } } lcd.clear(); lcd.setCursor(0, 0); lcd.print("Birra"); lcd.setCursor(9, 0); lcd.print("Set"); lcd.setCursor(9, 1); lcd.print("Set"); lcd.setCursor(6, 0); lcd.print(temp_birra); lcd.setCursor(13, 1); lcd.print(setpoint_birra); delay(100); }
|
|
|
|
|
7
|
Forum 2005-2010 (read only) / Italiano / Brew System -impianto Birra
|
on: August 31, 2010, 07:26:28 am
|
|
Ciao a tutti,sono un novello riguardo arduino e stò cercando di automatizzare il mio impianto della birra.Ho difficoltà nella programmazione dell'arduino mega che ho in quanto sono più elettronico che informatico. ho una sonda DS18B20 per la pentola di MASH Gestirò il tutto con tre relè SSR che già ho. quindi con un relè Gestirò l'accensione del motore per mescolare l'orzo nella pentola di mash,con un altro accenderò e spengerò l'elettrovalvola del fornello della pentola di mash,e con il terzo accenderò e spengerò il fornello della pentola di bollitura. C'è qualcuno che può aiutarmi a fare una bozza di Sketch....Considerate che ho visto sul forum e c'è poco e niente al riguardo..... In pratica avrò la possibilità di programmare 4/5 step di temperatura e per un determinato tempo, raggiunta la temperatura devo mantenerla per un tot di tempo.....Tutto ciò gestibile con dei pulsanti set point. Come display ho sia il seriale che il parallelo ed ho arduino mega e 2009,pulsanti ne ho una decina.
|
|
|
|
|
10
|
Forum 2005-2010 (read only) / Italiano / Re: Arduino Mega +Display seriale/I2C 20x4 Devantech
|
on: September 02, 2010, 09:31:32 am
|
void mainmenu() { Serial.print(12); delay(50); Serial.print(3);Serial.print(1);Serial.print=(1);Serial.print(" Manuale"); delay(50); Serial.print(3);Serial.print(1);Serial.print=(12);Serial.print(" Automatico"); delay(50); Serial.print(3);Serial.print(1);Serial.print=(23);Serial.print(" Mode"); delay(50); Serial.print(3);Serial.print(1);Serial.print=(34);Serial.print(" Setup"); delay(50); }
|
|
|
|
|
15
|
Forum 2005-2010 (read only) / Italiano / Arduino Mega +Display seriale/I2C 20x4 Devantech
|
on: September 01, 2010, 04:48:43 am
|
Ciao a tutti,ho un problema con il mio display seriale in quanto lancio lo sketch e lui mi dà la scrittache voglio ma non posizionata nel modo giusto, cioè: se per esempio il serial.print è così: void mainmenu() { Serial.print("?f"); delay(50); Serial.print("?x01?y01 Paolo Carlo"); delay(50); Serial.print("?x01?y12 Mamma Papà"); delay(50); Serial.print("?x01?y23 Luca Paolo"); delay(50); Serial.print("?x01?y34 Setup Menu"); delay(50);
Lui sul display mi indica così: ?x01?y23 Luca Paolo?x01?y34 Setup Menu ,come se non capisce le coordinate,giusto?
|
|
|
|
|