sâmbătă, 20 aprilie 2019

Intarziere comanda iesire digitala folosind functia millis()

my english article

   Desi am mai prezentat folosirea functiei millis(), de exemplu in articolul Masurare timpi apasare butoane folosind functia millis(), am zis sa scriu acest articolas pentru o aplicatie mai "papabila", accea de a a aprinde un led cand se apasa un buton si acesta sa se stinga doar dupa un anumit timp, prin compararea timpului de cand s-a apasat butonul cu timpul actual. Bineinteles ca nu e un lucru nou, fiind prezenta in mai multe articole e net, unul fiind Using millis() for timing in care s eface aprinderea unui led cu intermitenta (acesta se gaseste si in exemplele din programul Arduino IDE)
    Eu am pus un buton la pinul D3 catre masa (GND) si un led la D4 conectat la masa (printr-o rezistenta de 100-470 ohmi). Am activat rezistenta de pull-up interna (de 10k) pentru a avea intrarea la plus cand butonul nu e apasat.
  Starile sunt, conform schemei logice
urmatoarele:
- sistem in asteptare, led stins
- buton apasat, led stins
- eliberare buton, led-ul se aprinde imediat
- led aprins timpul cat a fost definit
- led stins, in asteptare.
    Programul rescris de mine este delay_button.ino, care face ce am descris mai sus, iar in ecranul de monirtorizare seriala (Serial Monitor) vom vedea starile:
   Am inlocuit butonul cu un sensor de infrarosu, 
care in repaus are iesirea in LOW si cand este activat in HIGH, programul modificat devenind delay_sensor.ino.
in ecranul de monirtorizare seriala (Serial Monitor) vom vedea starile:
   Starile sunt similare:
- repaus, led stins
- detectie miscare, ledulul se aprinde
- led aprins un timp definit 
- iar repaus, ledul fiind stins.
   Pentru senzorii cu logica negativa la iesire, adica in repaus este HIGH, respectiv LOW cand e activ, am modificat programul foarte putin
acesta devenind delay_sensor1.ino.
    Am facut 2 filmulte cu senzorul cu infrarosu;
Intarziere comanda iesire digitala folosind functia millis()
delay off using millis()

Niciun comentariu:

Trimiteți un comentariu