This shows you the differences between two versions of the page.
pm:prj2022:apredescu:soapdispenser [2022/06/02 00:40] petru.musat [Software Design] |
pm:prj2022:apredescu:soapdispenser [2022/06/02 12:10] (current) petru.musat [Concluzii] |
||
---|---|---|---|
Line 9: | Line 9: | ||
* Elimina riscul de a lua bacterii si anunta cand nu mai este sapun in sticla print-un LED | * Elimina riscul de a lua bacterii si anunta cand nu mai este sapun in sticla print-un LED | ||
</note> | </note> | ||
- | ===== Descriere generală ===== | + | |
+ | |||
+ | ===== Descriere Generala ===== | ||
<note tip> | <note tip> | ||
- | 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ă. | + | Schema bloc: |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | {{:pm:prj2022:apredescu:proiect_ma.png?600|}} |
</note> | </note> | ||
Line 26: | Line 29: | ||
* L.E.D. - 1 | * L.E.D. - 1 | ||
* 330 Ohm Resistor - 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 | + | |
</note> | </note> | ||
Line 39: | Line 40: | ||
* Additional Library: Servo.h | * Additional Library: Servo.h | ||
+ | <code cvp> | ||
#include <Servo.h> | #include <Servo.h> | ||
Servo servo1; | Servo servo1; | ||
Line 53: | Line 54: | ||
int upperThreshold = 520; | int upperThreshold = 520; | ||
+ | // Sensor pins | ||
#define sensorPower 7 | #define sensorPower 7 | ||
#define sensorPin A0 | #define sensorPin A0 | ||
+ | // Value for storing water level | ||
int val = 0; | int val = 0; | ||
int redLED = 2; | int redLED = 2; | ||
- | |||
int readSensor() { | int readSensor() { | ||
Line 68: | Line 70: | ||
return val; | return val; | ||
} | } | ||
- | |||
void setup() { | void setup() { | ||
Line 76: | Line 77: | ||
pinMode(trigPin, OUTPUT); | pinMode(trigPin, OUTPUT); | ||
pinMode(echoPin, INPUT); | pinMode(echoPin, INPUT); | ||
- | servo1.write(0); | + | servo1.write(0); //close cap on power on |
servo2.write(0); | servo2.write(0); | ||
delay(100); | delay(100); | ||
Line 84: | Line 85: | ||
digitalWrite(sensorPower, LOW); | digitalWrite(sensorPower, LOW); | ||
| | ||
+ | // Set LED pin as an OUTPUT | ||
pinMode(redLED, OUTPUT); | pinMode(redLED, OUTPUT); | ||
+ | // Initially turn off the LED | ||
digitalWrite(redLED, LOW); | digitalWrite(redLED, LOW); | ||
} | } | ||
Line 98: | Line 101: | ||
pinMode(echoPin, INPUT); | pinMode(echoPin, INPUT); | ||
duration = pulseIn(echoPin, HIGH); | duration = pulseIn(echoPin, HIGH); | ||
- | dist = (duration/2) / 29.1; | + | dist = (duration/2) / 29.1; //obtain distance |
} | } | ||
void loop() { | void loop() { | ||
- | for (int i=0;i<=2;i++) { | + | for (int i=0;i<=2;i++) { //average distance |
measure(); | measure(); | ||
aver[i]=dist; | aver[i]=dist; | ||
- | delay(10); | + | delay(10); //delay between measurements |
} | } | ||
dist=(aver[0]+aver[1]+aver[2])/3; | dist=(aver[0]+aver[1]+aver[2])/3; | ||
Line 136: | Line 139: | ||
} | } | ||
- | + | </code> | |
</note> | </note> | ||
Line 143: | Line 145: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | {{:pm:prj2022:apredescu:soap_dispenser_1.jpg?600|}} |
+ | {{:pm:prj2022:apredescu:soap_dispenser_2.jpg?600|}} | ||
+ | {{:pm:prj2022:apredescu:soap_dispenser_3.jpg?600|}} | ||
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | 2 servo motoare SG90 nu sunt destul pentru a apasa pompa unei sticle de sapun lichid | ||
===== Download ===== | ===== Download ===== | ||