nichiconのアイコン画像
nichicon 2021年01月15日作成 (2021年12月09日更新)
製作品 製作品 閲覧数 3248
nichicon 2021年01月15日作成 (2021年12月09日更新) 製作品 製作品 閲覧数 3248

Arduinoを使った簡易オシロ

Arduinoを使った簡易オシロ

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のA5ピンを測定したい物と繋
 ぐと、その波形が表示されます。

1
nichiconのアイコン画像
独学で電子工作とプログラミングをしている大学生です。PICやArduino、ESPなどを使っています。Twitter(@_electro_master)もやってます。作る際は自己責任でお願いします。
  • nichicon さんが 2021/01/15 に 編集 をしました。 (メッセージ: 初版)
  • Opening
    3duilabのアイコン画像 3duilab 2021/01/16

    高校生でこれは凄い、将来が楽しみ😄動画で見たいです

    nichiconのアイコン画像 nichicon 2021/01/17

    ありがとうございます。
    動画も撮ったのですが載せ方が分からないので、代わりに動いているのが分かりやすい写真を載せておきます。
    キャプションを入力できます

    3duilabのアイコン画像 3duilab 2021/01/17

    動画はgifかYouTubeですね、
    改善ポイントとして、座標、時間、トリガー位置など画面の他、
    入力を+ーの差動入力にするとより使いやすくなります。😍🔥
    エンジニアは英語検索が必須なので英語もがんばって👍

    nichiconのアイコン画像 nichicon 2021/01/17

    gifが使えるんですね。
    Y座標に電圧を表示するなど、改良していこうと思います。アドバイスありがとうございます。

    3 件の返信が折りたたまれています
  • nichicon さんが 2021/01/25 に 編集 をしました。 (メッセージ: 目盛りを追加して見やすくしました。)
  • nichicon さんが 2021/01/25 に 編集 をしました。
  • nichicon さんが 2021/02/22 に 編集 をしました。
  • nichicon さんが 2021/02/27 に 編集 をしました。
  • nichicon さんが 2021/12/09 に 編集 をしました。
ログインしてコメントを投稿する