Acest articol prezintă un mod simplu de aţi face un osciloscop (fără prea multe pretenții) cu ajutorul oricărei plăci de dezvoltare Arduino și a unui display grafic. Proiectul meu este bazat pe articolul de la http://www.semifluid.com/2013/05/28/arduino-fio-lcd-oscilloscope/ caruia i-am adus unele modificari.

1.Necesar:
-placa de dezvoltare Arduino
-display grafic ST7920 128×64
-fire de legătură

 

2.Conexiuni:
Ca placă de dezvoltare eu am folosit un Arduino MEGA. Modul in care a fost conectat cu display-ul ST7920 este următorul:

osciloscop

 

 

3.Aplicaţia Arduino:

Pentru a fi mai uşor de înţeles am împarţit aplicaţia in mai multe părţi:

osciloscop_mega_R1

4.Aşa funcţionează aplicaţia:

 

Spor la treaba!

Osciloscop cu Arduino
Etichetat pe:                    

13 gânduri despre „Osciloscop cu Arduino

  • 19/09/2014 la 14:10
    Legătură permanentă

    Salut.
    in schema fritzing postata de tine pe site, apar 3 butoane, si un potentiometru. In filmuletul postat de tine, vad 2 potentiometre (pe langa cel de la display) , 6 butoane si diverse alte componente electronice.
    Eu voi folosi un arduino duemilanove si un display de aceeasi rezolutie insa va functiona pe baza de U8GLib.
    Poti posta o schema completa respectiv un cod intreg, nu doar impartit?
    Potentiometrul este potentiometru normal, sau switch bcd ?
    Imi poti da te rog mai multe detalii?
    Ma gandeam sa il fac initial pe arduino duemilanove, si apoi daca functioneaza, il voi porta pe un arduino nano pro.
    Poti sa-mi dai mai multe detalii daca te rog?
    Multumesc 🙂

    Răspunde
    • 19/09/2014 la 14:12
      Legătură permanentă

      Salut,

      *Aceea este o placa de dezvoltare care are mai multe componente pe ea. Potentiometrul alb cu care ma joc in filmulet este generatorul de semnal (un adruino la care se regleaza PWM din potentiometrul respectiv).

      *Daca folosesti alta librarie o sa ai de modificat un pic programul pentru a convertii functiile existente in functiile noii librarii

      *Descarca programul, deschidel in ARDUINO ide si o sa-ti incarce automat toate partile

      Bafta si poate cand e gata pui un filmulet cu toata jucaria.

      Răspunde
      • 21/09/2014 la 17:16
        Legătură permanentă

        am urmatoarele erori

        osciloscop_mega_R1.ino: In function ‘void setup()’:
        osciloscop_mega_R1:189: error: ‘b4’ was not declared in this scope
        osciloscop_mega_R1:190: error: ‘b5’ was not declared in this scope
        osciloscop_mega_R1:191: error: ‘b6’ was not declared in this scope
        osciloscop_mega_R1:192: error: ‘tasta’ was not declared in this scope
        osciloscop_mega_R1:193: error: ‘corelare_meniu’ was not declared in this scope
        osciloscop_mega_R1.ino: In function ‘void loop()’:
        osciloscop_mega_R1:211: error: ‘draw’ was not declared in this scope
        osciloscop_mega_R1:213: error: ‘drawMenu’ was not declared in this scope
        osciloscop_mega_R1:219: error: ‘handleSerial’ was not declared in this scope

        asta in ideea in care am schimbat pinii de analog/digital pentru a merge pe arduino duemilanove. so … ce-ar trebui sa fac in continuare?

        Răspunde
    • 10/11/2016 la 08:14
      Legătură permanentă

      mai bine folosesti o sonda cu divizor pentru ca se poate compensa in frecventa
      ori sa faci divizor cu rezistente dar si capacitati pentru compensare in frecventa
      altefel formele de unda afisate nu vor fi cele reale decit la frecvente foarte mici

      Răspunde
  • 10/04/2015 la 19:16
    Legătură permanentă

    Archive dont have all files. Arduino program write many errors. firs error: osciloscop_mega_R1.ino:2:23: fatal error: OneButton.h: No such file or directory
    compilation terminated.
    Please add to post full archive!

    Răspunde
    • 11/04/2015 la 20:24
      Legătură permanentă

      You have to search for the libraries used for the Oscilloscope software on google. Just make a search for OneButton.h and install it on your Arduino libraries. If you have latest version of the Arduino IDE you can do that from there.

      Răspunde
  • 10/11/2016 la 08:10
    Legătură permanentă

    buna ziua …. ma numesc Florian Vasile sunt incepator in programare dar cu exerinta in electronica , am o mare rugaminte si anume :
    cum sa fac ca acest osciloscop sa functioneze fara afisare ci doar pe ecranul laptopului
    nu inteleg inca tot softul asa ca daca vrei separa pentru mine partea de afisare sidaca se paote sa si explici putin softul
    multumesc

    Răspunde
    • 18/11/2016 la 19:59
      Legătură permanentă

      Salut,
      Se poate face. Trebuie sa mergi in functia programului de desenare(desenare_osciloscop.ino) si toate variabilele de acolo sa le trimiti pe serial. Pe urma pe PC trebuie sa faci un soft care sa interpreteze aceste date. In Wiring sau Procesing e destul de simplu. Poti incerca si VB. Sau daca preferi Linux primele variante sunt cross platform.
      Daca te inpotmolesti undeva te pot ajuta.

      Totusi tine cont ca proiectul acesta este o jucarie. Daca vrei ceva profii iti recomand RIGOL1054z. Sau daca vrei o jucarie pe care sa o poti si folosi iti recomand http://www.jyetech.com/Products/LcdScope/e150.php sau DSO138.

      Răspunde
  • 12/04/2018 la 13:20
    Legătură permanentă

    Buna ziua
    Am incercat si eu sa experimentez model dvs . de osciloscop.
    In primul rand am reusit sa pornesc osciloscopul doar dupa ce am trecut afisajul pe SPI.
    Afisajul meu este de tip 12864B V2.0
    Cand invart de potentiometru nu se intampla nimic, nu pot intra in niciun meniu.
    Din cate imi dau seama functia map asociata potentimetrului nu face nimic.
    Doar la butonul start reactioneaza, intra in modulul de osciloscop iar la start e selectat ultimul meniu de jos, cu celelalte 2 butoane pot sa schimb line sau punct.
    Potentiometrul ce valoarea are , 10 K e ok?
    Vreun sfat?

    Răspunde
    • 14/04/2018 la 06:15
      Legătură permanentă

      Verifica cu un program simplu intrarea analogica A0 pe care e montat potentiometrul. Comanda Serial.println(analogRead(A0)); ar trebuii sa returneze valori de la 0 la 1023. Daca nu face asta inseamna ca potentiometrul e defect sau nu e legat bine.

      Răspunde

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.