編集履歴一覧に戻る
nichiconのアイコン画像

nichicon が 2021年02月22日10時26分30秒 に編集

コメント無し

本文の変更

Arduino Nanoを使ってオシロスコープを作りました。サンプリングを高速化するためにADCのクロック分周比を1:8にしています。計れる電圧の範囲は0〜5Vです。グラフィック液晶のライブラリには、しなぷすのハード製作記(https://synapse.kyoto/lib/MGLCD/page001.html)さんのMGLCDライブラリを使用しました。

-

材料

+

# 材料

・Arduino Nano x1 ・AQM1248A x1 ・1MΩ x1

-

配線

+

# 配線

 Arduino AQM1248A   3V3 --> VDD   D8 --> CS D9 --> RS   MOSI --> SDI   SCK --> SCLK   GND --> GND  1MΩはA5ピンとGNDの間に入れます。  LCDのRESET端子はオープンにします。  *LCDのVDDに5Vを接続しないでください。

-

プログラム

+

# プログラム

#include <MGLCD.h> #include <MGLCD_SPI.h> #include <SPI.h> #define CS 8 #define DI 9 #define MAX_FREQ 8000000L MGLCD_AQM1248A_SPI MGLCD(MGLCD_SpiPin2(CS, DI), MAX_FREQ); uint16_t value ; uint8_t x1, y1, x2, y2, i, buf_state ; void set_screen(void){ MGLCD.Line(113,0, 113,47) ; MGLCD.Line(111,37, 114,37) ; MGLCD.Line(111,28, 114,28) ; MGLCD.Line(111,19, 114,19) ; MGLCD.Line(111,10, 114,10) ; MGLCD.Line(111,1, 114,1) ; MGLCD.Locate(19, 0) ; MGLCD.print("5V") ; } void setup() { // put your setup code here, to run once: ADCSRA |= 0b00000011 ; pinMode(A5, INPUT) ; MGLCD.Reset() ; value = analogRead(A5) ; y1 = 46-(value/22) ; x1 = 0 ; buf_state = 1 ; } void loop() { // put your main code here, to run repeatedly: i++ ; if(i > 112){ i = 1 ; delay(1000) ; MGLCD.ClearScreen() ; set_screen() ; value = analogRead(A5) ; y1 = 47-(value/22) ; x1 = 0 ; buf_state = 1 ; } value = analogRead(A5) ; if(buf_state == 1){ y2 = 47-(value/22) ; x2 = i ; MGLCD.Line(x1,y1, x2,y2) ; buf_state = 2 ; }else if(buf_state == 2){ y1 = 47-(value/22) ; x1 = i ; MGLCD.Line(x2,y2, x1,y1) ; buf_state = 1 ; } }

-

作り方 プログラムをArduino Nanoに書き込んでLCD  と配線したら完成。

+

# 作り方  プログラムをArduino Nanoに書き込んでLCD  と配線したら完成。 # 使い方  Arduino NanoのA5ピンを測定したい物と繋  ぐと、その波形が表示されます。