Limbajul Java-Script - Utilizare obiecte

Aplicatii cu obiecte in JS

     Combinand termo si afisor x-t obtinem:


    Afisare sinus


     Pentru a afisa mai multe canale, putem folosi acceasi clasa afisor_xt


Determinarea coordonatelor mouse-ului

    Putem adauga un cursor la pozitia mouse-ului


Utilizarea tehnologiei Ajax

     AJAX este un acronim care provine din JavaScript si XML. Nu este un nou limbaj sau o noua tehnologie, este doar un nou mod de a utiliza standardele existente. Tehnologia AJAAX ofera posibilitatea de a transfera spre pagina clientului numai o parte din pagina fara a fi nevoie sa transfere intreg continutul paginii.
    Vom crea obiectul xmlhttp=new XMLHttpRequest() pentru a aduce date care vor fi afisate utilizand diverse instrumente virtuale. Datele sunt furnizate de o aplicatie pe partea se server aflata la adresa:
https://davos.umfst.ro/~traian/web_apl/simul_date/date_01.php



    Am putea afisa valoarea primita pe un voltmetru.


Utilizarea portului serial

    Vom conecta la portul USB un device numit "Multiio", realizat cu un controler Arduino Uno.
    Aplicatia web pentru testarea sistemului de achizitie: Multiio


Arduino UNO


     - Conectarea se face la USB
     - Daca nu se identifica la ce port s-a conectat folosind Device Manager, trebuie incarcat un driver CH340:
Sistemul de achizitie Multiio
- Sistemul de achizitie Multiio - realizat cu Arduino UNO



     - Sistemul de achizitie "Multiio" -conexiuni


   Aplicatia web pentru testarea Sistemului de achizitie Multiio : Multiio
Comenzile "Sistemului de achizitie Multiio" si ale "Modulul aplicatii Multiio"
  1. SG,val_pwm -- Start generatoare Sinus - P6 si Dinfi de fierastrau - P5 cu frecventa proportionala cu val_pwm, Aprindere p7
  2. PWM,val_pwm -- Generare PWM - P6 cu valoarea val_pwm
  3. AX4,val -- Afisare pe 4 digiti 7 segmente a valorii val
  4. C0,val ... C3,val -- Activare coloana din matrice de leduri
  5. M1,val_b -- Citire intrari analogice si comanda led-uri cu val_b (se trimite si suma de control)
  6. AA -- Citire valori analogice si DI
  7. A0 ... A4 -- Citire valoare analogica A0 ... A4
  8. O,val -- Invalidare generator sinus si df, Activare led-uri cu valoarea val
  9. DI -- Citire intrari digitale si transmitere val=B0+2*B1+4*B2+8*B3
  10. AI0,val_pwm -- Citire pachet de date A0,A1, Generare pwm pe p6 cu valoarea val_pwm, Generare frecventa pe p10 cu factorul de umplere val_pwm, Aprindere p7, Invalidare sin
  11. AI1,val_pwm -- Citire pachet de date A0,A1 (200 valori A0, 200 valori A1)
  12. AI2,val_pwm -- Citire pachet de date A0,A2 (200 valori A0, 200 valori A2)
  13. AI3,val_pwm -- Citire pachet de date A0,A3 (200 valori A0, 200 valori A3)
  14. AI4,val_pwm -- Citire pachet de date A0,A4 (200 valori A0, 200 valori A4)
  15. D1I,val_pwm -- Citire pachet de date B0,B1,B2,B3 (400 de valori zecimale=B0+2*B1+4*B2+8*B3)

    Utilizarea portului serial presupune mai multe operatii. Prima operatie fiind conectarea la portul serial.



     Dupa deschiderea portului serial urmeaza operatii de citire sau scriere. Functia pentru citirea de la portul serial are forma:



     Functia pentru scrierea la portul serial are forma:



     Ultima operatie fiind deconectarea de la portul serial:



     Operatia de deconectare de la portul serial este foarte importanta. Daca nu se realizeaza, portul serial ramane alocat si nu va mai putea fi folosit de alta aplicatie. S-a optat pentru lansarea automata la inchiderea paginii, functia pentru inchiderea portului serial fiind lansata de evenimentul 'beforeunload' care se activeaza la inchiderea paginii.
     Toate functiile de sus, presupun existenta unui element cu id="output" (definit in pagina principala) unde portul serial afiseaza diverse mesaje. Datele de la portul serial sunt citite in mod asincron de functia "async function readSerialData()", si sunt pastrate in variabila date_s. Inaintea unei scrieri la portul serial datele acumulate in "date_s" sunt salvate in variabila "date_c".
     Sa presupunem ca aceste functi sunt plasate in biblioteca "serial.js", o aplicatie simpla pentru utilizarea portului serial este prezentata mai jos: