This shows you the differences between two versions of the page.
pm:prj2023:apredescu:pulsoximetru [2023/05/07 20:59] ioan.stan1809 [Software Design] |
pm:prj2023:apredescu:pulsoximetru [2023/05/28 23:59] (current) ioan.stan1809 [Concluzii] |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Proiectul acesta va masura turbiditatea din apa si va afisa pe un ecran lcd cat de pura este apa. De asemenea, se va aprinde un led RGB cu culoarea verde, galben sau rosu si va suna un buzzer. Este util deoarece poate detecta daca apa de la robinetul de acasa este buna de baut sau poate detecta cat de pura este apa unui lac. | + | This project will measure the turbidity in the water and display on an LCD screen how pure the water is. Also, a green, yellow or red RGB LED will light up and a buzzer will sound. It is useful because it can detect if the water from the tap at home is safe to drink or it can detect how pure the water in a lake is. |
- | <note tip> | + | |
- | Prezentarea pe scurt a proiectului vostru: | + | |
- | * ce face | + | |
- | * care este scopul lui | + | |
- | * care a fost ideea de la care aţi pornit | + | |
- | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
- | </note> | + | |
- | ===== Descriere generală ===== | + | |
- | Voi conecta la Arduino turbidimetrul si ii voi lua valorile care vor fi procesate si transformate intr-un procentaj de la 0 la 100. Pe baza acestui procentaj se va aprinde led-ul RGB, buzzerul si va arata acest procentaj pe LCD. | + | ===== General Description ===== |
- | <note tip> | + | |
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | |
- | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | I will connect the turbidimeter to the Arduino and take the values that will be processed and transformed into a percentage from 0 to 100. Based on this percentage, the RGB led, the buzzer will light up and this percentage will be shown on the LCD. |
- | </note> | + | |
+ | |||
+ | {{ :pm:prj2023:apredescu:stan_soponaru_block_sketch.png?700 |}} | ||
+ | |||
+ | Also, here are some pictures with the completed project: | ||
+ | |||
+ | {{ :pm:prj2023:apredescu:stan_soponaru_project_poza_1.jpeg?700 |}} | ||
+ | {{ :pm:prj2023:apredescu:stan_soponaru_project_poza_2.jpeg?700 |}} | ||
+ | {{ :pm:prj2023:apredescu:stan_soponaru_project_poza_3.jpeg?700 |}} | ||
+ | {{ :pm:prj2023:apredescu:stan_soponaru_project_poza_4.jpeg?700 |}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 45: | Line 44: | ||
- Button \\ | - Button \\ | ||
- | <note tip> | + | {{ :pm:prj2023:apredescu:stan_soponaru_schema_electrica.png?700 |}} |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * 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) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
===== Software Design ===== | ===== Software Design ===== | ||
Line 64: | Line 58: | ||
it's dirty, cloudy or clean. The loop will reset every 3 seconds. I have set a variable to stop repeating the same buzzing if the value is in the same category as the last loop as it can get annoying fast. | it's dirty, cloudy or clean. The loop will reset every 3 seconds. I have set a variable to stop repeating the same buzzing if the value is in the same category as the last loop as it can get annoying fast. | ||
<code> | <code> | ||
+ | void loop() { | ||
int sensorValue = analogRead(A0); | int sensorValue = analogRead(A0); | ||
int turbidity = map(sensorValue, 0,640, 100, 0); | int turbidity = map(sensorValue, 0,640, 100, 0); | ||
Line 208: | Line 203: | ||
+ | ===== Obtained Results ===== | ||
- | <note tip> | + | After completing this project, i managed to create a functional turbidity meter with a bunch of add-ons. I have also understood a lot better how all the components in my project can work together to achieve something great. I have managed to create an algorithm that will take all these separate components and make them work perfectly together. |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
- | ===== Rezultate Obţinute ===== | ||
- | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | ||
- | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | We can measure the purity of water with a nice interface and a friendly environment =) | ||
===== Download ===== | ===== Download ===== | ||
- | <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> | ||
+ | {{ pm:prj2023:apredescu:turbidity_meter_v2.zip }} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||