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

nichicon が 2021年01月15日14時48分14秒 に編集

初版

タイトルの変更

+

Arduinoを使った簡易オシロ

タグの変更

+

Arduino_Nano

+

AQM1248A

+

秋葉原2021

+

オシロスコープ

メイン画像の変更

メイン画像が設定されました

本文の変更

+

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 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 > 127){ i = 1 ; delay(1000) ; MGLCD.ClearScreen() ; value = analogRead(A5) ; y1 = 46-(value/22) ; x1 = 0 ; buf_state = 1 ; } value = analogRead(A5) ; if(buf_state == 1){ y2 = 46-(value/22) ; x2 = i ; MGLCD.Line(x1,y1, x2,y2) ; buf_state = 2 ; }else if(buf_state == 2){ y1 = 46-(value/22) ; x1 = i ; MGLCD.Line(x2,y2, x1,y1) ; buf_state = 1 ; } } ④作り方 ・プログラムをArduino Nanoに書き込んでLCD  と配線したら完成。