工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Nokia 5110LCDのDIYシンプル20kHzArduinoオシロスコープ

コンポーネントと消耗品

>
Arduino Nano R3
× 1
Nokia 5110 LCDディスプレイ(PCD8544)
× 1
抵抗10kオーム
× 4
抵抗4.75kオーム
× 1
抵抗330オーム
× 1
押しボタンスイッチ、モーメンタリ
× 4

必要なツールとマシン

>
はんだごて(汎用)
はんだワイヤー、鉛フリー

アプリとオンラインサービス

>
Arduino IDE

このプロジェクトについて

今回は、簡単なArduinoオシロスコープの作り方を紹介します。オシロスコープが表示できる最大信号周波数は20kHzで、最大入力電圧は分圧器なしで5Vです。

オシロスコープは4つのボタンで制御されます:

-「HOLD」ボタン-画面の現在の状態をフリーズするのに役立ちます

-同期レベルを設定できる同期ボタン。

-そして、スイープ、同期レベルを制御し、ホールドモードで信号画像を移動するボタン「+」と「-」。

Nokia 5110画面では、垂直方向の各セルは1 V、水平方向の1つのセルはスキャン解像度に等しく、0.1、0.2、0.5、1.0、2.0、5.0、10.0、20.0、および50.0ミリ秒の(次の)値があります。 。スイープ値は、左上隅に表示される「+」ボタンと「-」ボタンで変更されます。トリガーレベルは画面の左側に小さなバーとして表示され、トリガー電圧は画面の右上隅に表示されます。このプロジェクトは、詳細を読むことができるarduino.ruページで公開されています。

<図>

このデバイスは構築が非常に簡単で、わずかなコンポーネントで構成されています-ArduinoNanoマイクロコントローラー

-Nokia N5110LCDディスプレイ

-4つのボタン

-4つのプルダウン抵抗

-入力ジャック

-そして電源スイッチとLED

正弦波および長方形の信号発生器を使用してオシロスコープをテストしました。専門的または非常に使いやすい機器ではありませんが、教育目的や実験室で、特にデバイスの製造が非常に簡単で非常に安価であることを知っている低周波信号のテストに使用できます。

最後に、デバイスはPVC製の適切なボックスに入れられ、粘着性の壁紙でコーティングされます。

コード

  • Arduinoコード
Arduinoコード C / C ++
 #include  #include  #include  Adafruit_PCD8544 display =Adafruit_PCD8544(7、6、5、4、3); // CLK、DIN、DC、CE、 RST |||| VCC +3.3 V、BL ++ 200 OM ++ 3.3 V int izm、x、y、u、i2、zz、hold、h0、h1、h2、raz =0、menu、sss =512、u_dig、data [168 ] {}; unsigned long time、times; float per; byte i; void setup(){Serial.begin(9600); display.begin(); display.clearDisplay(); display.display(); display.setContrast(40); //コントラスト設定display.setTextSize(1); //フォントサイズを設定しますdisplay.setTextColor(BLACK); //テキストの色を設定しますpinMode(10、INPUT); // + pinMode(11、INPUT); // --pinMode(12、INPUT); // pinMode(13、INPUT);を保持します//синхADMUX=0b01000000; // 0B010000010ビットA0 // 0B011000008ビットA0ADCSRA =0b11110010; // CLK / 4; analogWrite(9、127); // PWM 9 OUTPUT} void loop(){///////////////////////////ボタンコントロール////////// //////////////////// if(menu ==0){if(digitalRead(10)==HIGH){if(hold ==0){raz ++;} if(hold ==1){i2 =i2 + 1;} delay(100);} if(digitalRead(11)==HIGH){if(hold ==0){raz-;} if(hold ==1 &&hold> 0){i2 =i2-1;} delay(100);}} if(digitalRead(12)==HIGH){hold ++; i2 =0; delay(100);} if(digitalRead(13)==HIGH){menu ++; delay(100);} if(hold> 1){hold =0;} if(menu> 1 || menu <0){menu =0;} if(raz <=0){raz =0;} if(raz> 8){raz =8;} if(menu ==1){hold =0; if(digitalRead(10)==HIGH){sss + =24; delay(100);} if(digitalRead(11)==HIGH){sss- =24; delay(100);} if(sss> 1023){ sss =1023;} if(sss <0){sss =0;}} display.setCursor(0,0); //カーソル位置の設定/////////////////////////ジェネレーターによって調整されたスイープ時間/////////////// ///////////// if(raz ==0){zz =1; h2 =2; per =0.1;} if(raz ==1){zz =1; h2 =1; per =0.2;} if(raz ==2){zz =12; h2 =1; per =0.5;} if(raz ==3){zz =32; h2 =1; per =1;} if(raz ==4){zz =75; h2 =1; per =2;} if(raz ==5){zz =200; h2 =1; per =5;} if(raz ==6){zz =380; h2 =1; per =10;} if(raz ==7){zz =750; h2 =1; per =20;} if(raz ==8){zz =1900; h2 =1; per =50;} //////////////////////////////////////////////// /////////////////// if(hold ==0 &&millis()-time> 0){ads(); while(izm  5000){break;}} h0 =0; //同期回=micros(); while(i <167){i ++; delayMicroseconds(zz); ads(); data [i] =izm; // MEASUREMENT10ビット} i =0; times =micros()-times; Serial.println(times); } ////////////////////出力オンディスプレイ////////////////////////// ///// if(millis()-time> 100){display.clearDisplay(); if(sss <204 &&sss> 100){u_dig =10; display.setCursor(0,40); display.print( "0.4V");} else if(sss <100){u_dig =5; display.setCursor(0,40); display.print( "0.2V");} else {u_dig =25;} display.setCursor(0,0); while(i <167){i ++; setka(); display.drawLine(i * h2-i2、47-data [i] / u_dig、i * h2-i2 + h2-1、47-data [i + 1] / u_dig、BLACK);} i =0; display.print(per、1); display.print( "mS"); if(menu ==0){if(hold ==1){display.print( "HOLD");} else {display.print( "AUTO");}} if(menu ==1){display.print (sss / 200.0,1); display.print( "V");} if(menu ==1){display.drawLine(0、48-sss / u_dig、4、48-sss / u_dig、BLACK);} time =millis();} display.display(); } // loop void ads(){//////// 10ビット/////////// do {ADCSRA | =(1 < 

回路図


製造プロセス

  1. スマートブラインド
  2. Arduinoを搭載したシンプルな障害物センサー
  3. ArduinoとNokia5110ディスプレイを備えたDIY電圧計
  4. 128x64LCDディスプレイ上のDIY10Hz-50kHzオシロスコープ
  5. ロータリーエンコーダー付きDIYシンプル測定ホイール
  6. シンプルなArduinoクロノメーター
  7. DIYシンプルオートレンジ静電容量計(10pF-10000microF)
  8. AI LCDフレンド!
  9. ジェスチャー制御ロック
  10. Arduino用の絶縁アナログ入力
  11. DS1302RTCを備えたシンプルな目覚まし時計