Sanitizer

Autor: Victoria TANTANA -333CC

Introducere

Sistem creat pentru pulverizarea unei solutii dezinfectante, atunci cand senzorul detecteaza prezenta unei persoane. Avand in vedere contextul epidemiologic cu care ne confruntam, un astfel de dispozitiv ar fi util in vederea respectarii normelor recomandate de igiena.

Ideea care sta la baza acestui proiect este de a realiza vaporizarea substantei, fara a necesita contactul fizic cu dispozitivul, reducand astfel riscul de raspandire a virusului.

Descriere generală

Senzorul PIR se declanseaza in momentul in care detecteaza miscare, in continuare, pinul D2 din arduino UNO primeste o tensiune de 5V. Pe pinul D3 se va deschide baza tranzistorului MJE-13003 si se va activa releul care este conectat in colectorul acestui tranzistor. Pe pinul A0 se va citi tensiunea de pe potentiometru, obtinandu-se o valoare intre 0 si 1023. Pentru a obtine un interval de [0,10]s de activare a pompei, fac val/102. Voi aplica un delay de 1000ms la fiecare ciclu.

Schema bloc

Hardware Design

Lista componentelor utilizate:

  1. Arduino UNO
  2. Releu de 12V
  3. Potentiometru
  4. Lcd I2C
  5. PCF
  6. POMPA 12V
  7. Sursa de 12V
  8. Senzor PIR cu infrarosu

Schema electrica a proiectului:

Software Design

Dezvoltare: Pentru dezvoltarea programului software am folosit Arduino IDE.

Bibiolteci folosite: LiquidCrystal_I2C.h folosita pentru a permite comunicarea cu I2C-ul, si implicit cu LCD-ul.

Codul sursa al programului

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
//I2C pins declaration
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 
#define RELAY_PIN 3
#define PIR_PIN 2

void setup() 
{
Serial.begin(9600);

//Definesc 16 coloane a cate 2 randuri ale display-ului lcd 
lcd.begin(16,2);
lcd.backlight();

//Setez cursorul pe randul stanga sus
lcd.setCursor(0,0); 
lcd.print("      Auto      ");

//Setez cursorul pe randul stanga jos
lcd.setCursor(0,1);
lcd.print("  - Calibrare - ");
delay(5000);
// Iesire senzor conectata la D2
pinMode(PIR_PIN,INPUT_PULLUP);
// Bobina releu conectata la D3 
pinMode(RELAY_PIN,OUTPUT); 

}

void loop() 
{
// Citim inputul de pe pinul analog A0:
int potVal = analogRead(A0)/102;

lcd.setCursor(0,0); 
lcd.print("Timp spray:  s");
lcd.setCursor(12,0);
lcd.print(potVal);
// dynamic effect
delay(150);

if(digitalRead(PIR_PIN))
  {
      //Activam mecanismul
      digitalWrite (RELAY_PIN,1);
      for (int i=0;i < potVal;i++)
      {
          char s[100];
          sprintf(s,"Timp: %d sec   ",i);
          lcd.setCursor(0,1);
          lcd.print(s);
          delay(1000); 
      }
      digitalWrite (RELAY_PIN,0);
      lcd.setCursor(0,1); 
      lcd.print("   ...Delay...  ");
      // Delay intre pulverizari
      delay(3000); 
  }
}

Rezultate obtinute

Link catre demo-ul video: https://youtu.be/FxUTo2j0Vt0

Sursa poate fi descarcata de aici: kitvaporizare.zip

Concluzie

Proiectul indeplineste functionalitatea dorita, care este ilustrata in schema electrica. In urma realizarii acestuia, am invatat cum sa folosesc arduino in vederea prelucrarii informatiilor preluate de catre un senzor si sa afisez pe display date in conformitate cu starea la un moment de tip. Consider ca implementarea actuia m-a ajutat sa pun in practica notiunile invatate.

Biografie/Resurse

pm/prj2021/abirlica/sanitizer.txt · Last modified: 2021/08/17 00:45 by victoria.tantana
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