Arduion上位机

这是周六周天做的arduion上位机:
在这里插入图片描述

把我有的所有传感器也都用上了哈,arduion本来很简单,驱动一般随便安装,一百行就搞定了,arduioon代码:

#include "DHT.h"
#include <Servo.h>
#include <Stepper.h>

Servo myservo;
//DHT11引脚
#define DHTPIN 3    
#define DHTTYPE DHT11
//LED引脚 
#define LED1 6
#define LED2 7
//风扇引脚
#define Fan 2
//蜂鸣器引脚
#define BUZZER 5
//土壤传感器引脚
#define PIN_AO 2
#define PIN_DO 13
  
DHT dht(DHTPIN, DHTTYPE);

int pin=12;//定义数字检测接口pin0
int val;//定义变量
int incomedate = 0;
//土壤湿度换算
float i=0;
float j=0;
void setup() {
   //串口通信
   Serial.begin(9600);
   //初始化舵机的四个INFO
   for (int i = 8; i < 12; i++) {
    pinMode(i, OUTPUT);
  }


//dht11
    dht.begin();
//舵机
     myservo.attach(4, 500, 2500);

  pinMode(LED1,OUTPUT);
  pinMode(LED2,OUTPUT);
  pinMode(Fan,OUTPUT);
   pinMode(BUZZER,OUTPUT);
  digitalWrite(LED1,LOW);
  digitalWrite(LED2,LOW);
  digitalWrite(Fan,LOW);

}
//蜂鸣器发声
void buzzer_Di()
 
  {
 
  digitalWrite(BUZZER,LOW);
 
  delay(200);
 
  digitalWrite(BUZZER,HIGH);
 
  }

void clockwise(int num)
{
  for (int count = 0; count < num; count++)
  {
    for (int i = 8; i < 12; i++)
    {
      digitalWrite(i, HIGH);
      delay(3);
      digitalWrite(i, LOW);
    }
  }
}


void anticlockwise(int num)
{
  for (int count = 0; count < num; count++)
  {
    for (int i = 11; i > 7; i--)
    {
      digitalWrite(i, HIGH);
      delay(3);
      digitalWrite(i, LOW);
    }
  }
}

void loop() {
  //初始化让蜂鸣器不响
  digitalWrite(BUZZER,HIGH);
   val=digitalRead(pin);//读取模拟接口的值

 


    if(Serial.available()) {
     const int val = Serial.parseInt();
     if(val == 250) {
        digitalWrite(LED1,HIGH);
        
        
     } else if(val==240){
        digitalWrite(LED2,HIGH);
         
        
     }else if(val==251){
       digitalWrite(LED1,LOW);
       
      
      
     }else if(val==241){
       digitalWrite(LED2,LOW);
       
     }else if(val==230){
       digitalWrite(Fan,HIGH);

     }else if(val==231){
       digitalWrite(Fan,LOW);
     }else if(val==220){
        myservo.write(0);
     }else if(val==221){
        myservo.write(360);
     }else if(val==210){
        clockwise(512);
     }else if(val==211){
      anticlockwise(512);
     }else if(val==100){
        buzzer_Di();
     }else if(val==101){
          buzzer_Di();
     }
  }
  delay(100);

  
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);


  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

  // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);


  //土壤湿度
  float data=analogRead(PIN_AO);
  i=data/1023;
  j=(1-i)*100;
  //湿度
  Serial.print(h);
  //温度
  Serial.print(t);  
  //土壤湿度
  Serial.print(j);
  //障碍检测
   if(val==1){
    Serial.println(1);
  }else{
    Serial.println(2);
    buzzer_Di();
  }
}

下位机图:
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值