Ușă glisantă cu senzor de proximitate

Student: Necula Andreea
Grupa: 336CB

Introducere

:-P Proiectul reprezinta o ușă glisantă acționată de un motor cu reductor folosind un senzor de proximitate PIR. Acest proiect are ca scop simularea unei uși glisante ce se deschide automat când senzorul detectează mișcare.

:-P Ușa glisantă automată reprezintă o modalitate care facilitează deschiderea unei uși deoarece nu necesită acționare din partea unui om cum ar fi un buton sau glisarea manuală. De asemenea, deoarece este glisantă, ușa nu va ocupa loc atunci când este deschisă deoarece aceasta rămâne paralelă cu peretele, spre deosebire de ușa cu balamale care are nevoie de spațiu pentru balans.

:-P Ușile glisante sunt o soluție ideală pentru spațiile înguste precum holuri, bucătării sau debarale. Cele automate sunt soluția cel mai frecvent întâlnită în automatizarea unei soluții de acces, fiind cea mai apreciată și mai confortabilă variantă de acces într-o clădire. Ele sunt cel mai des întâlnite la intrările în magazine sau anumite instituții.

Descriere generală

:-P Proiectul aparține domeniului de Smart Home. Smart Home (casă inteligentă) înseamnă automatizarea locuinței. Un sistem de automatizare a locuinței monitorizează sau controlează atributele casei, cum ar fi iluminatul, temperatura, sistemele de divertisment și electrocasnice. Poate include și sistemul de securitate a casei, spre exemplu sistemele de control de acces și de alarmă. Dispozitivele pot fi, de asemenea, conectate și la Internet.

:-P Un sistem de automatizare a locuinței conectează de obicei dispozitivele controlate la un hub central (numit uneori „gateway”). Interfața de utilizator pentru controlul sistemului utilizează fie terminale montate pe perete, computere, tablete, o aplicație pentru telefonul mobil, fie o interfață Web care poate fi, de asemenea, accesată din afara casei prin Internet.

:-P Automatizarea locuinței are un potențial ridicat de partajare a datelor între membrii familiei sau persoane de încredere pentru securitatea personală și ar putea duce la măsuri de economisire a energiei cu un impact pozitiv asupra mediului în viitor.

Schema bloc:
automatic-sliding-door-opening-and-closing-system.jpg

Componente folosite

Lista de piese:

  • Placă de dezvoltare compatibilă cu Arduino UNO (ATmega328p) ➢ Aceasta conține codul și trimite semnale către toate celelalte componente. Este alimentat la o tensiune de 9V.
  • Breadboard ➢ Prin breadboard alimentăm senzorul PIR, driver-ul de motoare și senzorul fotoelectric și se realizează conexiunile între componente.
  • Micro motor cu reductor (240 rpm, cuplu = 0.2 kg*cm) ➢ Elementul de acționare. El acționează ușa în direcția corespunzătoare. Este alimentat cu ajutorul driver-ului.
  • Driver de motoare ➢ Alimentează motorul, previne suprasolicitarea plăcii Arduino și controlează direcția motorului. Se alimentează la 9V (la borna denumită 12V) și are o cădere de tensiune de ~2V, deci îi va furniza motorului aproximativ 7V. Borna denumită 5V furnizează o tensiune de 5V.
  • Senzor PIR ➢ Realizează achiziția de date. Este alimentat la 9V.
  • Senzor fotoelectric ➢ Detectează când ușa este închisă complet deschisă. Este alimentat la 5V.
  • Un led verde și un led roșu ➢ Indică dacă ușa este în curs de deschidere, respectiv închidere.
  • Alimentator de 9V (pentru Arduino) ➢ alimentează placa Arduino si breadboard-ul.
  • Rezistențe ➢ limitează curentul prin diode
  • Fire breadboard
  • Cablu USB pentru alimentarea plăcii Arduino
  • Cremalieră pentru ușă
  • Rotiță pentru motor
  • Carton pentru construcția suportului și a ușii

Schema electrica

tinkercad.jpg

Hardware Design


Usa se deschide

Usa se inchide

Software Design

:-P În momentul în care senzorul de proximitate detectează mișcare, acesta transimte semnalul plăcuței Arduino, care, prin intermediul driver-ului, pornește motorul pentru a deschide ușa. În același timp, led-ul verde se aprinde, iar ușa se deschide până în momentul în care senzorul fotoelectric detectează prezența unui limitator lipit de ușă. Acest lucru reprezintă deschiderea completă a ușii.

:-P Usa rămâne deschisă cel puțin 3 secunde sau cât timp senzorul de proximitate detectează mișcare. În momentul în care senzorul nu mai detectează mișcare, ușa începe să se închidă, led-ul verde se va stinge, iar led-ul roșu se va aprinde.

:-P Dacă senzorul PIR detectează mișcare în timp ce ușa este în curs de închidere, atunci plăcuța Arduino va trimite semnal către driver să schimbe sensul de rotație al rotorului motorului. În același timp, led-ul roșu se va stinge, iar led-ul verde se va aprinde. În schimb, dacă senzorul PIR nu mai detectează mișcare ușa se va închide complet, iar led-ul roșu se va stinge.

    //Cat timp senzor-ul fotoelectric nu detecteaza cremaliera,
    //Motorul deschide usa 
    while(digitalRead(pin) == LOW) { 
      digitalWrite(IN1, LOW); 
      digitalWrite(IN2, HIGH); 
      analogWrite(GREEN_LED, 255); 
      analogWrite(RED_LED, 0); 
    } 
    //Dupa ce usa este deschisa complet, respectiv senzorul fotoelectric 
    //detecteaza cremaliera, motorul se va opri timp de 2 secunde, 
    //pentru a permite trecerea 
    digitalWrite(IN1, LOW); 
    digitalWrite(IN2, LOW); 
    analogWrite(GREEN_LED, 255); 
    analogWrite(RED_LED, 0); 
    delay(3000); 
    analogWrite(GREEN_LED, 0); 
    analogWrite(RED_LED, 255); 
 
    //Daca senzorul de miscare nu detecteaza nimic si daca senzorul 
    //fotoelectric detecteaza prezenta cremalierei (usa complet deschisa) 
    //atunci usa se va inchide 
    if(digitalRead(pin) == HIGH) { 
      //Se porneste timer-ul, iar usa se inchide 
      time_t = millis(); 
      digitalWrite(IN1, HIGH); 
      digitalWrite(IN2, LOW); 
      Serial.print(millis() - time_t); 
      Serial.print("\n"); 
    } else { 
      if(millis() - time_t >= 8200) { 
        digitalWrite(IN1, LOW); 
        digitalWrite(IN2, LOW); 
        analogWrite(GREEN_LED, 0); 
        analogWrite(RED_LED, 0); 
      } 
    } 

Testarea solutiei

:-P Testarea soluției s-a realizat treptat, după fiecare etapă a construcției proiectului.
În prima etapă am testat componentele separat înainte de începerea asamblării pentru a vedea dacă și cum functionează, în special motorul, driver-ul pentru motor si plăcuța Arduino. Am alimentat motorul prin driver pentru a le testa și pentru plăcuța Arduino am scris un cod mic în care foloseam senzorul PIR.

:-P După ce am început să asamblez componentele și să construiesc mecanismul de funcționare, am testat pe parcurs cum motorul va acționa ușa pentru a decide cum va fi mecanismul ușii

:-P În etapa finală a construcției, după ce am construit suportul pentru ușă și am lipit toate componentele am realizat testările finale pentru a ma asigura că totul decurge conform așteptărilor. Am încărcat codul pe plăcuța Arduino și am așteptat puțin pentru a se configura.

:-P De asemenea, senzorul PIR are nevoie de 1 minut pentru a se încărca pentru a funcționa. După aceste scurte perioade de așteptare, ușa este gata pentru a fi folosită.

:-P Testarea finală a constat în a vedea dacă senzorul PIR și cel fotoelectric funcționau corespunzător: dacă ușa se deschide când există mișcare în fața senzorului PIR, ușa începe să se deschidă, led-ul verde se aprinde; când limitatorul ajunge la senzorul fotoelectric ușa se oprește și stă complet deschisă 3 secunde. Am testat și dacă ușa rămâne deschisă cât timp senzorul PIR detectează mișcare. După ce ușa începe să se închidă, se aprinde led-ul roșu, și am testat dacă aceasta se deschide în momentul în care există mișcare în fața ușii. Când nu mai există mișcare, ușa se va închide complet.

Download

Jurnal

  • 26 aprilie - proiect ales
  • 3 mai - relizarea documentației
  • 5 mai - research piese
  • 8 mai - comandarea pieselor
  • 12 mai - hardware start
  • 19 mai - hardware stop
  • 20 mai - software start
  • 21 mai - software stop
  • 29 mai - wikiii :)

Bibliografie/Resurse

pm/prj2023/iotelea/usa_glisanta.txt · Last modified: 2023/05/30 01:56 by andreea.necula2102
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