Table of Contents

Barber Shop

Student: Dorobantu Tania-Alexandra

Grupa: 333CC

Introducere

Simularea programului de lucru a unei frizerii care contine 3 frizeri si o sala de asteptare. Sala de asteptare are locuri limitate, nu este obligatoriu sa fie toti frizerii disponibili si timpul de lucru pentru fiecare client este variabil. Proiectul va fi implementat ca un sistem in timp real.

Descriere generală

Hardware Design

Componente:

  • microcontroller Arduino Mega
  • butoane toggle
  • buton pushbutton
  • led
  • display LCD
  • buzzer

Schema Tinkercad:

Schematic

Circuit

Software Design

Pentru a realiza aceasta aplicatie de tip multitasking am utilizat libraria FreeRTOS deoarece aceasta imi ofera tehnici de management al task-urilor, elemente de sincronizare si ma ajuta sa programez task-urile.

Arhitectura software:

Identificarea task-urilor

 ● Barber 1, Barber 2, Barber 3: preiau clienți din coadă (accesul se face prin intermediul semaforului binar ”mutex coadă”) și oferă 
 servicii de frizerie într-un timp aleatoriu stabilit la început (2,5 - 7,5 secunde)
 ● Clienți - adaugă clienți în coada prin apăsarea butonului de intrare doar dacă mai sunt locuri libere
 

Identificarea task-urilor

 ● Coada - reprezinta coada de clienti din sala de așteptare și pentru fiecare client existent se aprinde cate un led
 ● Display - afișarea pe display-ul TFT a activității de lucru a frizerilor
 

Identificare mecanisme de sincronizare

 ● Mutex coadă - folosit pentru stabilirea accesului ordonat al clienților din coadă
 ● Mutex buzzer - folosit pentru a anunța intrarea în coadă a unui client și finalizarea serviciilor oferite de frizeri

Concluzii

In final, am reusit sa obtin un barber shop functional, cu 3 frizeri ce tund in mod eficient clientii aflati in coada fiind afisat in fiecare moment cine pe cine tunde, timpul ramas din programare si coada de clienti.

Download

Aici se poate gasii codul aplicatiei: dorobantu_tania_pm.zip

Bibliografie/Resurse

Export to PDF