Proiectul constă într-o cafetieră automată controlată wireless, cu ajutorul unui modul Bluetooth conectat la un Arduino Uno. Utilizatorul poate porni procesul de preparare a cafelei direct de pe telefon, trimițând comenzi către Arduino prin aplicația Bluetooth. La primirea comenzii, senzorul ultrasonic verifica daca este apa in rezervor dupa aceea,un servo motor acționează mecanic butonul de pornire al cafetierei. Astfel, întregul proces poate fi declanșat de la distanță, fără i ntervenție manuală directă.
#include <SoftwareSerial.h> #include <Servo.h> #include <LiquidCrystal.h> // Bluetooth SoftwareSerial mySerial(7, 6); // LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Servo Servo servoMotor; const int servoPin = 10; // Senzor ultrasonic const int trigPin = 9; const int echoPin = 8; // Configurări const int posInitial = 0; const int posApasare = 150; const int pragNivelApa = 10; // cm const int delayApasare = 500; void setup() { mySerial.begin(9600); Serial.begin(9600); lcd.begin(16, 2); lcd.print("Sistem pornit"); servoMotor.attach(servoPin); servoMotor.write(posInitial); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } long masoaraNivelApa() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); long durata = pulseIn(echoPin, HIGH); long distanta = durata * 0.034 / 2; return distanta; } void loop() { if (mySerial.available()) { char comanda = mySerial.read(); Serial.print("Comanda primita: "); Serial.println(comanda); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Comanda: "); lcd.print(comanda); if (comanda == '1') { long nivelApa = masoaraNivelApa(); lcd.setCursor(0, 1); lcd.print("Apa: "); lcd.print(nivelApa); lcd.print("cm"); if (nivelApa > pragNivelApa) { Serial.println("Apasare..."); lcd.setCursor(0, 1); lcd.print("Cafea pornita "); servoMotor.write(posApasare); delay(delayApasare); servoMotor.write(posInitial); } else { Serial.println("Apa insuficienta"); lcd.setCursor(0, 1); lcd.print("Apa insuficienta"); } } } }
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.