Documente Academic
Documente Profesional
Documente Cultură
Seria B, Grupa 7
Obiectivul proiectului
Scopul principal al proiectului este de a ajuta la evitarea posibilelor accidente care pot
avea loc in traficul aerian sau maritim, respectiv, la evitarea posibilelor obiecte ce pot pune in
pericol viata persoanelor.
Ipoteza proiectului
Am venit cu aceasta idee de proiect din dorinta de preventive, deoarece multe accidente
catastrofale ar putea fi evitate daca lumea ar dispune de radare specializate. De multe ori in spatiul
suprateran sau acvatic exista multe obstacole despre a caror existenta nu se stie si care pot reprezenta un
pericol pentru oameni. Cu ajutorul unui radar sau sonar s-ar putea afla despre acestea din timp iar
pericolul nu ar mai fi iminent.
Descrierea proiectului
Dispozitivul construit arata in timp real obiectele pe care le descopera in raza sa de actiune si ii
trimite utilizatorului informatii semnificative cu privie la acestea: distanta si unghiul la care se afla.
Acesta este de asemenea conectat la laptop astfel incat sa poata oferi si o reprezentare vizuala a localizarii
obiectelor.
Dispozitivul mai are urmatoarele functionalitati: in prezenta unui obiect, buzzer-ul declanseaza un
semnal sonor utilizatorului: doua LED-uri, unul verde respectiv unul rosu care functioneaza astfel: cel
verde sta aprins daca in raza de actiune a radarului nu se iveste niciun obiect, iar cel rosu se apinde atata
timp cat un obiect este detectat.
Componentele proiectului
Pentru acest proiect am folosit urmatoarele componente: placa Arduino UNO, senzor
ultrasonic hc-sr04, modul buzzer pasiv, doua LED-uri si un motor servo sg90.
Arduino UNO
Arduino Uno R3 este o placă de dezvoltare
bazată pe microcontrollerul ATmega328. Are 14
pini de intrare/ieșire (dintre care 6 pot fi folosiți
ca ieșiri PWM), 6 intrări analog, un oscilator de
16MHz, o conexiune USB, mufă de alimentare,
și un buton de reset.
Poate fi alimentat direct de la calculator, de la
portul USB, prin intermediul unei baterii de 9V
sau a unui alimentator de 9V.
1
Student: Cozma Casiana Teodora
Seria B, Grupa 7
LED-uri
Aceste leduri mici de 5mm, dar puternice, se pot folosi împreună cu un
microcontroler pentru a genera semnale vizuale în urma executării unei
secvențe de cod sau în urma unui eveniment (detectarea unui obstacol
de către un senzor, etc).
Servo sg90
Un servomotor permite controlul precis al poziției,
vitezei, sau accelerației. Cu alte cuvinte, permite, de
exemplu, setarea cu precizie a unghiului.
Mic și ușor, cu o putere mare de ieșire. Servo se poate
roti aproximativ 180 de grade (90 în fiecare direcție), și
funcționează la fel ca tipurile standard, dar este mai mic.
Se poate folosi orice metodă pentru control servomotor,
hardware sau bibleotecă software.
2
Student: Cozma Casiana Teodora
Seria B, Grupa 7
Alimentarea
Alimentearea se face de la laptop.
Partea software
Codul este scris in Arduino IDE intr-un limbaj asemanator cu C++.
#include <Servo.h>
#include <LiquidCrystal.h>
Servo myServo; // Creates a servo object for controlling the servo motor
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
Servo servoAtac;
Servo servoRotatie;
// starting loaction
const int startAngle = 90;
// rotation limits
const int minimumAngle = 6;
const int maximumAngle = 175;
3
Student: Cozma Casiana Teodora
Seria B, Grupa 7
// speed
const int degreesPerCycle = 1;
void setup() {
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
pinMode(buzzer, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
Serial.begin(9600);
myServo.attach(11); // Defines on which pin is the servo motor attached
servoAtac.attach(16);
servoRotatie.attach(17);
}
void loop(void)
{
static int currentAngle = startAngle;
static int servoRotateAmount = degreesPerCycle;
// move motor
myServo.write(currentAngle);
delay(10);
// calculate the distance from the sensor, and write the valu with locqtion
to serial
distance=calculateDistance();
SerialOutput(currentAngle, distance);
//distance = calculateDistance();
4
Student: Cozma Casiana Teodora
Seria B, Grupa 7
digitalWrite(buzzer, LOW);
}
} else {
digitalWrite(buzzer, LOW);
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
}
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Sets the trigPin on HIGH state for 10 micro seconds
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); // Reads the echoPin, returns the sound
wave travel time in microseconds
distance = duration * 0.034 / 2;
return distance;
}
5
Student: Cozma Casiana Teodora
Seria B, Grupa 7
Partea mecanica
Imbunatatiri
Ce ar mai putea fi imbunatati la acest proiect ar fi raza sa de actionare, deoarece acesta are capacitatea de
a detecta obiecte pe o raza relative scurta. Alta imbunatatire ar puta fi un parametru care sa interpreteze
viteza cu care obiectul se apropie de noi sau noi de el.
Concluzie
6
Student: Cozma Casiana Teodora
Seria B, Grupa 7
In concluzie, dispozitivul creat ar avea utilitate si in viata reala si ar aduce o imbunatatire semnificativa
modului in care ne protejam de evenimente neprevazute.