Differences

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

Link to this comparison view

pm:prj2021:avaduva:aparat-de-numarat-genoflexiuni [2021/06/02 10:28]
felix_vlad.sarboiu [Download]
pm:prj2021:avaduva:aparat-de-numarat-genoflexiuni [2021/06/02 10:45] (current)
felix_vlad.sarboiu [Download]
Line 14: Line 14:
 ==== Descriere generala ==== ==== Descriere generala ====
  
- +{{:​pm:​prj2021:​avaduva:​diagrama.jpg?200|}}
-{{:​pm:​prj2021:​avaduva:​diagrama.png?200|}}+
  
 {{:​pm:​prj2021:​avaduva:​schema_electrica_felix.jpeg?​200|}} {{:​pm:​prj2021:​avaduva:​schema_electrica_felix.jpeg?​200|}}
Line 23: Line 22:
     Lista de piese:     Lista de piese:
       * Arduino Uno R3       * Arduino Uno R3
-      * Senzor Ultrasonic HC-SR04 +      * Senzor Ultrasonic HC-SR04 ​(pini: ECHO legat la D2, TRIG legat la D3, VCC la 5V, GND la GND) 
-      * Display LED tip ceas TM1637+      * Display LED tip ceas TM1637 ​(pini: CLK legat la D4, DIO legat la D5, VCC la 5V, GND la GND)
 ==== Software Design ==== ==== Software Design ====
  
Line 32: Line 31:
   * Librarii: TM1637.h   * Librarii: TM1637.h
   * Codul de baza: https://​create.arduino.cc   * Codul de baza: https://​create.arduino.cc
 +  * Legare pini: ECHO - D2, TRIG - D3, CLK - D4, DIO - D5
 +  * Inaltimea superioara 135cm (#define superior 135)
 +  * Inaltimea inferioara 100cm (#define inferior 100)
 +  * Am folosit variabilele duration si distance pentru masurarea distantei folosind senzorul ultrasonic, variabila counter pentru numararea genoflexiunilor si variabila measure pentru a putea verifica atingerea pragurilor de inaltime: superior, respectiv inferior.
 +  * In setup am setat luminozitatea display-ului la 2, am setat modul de functionare pentru pinii senzorului ultrasonic, am pornit interfata seriala pentru afisaj de debug (inaltimi citite) si am initializat counter si measure la 0.
 +  * In loop, pentru citirea distantei folosesc senzorul ultrasonic pentru a trimite si primi unde sonore si fac calculul distantei folosind formula: "​durata semnal * 0.034 / 2" (impartirea la 2 pentru tur-retur), apoi afisez la consola seriala distanta in cm.
 +  * Tot in loop are loc si mecanismul de verificat genoflexiuni,​ in felul urmator:
 +    - daca distanta citita se afla sub pragul inferior si variabila measure este setata la 1, se incrementeaza contorul si se seteaza variabila measure la 0. Acest proces este urmat de un delay de 100ms.
 +    - daca distanta citita este mai mare sau egala cu diferenta dintre pragul inferior si 3 (marja de eroare) si variabila measure este setata la 0, se seteaza variabila measure la 1 si se face delay de 100ms.
 +    - la sfarsit se face afisarea contorului (counter) pe display-ul LED folosind functia displayNumber,​ implementata la sfarsit. Aceasta primeste ca input un numar intreg si ii afiseaza fiecare cifra la pozitia sa corespunzatoare pe display.
  
 ==== Preview ==== ==== Preview ====
Line 51: Line 60:
  
 ==== Download ==== ==== Download ====
 +
 +{{:​pm:​prj2021:​avaduva:​aparat_de_numarat_genoflexiuni_1_.pdf| Aparat de numarat genoflexiuni}}
  
 {{:​pm:​prj2021:​avaduva:​aparat_de_numarat_genoflexiuni.zip| Cod sursa}} {{:​pm:​prj2021:​avaduva:​aparat_de_numarat_genoflexiuni.zip| Cod sursa}}
pm/prj2021/avaduva/aparat-de-numarat-genoflexiuni.1622618937.txt.gz · Last modified: 2021/06/02 10:28 by felix_vlad.sarboiu
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