“SKU:RB-02S159 模擬鍵盤模塊”的版本間的差異
來自ALSROBOT WiKi
(→?相關(guān)資料) |
(→?example1_Arduino) |
||
第17行: | 第17行: | ||
* 硬件連接 | * 硬件連接 | ||
+ | [[文件:02S15901.png|500px|縮略圖|居中]] | ||
* 示例程序 | * 示例程序 | ||
+ | <pre style='color:blue'> | ||
+ | int adc_key_val[5] ={400,470,560,700,900 }; | ||
+ | int NUM_KEYS = 5; | ||
+ | int adc_key_in; | ||
+ | int key=-1; | ||
+ | int oldkey=-1; | ||
+ | void setup() | ||
+ | { | ||
+ | pinMode(13, OUTPUT); //we'll use the debug LED to output a heartbeat | ||
+ | Serial.begin(9600); // 9600 bps | ||
+ | } | ||
+ | void loop() | ||
+ | { | ||
+ | adc_key_in = analogRead(0); // read the value from the sensor | ||
+ | digitalWrite(13,LOW); | ||
+ | key = get_key(adc_key_in); // convert into key press | ||
+ | //Serial.println(adc_key_in); | ||
+ | if (key != oldkey) // if keypress is detected | ||
+ | { | ||
+ | delay(50); // wait for debounce time | ||
+ | adc_key_in = analogRead(0); // read the value from the sensor | ||
+ | key = get_key(adc_key_in); // convert into key press | ||
+ | if (key != oldkey) | ||
+ | { | ||
+ | oldkey = key; | ||
+ | if (key >=0){ | ||
+ | digitalWrite(13,HIGH); | ||
+ | switch(key) | ||
+ | { | ||
+ | case 0:Serial.println("S1 OK"); | ||
+ | break; | ||
+ | case 1:Serial.println("S2 OK"); | ||
+ | break; | ||
+ | case 2:Serial.println("S3 OK"); | ||
+ | break; | ||
+ | case 3:Serial.println("S4 OK"); | ||
+ | break; | ||
+ | case 4:Serial.println("S5 OK"); | ||
+ | break; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | delay(100); | ||
+ | } | ||
+ | // Convert ADC value to key number | ||
+ | int get_key(unsigned int input) | ||
+ | { | ||
+ | int k; | ||
+ | for (k = 0; k < NUM_KEYS; k++) | ||
+ | { | ||
+ | if (input < adc_key_val[k]) | ||
+ | { | ||
+ | return k; | ||
+ | } | ||
+ | } | ||
+ | if (k >= NUM_KEYS)k = -1; // No valid key pressed | ||
+ | return k; | ||
+ | } | ||
+ | </pre> | ||
* 程序效果 | * 程序效果 | ||
+ | [[文件:02S15902.png|500px|縮略圖|居中]] | ||
===example2_Arduino=== | ===example2_Arduino=== |
2018年9月12日 (三) 16:00的版本
目錄 |
產(chǎn)品概述
產(chǎn)品參數(shù)
基本參數(shù)
電氣性能
使用方法
example1_Arduino
- 主要硬件
- Arduino UNO 控制器
- 傳感器擴展板 V5.0
- 模擬按鍵模塊
- 單頭防插反 3P 傳感器連接線
- USB 數(shù)據(jù)線
- 硬件連接
- 示例程序
int adc_key_val[5] ={400,470,560,700,900 }; int NUM_KEYS = 5; int adc_key_in; int key=-1; int oldkey=-1; void setup() { pinMode(13, OUTPUT); //we'll use the debug LED to output a heartbeat Serial.begin(9600); // 9600 bps } void loop() { adc_key_in = analogRead(0); // read the value from the sensor digitalWrite(13,LOW); key = get_key(adc_key_in); // convert into key press //Serial.println(adc_key_in); if (key != oldkey) // if keypress is detected { delay(50); // wait for debounce time adc_key_in = analogRead(0); // read the value from the sensor key = get_key(adc_key_in); // convert into key press if (key != oldkey) { oldkey = key; if (key >=0){ digitalWrite(13,HIGH); switch(key) { case 0:Serial.println("S1 OK"); break; case 1:Serial.println("S2 OK"); break; case 2:Serial.println("S3 OK"); break; case 3:Serial.println("S4 OK"); break; case 4:Serial.println("S5 OK"); break; } } } } delay(100); } // Convert ADC value to key number int get_key(unsigned int input) { int k; for (k = 0; k < NUM_KEYS; k++) { if (input < adc_key_val[k]) { return k; } } if (k >= NUM_KEYS)k = -1; // No valid key pressed return k; }
- 程序效果
example2_Arduino
- 主要硬件
- Arduino UNO 控制器
- 傳感器擴展板 V5.0
- 模擬按鍵模塊
- 單頭防插反 3P 傳感器連接線
- USB 數(shù)據(jù)線
- 4WD 移動平臺
- APC220 無線數(shù)傳模塊
- MotorDriver Shield 電機驅(qū)動板
- 硬件連接
4WD 小車端接線
模擬按鍵控制端接線
- 示例程序
接收端
發(fā)射端
- 程序效果
- S3 -- 前進
- S2 -- 后退
- S4 -- 左轉(zhuǎn)
- S1 -- 右轉(zhuǎn)
- S5 -- 停止
相關(guān)資料
- 模擬按鍵示例程序下載
鏈接:https://pan.baidu.com/s/1QReHaInd2T2wP7-yzmiSwQ 密碼:g914
- 產(chǎn)品購買鏈接:http://lifestyle201.com/goods-873.html