joi, 25 februarie 2021

Ceas GPS cu reglaj ora locala

    Am modificat ceas-ul GPS sa pot regla ora locala, in primul rand pentru a corecta ora vara/iarna, dar si pentru a fi util si celor ce locuiesc in alte zone, eu limitand la UTC-12 pana la UTC+12, dar pentru cei din zone peste acestea, pot modifica usor din soft, la limite. 

   Pentru detalii de ora universala (UTC) si orele locale, vedeti articolul Coordinated Universal Time sau, cel in limba romana, Ora universală coordonată

   Eu am adaugat 2 butoane fara retinere, unul pentru crestere valoare si unul pentru scadere valoare ora locala. Butonul pentru crestere este conectat la D12, iar cel de scadere este la D11, restul schemei ramane neschimbata (vezi articolul Ceas GPS).
iar sketch-ul modificat este https://github.cceas_neo6m_big_ro_adj.ino
   Exemplu de afisare la UTC-12
si UTC+12:
   Pentru o mai buna intelegere a modului de reglaj si afisare (am pastrat sa afiseze alternativ data, ziua in romana si in engleza).

marți, 23 februarie 2021

Vitezometru GPS

    Dupa ce m-am familiarizat cu receptorul GPS model NEO-6M (vedeti articolul precedent), am adaptat un program pentru a avea un vitezometru cu indicatii de ora si pozitie.

   Schema este aceeasi ca a ceasului GPS, prezentata in articolul precedent, 
iar programul folosit este GPS_speedometer.ino.
   Cand viteza este mica, sub 10km/h, in dreapta apaare mesajul "viteza" si "km/h", iar caracterele vitezei sunt mari (am pus in articolul precedent link-uri).
   Am pus initial, montajul in bord, pentru a compara viteza cu cea a vitezometrului masinii:
apoi in locul telefonului si am comparat valorile cu ale unei navigatii, rezultatele fiind foarte bune.

   Cu ocazia testelor, am facut si cateva filmulete, dar in unele nu se vad bine indicatiile de pe afisaj
PS: Informatiile sunt receptionate de la satelitii GPS la 2-3 minute de la alimentarea montajului, asa ca in cel mai fericit caz aveti informatii despre ora. De asemenea, am observat ca numarul satelitilor de la care receptioneaza receptorul semnal nu este indicata uneori sau este indicata incorect.

duminică, 21 februarie 2021

Ceas GPS

   Intrand in posesia unui receptor GPS NEO-6M, am zis sa fac un proiect usor, si anume, un ceas ce preia ora de la de la receptorul GPS.

   Un prim articol, ce trebuie citit, pentru familiarizarea cu acest receptor GPS, este How to Interface GPS Module (NEO-6m) with Arduino

   Avand la dispozitie un afisaj LCD 2004 (20 coloane si 4 randuri) si un adaptor i2c, am adaptat programul din articolul Arduino GPS clock with local time using NEO-6M module.

   Am folosit aceeasi schema

doar ca eu am adaugat afisarea cu caractere mari, cum mai testasem si acum ceva timp la un vitezometru GPS.
  Vedeti articolele:

   Sketch-ul modificat de mine, pentru acest ceas, este ceas_neo6m_big_ro.ino. 

   Montajul a fost facut cat mai 'transportabil", montand socluri pentru Arduino Nano si conectori XH2.54 pentru receptorul GPS si afisaj (mai am o mufa Pentru un debitmetru, care nu se foloseste in aceasta aplicatie).

   Puteti vedea cum se afiseaza informatiile am facut urmatoarele 2 filmulete:

- ceas cu actualizare date cu GPS

- GPS clock (NEO-6M)


miercuri, 10 februarie 2021

Arduino pentru incepatori

    Deoarece sunt multe proiecte, mai simple sau mai complexe, cu placile de dezvoltare Arduino, un neinitiat poate sa se sperie... am cautat un tutorial pentru incepatori, dar nu am gasit, asa ca voi face eu unul.

     Sa zicem ca nu ati luat o placa Arduino Uno, ci una Arduino Nano... modul de functionare este similar.

     Daca alimentati dintr-o mufa USB de la PC sau laptop, pe placa este un led aprins, care indica alimentarea placii, iar unul va clipi  odate pe secunda. Dupa cum se constata, ledul ce se aprinde cu intermitenta este cel conectat la pinul digital numit D13, printr-o rezistenta la masa.

   Dupa ce vom capata un pic de experienta, vom realiza montaje pe breadboard

   Urmatorul pas important este descarcarea programului ce ne ajuta la scrierea si incarcarea programelor in placa de dezvoltare Arduino.
    Eu folosesc programul Arduino IDE 1.8.12, 
care se poate descarca de  AICI !
    Bun, dupa instalarea programului, avand placa conectata, trebuie sa fim siguri ca s-a instalat driver-ul interfetei USB, care, in cazul acestei placi este un CH340:
   Daca am rezolvat acest pas, vom alege placa Arduin Nano
cu portul activ
alegem versiunea cu "old bootloader"
observand in coltul din dreapta jos informatiile
    Daca ati reusit sa urmati acesti pasi cu rezultate similare (clar va fi alt port), putem trece la modificarea programului BLINK, care se gaseste la exemplele venite cu programul Arduino IDE:
    In prima faza, nu vor urmari structura programelor (sketch-urilor) Arduino, ci vom modifica o valoare dintr-o linie, si anume delay(1000); care inseamna o pauza de 1 secunda (1000ms)
acasta linie este pusa dupa aprinderea ledului, care este, in programul original delay(1000), iar noi o vom modifica in delay(100), adica o intrarziere de 0,1secunde
   Deoarece am scos doar un zero, nu ar trebui sa fie probleme, dar vom verifica oricum, prin compilarea programului
care ar trebui sa se termine cu mesajul
   Urmeaza incarcarea programului in placa Arduino Nano
care se incheie cu mesajul
   Dupa ce ati trecut prin acesti pasi cu succes, puteti incerca si alte variante de programe, cu efecte de stingere/aprindere ale ledului de la D13, acestea se gasesc pe canalul meu de Github, la adresa https://github.com/tehniq3/blink 

    Pentru cei care sunt obisnuiti sa reproduca experimentele din filmulete, am facut si eu unul:

joi, 14 ianuarie 2021

Alta versiune de ceas animat cu date meteo (4)

   Deoarece versiunea anterioara avea un mic "defect", schimband intensitatea luminoasa a afisajului matriceal foarte repede daca erau variatii bruste ale luminii din mediu apropiat, am corectat asta in fisierul LEDMatrixV2ro4.ino din subdirectorul LEDMatrixV2ro4.

   Pentru a nu ma mai deplasa la montaj, am implementat incarcarea de la distanta, care am prezentat-o in articolul Programare de la distanta (OTA) placa de dezvoltare cu ESP8266 asa ca acum trebuie folosite fisierele din subdirectorul LEDMatrixV2ro5

   De asemenea, am adaugat si domeniul temperaturilor, de exemplu, daca indicatia era -1.90C, acum este  -1.90C ( -2.8 /  0.30C).
   Schema este aceeasi