【電子工作】Arduinoでスペアナ作成物語③ ~完成偏~

今回はArduinoを使ってスペクトラムアナライザを作ってみましたので、配線やプログラムなど参考になれればなと思います!

スペクトラムアナライザとは何かというと、音を特定の周波数ごとに分解してくれる装置です
動作については↓の動画をご覧ください


ここまでの道のりは以下の記事をご覧ください
【電子工作】Arduinoでスペアナ作成物語① ~周波数変換器の動作確認~
【電子工作】Arduinoでスペアナ作成物語② ~シフトレジスタの動作確認~



先人たちの知恵を借りて作りました

参考ブログ:
オーディオ用スペアナ製作
Arduinoで遊ぶブログ
機械系学生によるブログ

〇スペアナの構成
Arduino nano(今回は中華製互換版を使用しました)
MSGEQ7
シフトレジスタ
・LEDバー
・イヤホンジャック
・コンデンサ・抵抗
・ユニバーサル基板

僕が作ったスペアナの特徴は、“見た目が良い”ことです笑
黒を基調として、シフトレジスタやArduinoを前面に配置しました


原理としては、イヤホンジャックからの音声入力を特定の周波数ごとに分解し、
周波数に応じて、LEDを点灯させます

検討しなければならなかったことは
Arduinoの出力ピン数以上のLEDをどうやって制御するかでした

Arduino nanoの出力ピンは最大で20個なので、

シフトレジスタを使って、20個以上のLEDを制御しようと考えました

シフトレジスタは1個につき、最大8個の信号を同時に出力できます
周波数変換器MSGEQ7は、音声入力を7個の周波数帯に変換してくれるので、

制御しなければならない信号の数(=LEDの数)は、7×8=56個

LEDバー1個には10個のLEDが設置されてますが、うち8個のLEDを制御します


それでは、作成したスペアナをご覧ください


裏面が配線カオスな状態になりました
LEDバーをギュウギュウで配置したため、余分なスペースがなく、
はんだ付けが非常に大変でした。。。

電気回路図は手書きですみません!笑
不明点があればコメントください


LED用の抵抗は配置しませんでした(配線が面倒だった…)


無駄に長いプログラムコードですが、一応載せておきます
どなたかの参考になれば嬉しいです

製作中の懸念点は、

Arduinoからの供給電力だけで、全ての電子機器(シフトレジスタ、MSGEQ7、最大56個のLED)が動くのか、

ということでした

結論として、LED56個の同時点灯はできました
Arduinoよ、一体何個まで同時に点灯できるのだ??




次への展開としては、イヤホンジャック入力とマイク入力を選択できる、Bluetooth接続によるワイヤレス接続を考えています

今回の製作で、シフトレジスタ、MSGEQ7の使い方を学ぶことが出来ました

製作1週間、プログラム2日

//MSGEQ7
  #define STROBE 2
  int MSout = A0;
  int MSoutValue1 = 0;
  int MSoutValue2 = 0;
  int MSoutValue = 0;
  int MSoutValue4 = 0;
  int MSoutValue5 = 0;
  int MSoutValue6 = 0;
  int MSoutValue7 = 0;

//シフトレジスタ
  #define SRCLK 3
  #define RCLK 4
  #define SER 5

//定数
  int V1 = 100;
  int V2 = 120;
  int V3 = 140;
  int V4 = 160;
  int V5 = 180;
  int V6 = 200;
  int V7 = 220;
  int V8 = 240;
  

void setup() {
  //Set spectrum Shield pin configurations
  Serial.begin(9600);
  
  pinMode(STROBE, OUTPUT);
  pinMode(MSout, INPUT);  
  pinMode(SRCLK, OUTPUT);
  pinMode(RCLK, OUTPUT);
  pinMode(SER, OUTPUT);

  digitalWrite(STROBE, HIGH);
  
  //Initialize Spectrum Analyzers
  digitalWrite(STROBE, LOW);
  delay(1);
  digitalWrite(STROBE, HIGH);
  delay(1);
  digitalWrite(STROBE, LOW);
  delay(1);
}

void loop() {
  //63Hz
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue1 = analogRead(MSout);
    if (V1 > MSoutValue1){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue1)&&(MSoutValue1 < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue1)&&(MSoutValue1 < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue1)&&(MSoutValue1 < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue1)&&(MSoutValue1 < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue1)&&(MSoutValue1 < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue1)&&(MSoutValue1 < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue1)&&(MSoutValue1 < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //160Hz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue2 = analogRead(MSout);
    if (V1 > MSoutValue2){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue2)&&(MSoutValue2 < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue2)&&(MSoutValue2 < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue2)&&(MSoutValue2 < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue2)&&(MSoutValue2 < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue2)&&(MSoutValue2 < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue2)&&(MSoutValue2 < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue2)&&(MSoutValue2 < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //400Hz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue = analogRead(MSout);
    if (V1 > MSoutValue){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue)&&(MSoutValue < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue)&&(MSoutValue < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue)&&(MSoutValue < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue)&&(MSoutValue < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue)&&(MSoutValue < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue)&&(MSoutValue < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue)&&(MSoutValue < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //1kHz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue = analogRead(MSout);
    if (V1 > MSoutValue){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue)&&(MSoutValue < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue)&&(MSoutValue < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue)&&(MSoutValue < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue)&&(MSoutValue < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue)&&(MSoutValue < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue)&&(MSoutValue < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue)&&(MSoutValue < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //2.5kHz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue = analogRead(MSout);
    if (V1 > MSoutValue){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue)&&(MSoutValue < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue)&&(MSoutValue < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue)&&(MSoutValue < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue)&&(MSoutValue < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue)&&(MSoutValue < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue)&&(MSoutValue < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue)&&(MSoutValue < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //6.25kHz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue = analogRead(MSout);
    if (V1 > MSoutValue){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue)&&(MSoutValue < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue)&&(MSoutValue < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue)&&(MSoutValue < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue)&&(MSoutValue < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue)&&(MSoutValue < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue)&&(MSoutValue < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue)&&(MSoutValue < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //16kHz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue = analogRead(MSout);
    if (V1 > MSoutValue){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue)&&(MSoutValue < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue)&&(MSoutValue < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue)&&(MSoutValue < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue)&&(MSoutValue < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue)&&(MSoutValue < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue)&&(MSoutValue < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue)&&(MSoutValue < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //63kHz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue = analogRead(MSout);
    if (V1 > MSoutValue){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue)&&(MSoutValue < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue)&&(MSoutValue < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue)&&(MSoutValue < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue)&&(MSoutValue < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue)&&(MSoutValue < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue)&&(MSoutValue < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue)&&(MSoutValue < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
  //160kHz
  delayMicroseconds(50);
  digitalWrite(STROBE, HIGH);
  delayMicroseconds(50);
  digitalWrite(STROBE, LOW);
  MSoutValue = analogRead(MSout);
    if (V1 > MSoutValue){
      //led1 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V1 <= MSoutValue)&&(MSoutValue < V2)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V2 <= MSoutValue)&&(MSoutValue < V3)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V3 <= MSoutValue)&&(MSoutValue < V4)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V4 <= MSoutValue)&&(MSoutValue < V5)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V5 <= MSoutValue)&&(MSoutValue < V6)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V6 <= MSoutValue)&&(MSoutValue < V7)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else if ((V7 <= MSoutValue)&&(MSoutValue < V8)) {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, LOW);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
    else {
      //led1 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led2 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led3 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led4 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led5 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led6 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led7 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
      //led8 命令
      digitalWrite(SER, HIGH);
      digitalWrite(SRCLK, LOW);
      digitalWrite(SRCLK, HIGH);
    }
digitalWrite(RCLK, LOW);
digitalWrite(RCLK, HIGH);
delay(1);
}

返信を残す

メールアドレスが公開されることはありません。