This is an old revision of the document!


Soap Dispenser

Introducere

Prezentarea pe scurt a proiectului vostru:

  • Dispenser de sapun automat cu senzor de proximitate si senzor de lichid
  • Elimina ideea de a apasa manual pe stica pentru a elibera sapun lichid
  • Poate elimina posibilitatea de a lua bacterii de pe o sticla non-igienica de sapun
  • Elimina riscul de a lua bacterii si anunta cand nu mai este sapun in sticla print-un LED

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Hardware Design

  • Arduino Mega - 1
  • Servomotor SG90 - 2
  • Senzor ultrasonic de proximitate HC-SR04 - 1
  • Senzor nivel apa - 1
  • L.E.D. - 1
  • 330 Ohm Resistor - 1
  • scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png)
  • diagrame de semnal
  • rezultatele simulării

Software Design

  • Arduino IDE

#include <Servo.h> Servo servo; int trigPin = 5; int echoPin = 6; int servoPin = 9; int led= 10; long duration, dist, average; long aver[3]; array for average int lowerThreshold = 420; int upperThreshold = 520; Sensor pins #define sensorPower 7 #define sensorPin A0

Value for storing water level int val = 0; Declare pins to which LEDs are connected int redLED = 2;

int readSensor() {

digitalWrite(sensorPower, HIGH);
delay(10);
val = analogRead(sensorPin);
digitalWrite(sensorPower, LOW);
return val;

}

void setup() {

Serial.begin(9600);
servo.attach(servoPin);  
pinMode(trigPin, OUTPUT);  
pinMode(echoPin, INPUT);  
servo.write(0);       //close cap on power on
delay(100);
Serial.begin(9600);
pinMode(sensorPower, OUTPUT);
digitalWrite(sensorPower, LOW);

// Set LED pins as an OUTPUT
pinMode(redLED, OUTPUT);
// Initially turn off all LEDs
digitalWrite(redLED, LOW);

}

void measure() { digitalWrite(10,HIGH); digitalWrite(trigPin, LOW); delayMicroseconds(5); digitalWrite(trigPin, HIGH); delayMicroseconds(15); digitalWrite(trigPin, LOW); pinMode(echoPin, INPUT); duration = pulseIn(echoPin, HIGH); dist = (duration/2) / 29.1; obtain distance } void loop() { for (int i=0;i⇐2;i++) { average distance

measure();            
 aver[i]=dist;          
delay(10);            //delay between measurements
}

dist=(aver[0]+aver[1]+aver[2])/3;

if ( dist<15 ) { Change distance as per your need delay(1); servo.write(0); delay(3000); servo.write(150); delay(1000); int level = readSensor(); if (level ⇐ 50) { Serial.println(“Water Level: Low”); digitalWrite(redLED, HIGH); } else if (level > 50) { Serial.println(“Water Level: High”); digitalWrite(redLED, LOW); } delay(1000); } } </note> ===== Rezultate Obţinute ===== <note tip> Care au fost rezultatele obţinute în urma realizării proiectului vostru. </note> ===== Concluzii ===== ===== Download ===== <note warning> O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). 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. </note> ===== Jurnal ===== <note tip> Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. </note> ===== Bibliografie/Resurse ===== <note> Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware. </note> <html><a class=“media mediafile mf_pdf” href=”?do=export_pdf”>Export to PDF</a></html>

pm/prj2022/apredescu/soapdispenser.1654119317.txt.gz · Last modified: 2022/06/02 00:35 by petru.musat
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0