今回は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);
}