清泛IT社区

标题: APP INVENTOR硬件交互学习教程06——硬件参数上报 [打印本页]

作者: mzb2012    时间: 2024-07-03 22:58
标题: APP INVENTOR硬件交互学习教程06——硬件参数上报
本节主要实现硬件参数上报,板子接收到指令,执行后反馈一个状态给APP。
1.界面组件
增加两个标签,一个布局,一个文本输入框
(, 下载次数: 4221)

2.程序逻辑
增加接收处理和显示判断
(, 下载次数: 4142)

3.arduino nano代码


  1. // 引脚定义
  2. const int ledPin1 =  5;// the number of the LED pin
  3. const int ledPin2 =  6;
  4. const int ledPin3 =  3;
  5. const int bluePin =  6;// the number of the LED pin
  6. const int greenPin =  5;
  7. const int redPin =  3;
  8. const int beepPin =  15;
  9. const int relayPin =  14;
  10. const int keyPin1 =  2;
  11. const int keyPin2 =  4;
  12. const int keyPin3 =  7;
  13. const int bluetoothPin = 13;

  14. // 变量定义

  15. int inByte=0;   //接收参数

  16. #define TRUE 1
  17. #define FALSE 0
  18. void setup()
  19. {
  20.   // 配置输出引脚
  21.   pinMode(ledPin1, OUTPUT);
  22.   pinMode(ledPin2, OUTPUT);
  23.   pinMode(ledPin3, OUTPUT);
  24.   pinMode(beepPin, OUTPUT);
  25.   pinMode(relayPin, OUTPUT);
  26.   // 配置输入引脚
  27.   pinMode(keyPin1, INPUT);
  28.   pinMode(keyPin2, INPUT);
  29.   pinMode(keyPin3, INPUT);
  30.   pinMode(bluetoothPin, INPUT);
  31.   // 配置串口
  32.   Serial.begin(9600);

  33. }
  34. void loop() {
  35.   if(Serial.available()) {
  36.   inByte = Serial.read();
  37.   
  38.     if(inByte == 'H'){
  39.       digitalWrite(relayPin, HIGH);
  40.        Serial.print("ON");     
  41.     }
  42.     if(inByte == 'L'){
  43.       digitalWrite(relayPin, LOW);
  44.     Serial.print("OFF");  
  45.     }
  46.    
  47.   } }
复制代码



作者: App Inventor 2     时间: 2024-07-04 10:00





欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/) Powered by Discuz! X3.3