INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 3 Bewertungen - 4.67 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Der Cafissimo-Wecker
24.09.2013, 05:46
Beitrag #9
RE: Der Cafissimo-Wecker
Hallo,

die Sensorfunktion geht nich nicht, jedoch wird die Displaybeleuchtung nachts ausgeschalten und der Kaffee kommt morgens automatisch! Big GrinBig Grin

Nur habe ich die Sensorfunktion noch nicht hinbekommen!!

Code:
#define trigPin 49
#define echoPin 48
#define DHTPIN 32    
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22

#include <LiquidCrystal.h>
#include <Servo.h>
#include "DHT.h"
#include <DS1307RTC.h>
#include <Time.h>
#include <Wire.h>

DHT dht(DHTPIN, DHTTYPE);

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

Servo motor1;
Servo motor2;
Servo motor3;
Servo motor4;

int backLight = 13;

int Relay1 = 24;
int Relay2 = 22;




void setup ()
{
  
Serial.begin (9600);
while (!Serial) ; // wait for serial
delay(200);
Serial.println("DS1307RTC Read Test");
Serial.println("-------------------");
dht.begin();
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);

pinMode(backLight, OUTPUT);
digitalWrite(backLight, HIGH);

lcd.begin(20,4);            

pinMode(Relay1, OUTPUT);


}

void loop()
{

  digitalWrite(Relay1, HIGH);
  
//++++++++++++++++++++TIME++++++++++++++++++++++++++++
tmElements_t tm;

  if (RTC.read(tm)) {
    Serial.print("Ok, Time = ");
    print2digits_Serial(tm.Hour);
    Serial.write(':');
    print2digits_Serial(tm.Minute);
    Serial.write(':');
    print2digits_Serial(tm.Second);
    Serial.print(", Date (D/M/Y) = ");
    print2digits_Serial(tm.Day);
    Serial.write('/');
    print2digits_Serial(tm.Month);
    Serial.write('/');
    Serial.print(tmYearToCalendar(tm.Year));
    Serial.println();
  } else {
    if (RTC.chipPresent()) {
      Serial.println("The DS1307 is stopped.  Please run the SetTime");
      Serial.println("example to initialize the time and begin running.");
      Serial.println();
    } else {
      Serial.println("DS1307 read error!  Please check the circuitry.");
      Serial.println();
    }
    delay(9000);
  }
  delay(1000);
//++++++++++++++++++++TIME++++++++++++++++++++++++++++

  float h = dht.readHumidity();     //Luftfeuchte auslesen
  float t = dht.readTemperature();  //Temperatur auslesen
  
    Serial.print("Luftfeuchte: ");
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperatur: ");
    Serial.print(t);
    Serial.println(" C");
  
  int duration, distance;
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;

  Serial.print(distance);
  Serial.println(" cm");
  
fotosensorWert();
  
  lcd.setCursor(0,0);          
  lcd.print("Cafissimo-Wecker 1.1");    
  lcd.setCursor(0,1);          
  lcd.print("Temp:");
  lcd.setCursor(5,1);          
  lcd.print(t);
  lcd.setCursor(10,1);          
  lcd.print("C");
  lcd.setCursor(11,1);          
  lcd.print(" F:");
  lcd.setCursor(14,1);          
  lcd.print(h);
  lcd.setCursor(19,1);          
  lcd.print("%");
  lcd.setCursor(0,2);
  print2digits_lcd(tm.Hour);  
  lcd.setCursor(2,2);
  lcd.print (":");
  lcd.setCursor(3,2);
  print2digits_lcd(tm.Minute);
  lcd.setCursor(5,2);
  lcd.print ("h  / ");
  lcd.setCursor(10,2);
  print2digits_lcd(tm.Day);
  lcd.setCursor(12,2);
  lcd.print (".");
  lcd.setCursor(13,2);
  print2digits_lcd(tm.Month);
  lcd.setCursor(15,2);
  lcd.print (".");
  lcd.setCursor(16,2);
  lcd.print (tmYearToCalendar(tm.Year));
  lcd.setCursor(0,3);
  lcd.print ("                    ");
  lcd.setCursor(0,3);
  lcd.print (distance);
  lcd.setCursor (2,3);
  lcd.print ("cm");

if (distance > 1 && distance < 8){
    
      lcd.setCursor(6,3);
      lcd.print ("            ");
      lcd.setCursor(7,3);
      lcd.print ("BEREIT");  
      }
  
      else
      {
    
      lcd.setCursor(0,3);
      lcd.print ("                    ");
      lcd.setCursor(0,3);
      lcd.print ("TASSE UNTERSTELLEN!!");
      { goto ending;}
      }
      
//*******************Wecker stellen*******************************
if (tm.Hour == 6 && tm.Minute == 15){
//*******************Wecker stellen*******************************  
        lcd.setCursor(0,3);
        lcd.print ("                    ");
        lcd.setCursor(0,3);
        lcd.print ("guten Morgen :) ");
        
        ledblink1();
      
        kaffeemachen();
        musik_radio();
        }

else{
  
{goto ending;}
  
}

ending: ;

if (tm.Hour >= 22 || tm.Hour < 6){
    digitalWrite(backLight, LOW);
}
else{
    digitalWrite(backLight, HIGH);
}

}

//*************************void Funktionen*************************

void kaffeemachen(){
   motor1.attach(8);
   motor2.attach(9);

ein_ausschalten();

      lcd.setCursor(0,3);
      lcd.print ("                    ");
      lcd.setCursor(6,3);
      lcd.print ("Aufheizen");
      
     delay (95000) ;
    
bruehvorgang();
    
      lcd.setCursor(6,3);
      lcd.print ("         ");
      lcd.setCursor(6,3);  
      lcd.print ("Bruehvorgang");

     delay (48000) ;
    
      lcd.setCursor(6,3);
      lcd.print ("            ");
      lcd.setCursor(6,3);
      lcd.print ("bitteschoen :)");
      
      ledblink1();
          
ein_ausschalten();

      delay(1000);
    
     motor1.detach();
     motor2.detach();
}

void fotosensorWert(){
  int fotosensorWert = 0;
  fotosensorWert = analogRead(A0);
  Serial.println(fotosensorWert);
  delay (1000);
}
void print2digits_Serial(int number) {
  if (number >= 0 && number < 10) {
    Serial.write('0');
  }
  
  Serial.print(number);
}

void print2digits_lcd(int number) {
  if (number >= 0 && number < 10) {
    lcd.print('0');
  }
  
  lcd.print(number);
}

void ein_ausschalten(){
     motor1.write(90);
     delay(500);
     motor1.write(165);
     delay(500);
     motor1.write(90);
     //81°
      
}
void bruehvorgang(){
     motor2.write(90);
     delay(500);
     motor2.write(140);
     delay(500);
     motor2.write(90);
     //67°
    
}
void ledblink1(){

for (int i=0; i<5 ; i++){
          digitalWrite(Relay1, LOW);
          delay(500);
          digitalWrite(Relay1, HIGH);          
          delay(500);
}
}
void musik_radio(){
     motor3.attach(6);
     motor4.attach(7);

     motor3.write(90);
     delay(250);
     motor3.write(70);
     delay(250);
     motor3.write(90);
     //20°
    
       delay(600000);
      
     motor4.write(90);
     delay(250);
     motor4.write(60);
     delay(250);
     motor4.write(90);
     delay(1000);
     //30°

     motor3.detach();
     motor4.detach();
}

   

   

Grüße,

Nico
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2013, 15:49
Beitrag #10
Thumbs Up RE: Der Cafissimo-Wecker
Geil deine Kaffemaschine sieht aus wie Optimus Prime :rofl:

Sehr cooles Projekt..GEFÄLLT MIR, je mehr Kabel zu sehen sind desto interessanter wird das ganze Big Grin

Freut mich das dein Projekt geklappt hat wie du es wolltest....

5 von 5 Sternen...

Greez Wampo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.09.2013, 17:30
Beitrag #11
RE: Der Cafissimo-Wecker
Nun hat es endlich geklappt:






Liebe Grüße,

Nico
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino UNO Wecker Arduinonoob 7 4.092 08.01.2015 23:37
Letzter Beitrag: MaHa1976
  Wecker-Projekt mit UNO - Adressierung RTC (Tiny RTC Modul) Aurillium 0 3.921 09.11.2013 12:08
Letzter Beitrag: Aurillium

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste