This is an old revision of the document!
Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html
#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>