Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:cstan:10 [2022/04/22 18:57]
vlad.anghelescu
pm:prj2022:cstan:10 [2022/05/27 23:07] (current)
vlad.anghelescu [Jurnal]
Line 8: Line 8:
  
 <note tip> <note tip>
-O schemă bloc cu toate modulele proiectului vostruatât software cât şi hardware însoţită ​de o descriere a acestora precum şi a modului în care interacţionează+Proiectul este reprezentat de un sistem automat de parcare.La fiecare intrare sau iesire a unei masini din parcare, sistemul afiseaza ​cu ajutorul unui LCD i2C cate locuri sunt libere in parcarerespectiv daca parcarea este plina.Programul stie de la bun inceput cate locuri de parcare exista in total, iar la iesirea unei masini adauga un loc liber, iar la intrarea unei masini scade un loc de parcare.In momentul in care parcarea este plina si nu mai exista locuri libere, LCD-ul afiseaza mesajul "​Parking Full" si nu mai ridica bariera pentru a oferi acces in parcare
- +Modul de functionare: 
-Exemplu ​de schemă blochttp://www.robs-projects.com/​mp3proj/​newplayer.html+In momentul intrarii sau iesirii din parcare, masina trece prin 2 senzori, bariera fiind ridicata automat la trecerea prin primul senzorIn functie de senzorul prin care trece prima data masina, programul isi da seama daca masina intra sau iese din parcare si aduna sau scade un loc pentru a tine cont de cate locurile sunt libere.
 </​note>​ </​note>​
  
-===== Hardware Design =====+===== Hardware Design ​and Components List =====
  
 <note tip> <note tip>
-Aici puneţi tot ce ţine de hardware design+Lista de componente
-  * listă de piese + 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) +-Arduino UNO 
-  * diagrame de semnal ​ +-2x IR Proximity Sensor 
-  * rezultatele simulării+-16x2 LCD I2C 
 +-Servo 
 +-Jumpers 
 </​note>​ </​note>​
  
Line 27: Line 30:
  
 <note tip> <note tip>
-Descrierea codului aplicaţiei ​(firmware): +Codul folosit pentru realizarea proiectului:​ 
-  ​* mediu de dezvoltare ​(if any) (e.gAVR StudioCodeVisionAVR+ 
-  ​* librării şi surse 3rd-party (e.gProcyon AVRlib+ 
-  ​* algoritmi şi structuri pe care plănuiţi să le implementaţi +// Arduino Car Parking System 
-  ​(etapa 3surse şi funcţii implementate+#include <​Wire.h>​  
 +#​include<​LiquidCrystal_I2C.h>​ 
 +LiquidCrystal_I2C lcd(0x27,16,2);   
 +#include <​Servo.h>​  
 + 
 +Servo myservo1; 
 + 
 +int IR1 = 2; 
 +int IR2 = 4; 
 + 
 +int Slot = 4;           
 + 
 +int flag1 = 0; 
 +int flag2 = 0; 
 + 
 +void setup() { 
 +  ​lcd.init()
 +  lcd.begin(16,2); 
 +  lcd.backlight();​ 
 +pinMode(IR1,​ INPUT); 
 +pinMode(IR2,​ INPUT); 
 + 
 +lcd.setCursor (0,0)
 +lcd.print(" ​    ​ARDUINO ​   "); 
 +lcd.setCursor (0,1); 
 +lcd.print("​ PARKING SYSTEM "); 
 +delay (2000); 
 +lcd.clear();​ 
 +  ​ 
 +myservo1.attach(3);​ 
 +myservo1.write(100);​ 
 + 
 +   
 +
 + 
 +void loop(){  
 + 
 +if(digitalRead (IR1) == LOW && flag1==0){ 
 +if(Slot>​0){flag1=1;​ 
 +if(flag2==0){myservo1.write(0);​ Slot = Slot-1;} 
 +}else{ 
 +lcd.setCursor ​(0,0); 
 +lcd.print(" ​   SORRY :(    "​); ​  
 +lcd.setCursor (0,1); 
 +lcd.print(" ​ Parking Full  "​); ​ 
 +delay (3000); 
 +lcd.clear();​  
 +
 +
 + 
 +if(digitalRead (IR2) == LOW && flag2==0){flag2=1;​ 
 +if(flag1==0){myservo1.write(0);​ Slot = Slot+1;} 
 +
 + 
 +if(flag1==1 && flag2==1){ 
 +delay (1000); 
 +myservo1.write(100);​ 
 +flag1=0, flag2=0; 
 +
 + 
 +lcd.setCursor (0,0); 
 +lcd.print(" ​   WELCOME! ​   "); 
 +lcd.setCursor (0,1); 
 +lcd.print("​Slot Left: "); 
 +lcd.print(Slot);​ 
 +
 + 
 + 
 + 
 +// Arduino 16x2 LCD I2C Scanner 
 +#include <​Wire.h>​ 
 +void setup() 
 +
 +Wire.begin();​ 
 +Serial.begin(9600);​ 
 +Serial.println("​\nI2C Scanner"​);​ 
 +
 +void loop() 
 +
 +byte error, address; 
 +int Devices; 
 +Serial.println("​Scanning..."​);​ 
 +Devices = 0; 
 +for(address = 1; address < 127; address++ ) 
 +
 + 
 +Wire.beginTransmission(address);​ 
 +error = Wire.endTransmission();​ 
 +if (error == 0) 
 +
 +Serial.print("​I2C device found at address 0x"​);​ 
 +if (address<​16) 
 +Serial.print("​0"​);​ 
 +Serial.print(address,​HEX);​ 
 +Serial.println(" ​ !"); 
 +Devices++;​ 
 +
 +else if (error==4) 
 +
 +Serial.print("​Unknown error at address 0x"​);​ 
 +if (address<​16) 
 +Serial.print("​0"​);​ 
 +Serial.println(address,​HEX);​ 
 +
 +
 +if (Devices == 0) 
 +Serial.println("​No I2C devices found\n"​);​ 
 +else 
 +Serial.println("​done\n"​);​ 
 +delay(5000); ​          
 +
 + 
 +Librariile folosite: 
 + 
 +-Wire.h 
 +-LiquidCrystal_I2C.h 
 +-Servo.h
 </​note>​ </​note>​
  
Line 37: Line 156:
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+Proiectul functioneaza perfect si face exact ce scrie in descrierea generala.
 </​note>​ </​note>​
  
Line 45: Line 164:
  
 <note warning> <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>​ </​note>​
  
Line 53: Line 170:
  
 <note tip> <note tip>
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul ​proiectului.+Pasi pentru obtinerea ​proiectului. 
 +1.Prima data a fost realizat si pus la punct codul. 
 +2. Realizarea machetei ​
 </​note>​ </​note>​
  
pm/prj2022/cstan/10.1650643052.txt.gz · Last modified: 2022/04/22 18:57 by vlad.anghelescu
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