Make a digital oscilloscope via Arduino

Make a digital oscilloscope via Arduino

thingiverse

Often seen people making online digital oscilloscope, DSO must have digital-analog conversion unit, according to d/a conversion circuit can be divided into two modes: 1. Special ADC chip + single-chip, 2. using single-chip ADC count inside the converter. For the first model I tried two , this circuit is a little more complex, component is more difficult to complete, it is difficult for beginners. The second structure is relatively simple, easyto make, but has a significant drawback, that is, withina narrow bandwidth, one of the more typical works are the overseas friends of http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope.htm, the bandwidth of the oscilloscope only 7.7KHz. Domestic users and STC single-chip AVR production, but the actual bandwidth is less than 10KHz. You may use Fusion Service(https://www.seeedstudio.com/fusion.html) in this project. How I Designed This code Recently saw a net friend with Arduino oscilloscope, itmay be easier than the second method above, but their results are not ideal, the bandwidth is narrow. So I wanted to try and see and there is no good way to solve this problem. Produced by experiment, and constantly modify the code, and improved d/a conversion sample rate, very good results have been achieved. The main parameters of the final product: Frequency response: 10Hz-50KHz Power supply: 5V LCD LCD screen: 128x64 (ST7920) Measurement display area: 96x64 Information display: 32x64, displays the frequency of the test signal, Vpp, and more Sync: rising edge triggers Scan speed: 0.02ms/div~10ms/div, carrying nine 1-2-5 Hold function: freeze the displayed waveform and parameters Second, basic test Using the Arduino project's biggest advantage is its rich resources, and do not need much knowledge of SCM. I made using a repository u8glib LCD, making it easier to program, or LCD drive will cost you a lot of time. U8glib download: u8glib_arduino_v1.13.zip (989.55 KB, downloads: 2577) Here is my first test circuit for Arduino UNO building, of 12864 LCD LCD using ST7920 control. As long as the input method in the following code, compiled after download you can achieve the basic functions of digital oscilloscope, wouldn't it be simpler? Include //statement U8GLIB_ST7920_128X64_4X u8g(13, 12, 11); Statement LCD SPI Com:SCK =13, MOSI = 12, CS = 11 int x,y; Painted point coordinates int Buffer[128]; Cache storage array void setup( ) { } Sample void sample( ) { for(x = 0;x < 128;x++) Buffer[x] = analogRead(A0); Signal sampling for(x = 0;x < 128;x++) Buffer[x] = 63-(Buffer[x]>>4); Calculate y values } Display void draw( ) { for(x = 0;x < 127;x++) u8g.drawLine(x,Buffer[x],x,Buffer[x+1]); Draw two lines u8g.drawLine(64,0,64,63); Draw the axes u8g.drawLine(0,32,128,32); For (x=0;x

Download Model from thingiverse

With this file you will be able to print Make a digital oscilloscope via Arduino with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Make a digital oscilloscope via Arduino.