日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于arduino的智能防疫消毒机器人源码展示

發布時間:2024/1/1 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于arduino的智能防疫消毒机器人源码展示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

超聲波模塊源碼:

const?int?TrigPin?=?A2;
const?int?EchoPin?=?A3;
float?distance;
void?setup()?{
Serial.begin(9600);
pinMode(TrigPin,?OUTPUT);
pinMode(EchoPin,?INPUT);
Serial.println("Ultrasonic?sensor:");
}
void?loop()?{
digitalWrite(TrigPin,?LOW);
delayMicroseconds(2);
digitalWrite(TrigPin,?HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin,?LOW);
distance?=?pulseIn(EchoPin,?HIGH)?/?58.00;
Serial.print("distance?is?:");
Serial.print(distance);
Serial.print("cm");
Serial.println();
delay(1000);
}

點燈科技小愛同學語音控制源碼:

#define?BLINKER_WIFI
#define?BLINKER_MIOT_OUTLET

#include?<Blinker.h>

int?relayPin?=D1;




bool?oState?=?false;

void?miotPowerState(const?String?&?state)
{
????BLINKER_LOG("need?set?power?state:?",?state);

????if?(state?==?BLINKER_CMD_ON)?{
????????digitalWrite(D1,?HIGH);

????????BlinkerMIOT.powerState("on");
????????BlinkerMIOT.print();

????????oState?=?true;
????????delay(10000);
????}
????else?if?(state?==?BLINKER_CMD_OFF)?{
????????digitalWrite(D1,?LOW);

????????BlinkerMIOT.powerState("off");
????????BlinkerMIOT.print();

????????oState?=?false;
????}
}

void?miotQuery(int32_t?queryCode)
{
????BLINKER_LOG("MIOT?Query?codes:?",?queryCode);

????switch?(queryCode)
????{
????????case?BLINKER_CMD_QUERY_ALL_NUMBER?:
????????????BLINKER_LOG("MIOT?Query?All");
????????????BlinkerMIOT.powerState(oState???"on"?:?"off");
????????????BlinkerMIOT.print();
????????????break;
????????case?BLINKER_CMD_QUERY_POWERSTATE_NUMBER?:
????????????BLINKER_LOG("MIOT?Query?Power?State");
????????????BlinkerMIOT.powerState(oState???"on"?:?"off");
????????????BlinkerMIOT.print();
????????????break;
????????default?:
????????????BlinkerMIOT.powerState(oState???"on"?:?"off");
????????????BlinkerMIOT.print();
????????????break;
????}
}

void?dataRead(const?String?&?data)
{
????BLINKER_LOG("Blinker?readString:?",?data);

????Blinker.vibrate();
????
????uint32_t?BlinkerTime?=?millis();
????
????Blinker.print("millis",?BlinkerTime);
}

void?setup()
{
????Serial.begin(115200);
????BLINKER_DEBUG.stream(Serial);

????pinMode(D1,?OUTPUT);
????digitalWrite(D1,?LOW);

????Blinker.begin(auth,?ssid,?pswd);
????Blinker.attachData(dataRead);
????
????BlinkerMIOT.attachPowerState(miotPowerState);
????BlinkerMIOT.attachQuery(miotQuery);
}

void?loop()
{
????Blinker.run();
}
電機運行源碼:

#include<Arduino.h>
#include<Wire.h>
#include?"Emakefun_MotorDriver.h"

Emakefun_MotorDriver?mMotorDriver?=?Emakefun_MotorDriver(0x60,MOTOR_DRIVER_BOARD_V5);
Emakefun_DCMotor?*DCMotor_1?=?mMotorDriver.getMotor(M1);
Emakefun_DCMotor?*DCMotor_2?=?mMotorDriver.getMotor(M2);

void?setup()
{
??Serial.begin(9600);
??mMotorDriver.begin(50);
}

void?loop()
{
??DCMotor_1->setSpeed(255);
??DCMotor_2->setSpeed(255);
??DCMotor_1->run(FORWARD);
??DCMotor_2->run(FORWARD);
??delay(1000);
??DCMotor_1->run(BACKWARD);
??DCMotor_2->run(BACKWARD);
??delay(1000);;
??DCMotor_1->run(FORWARD);
??DCMotor_2->run(BACKWARD);
??delay(1000);
??DCMotor_1->run(BACKWARD);
??DCMotor_2->run(FORWARD);
??delay(1000);
??DCMotor_1->run(BRAKE);
??DCMotor_2->run(BRAKE);
??delay(1000);
}
#if?(ARDUINO?>=?100)
#include?"PinChangeInt.h"
#include?"Arduino.h"
#else
#include?"WProgram.h"
#endif
#include?<Wire.h>

#include?"Emakefun_MotorDriver.h"
#include?"Emakefun_MS_PWMServoDriver.h"
#if?defined(ARDUINO_SAM_DUE)
#define?WIRE?Wire1
#else
#define?WIRE?Wire
#endif

#if?(MICROSTEPS?==?8)
uint8_t?microstepcurve[]?=?{0,?50,?98,?142,?180,?212,?236,?250,?255};
#elif?(MICROSTEPS?==?16)
uint8_t?microstepcurve[]?=?{0,?25,?50,?74,?98,?120,?141,?162,?180,?197,?212,?225,?236,?244,?250,?253,?255};
#endif

Emakefun_MotorDriver::Emakefun_MotorDriver(uint8_t?addr,?uint8_t?version)?{
??_version?=?version;
??_addr?=?addr;
??_pwm?=?Emakefun_MS_PWMServoDriver(_addr);
}

void?Emakefun_MotorDriver::begin(uint16_t?freq)?{
??//?init?PWM?w/_freq
??WIRE.begin();
??_pwm.begin();
??_freq?=?freq;
??_pwm.setPWMFreq(_freq);??//?This?is?the?maximum?PWM?frequency
??for?(uint8_t?i?=?0;?i?<?16;?i++)
????_pwm.setPWM(i,?0,?0);
}

void?Emakefun_MotorDriver::setPWM(uint8_t?pin,?uint16_t?value)?{
??if?(value?>?4095)?{
????_pwm.setPWM(pin,?4096,?0);
??}?else
????_pwm.setPWM(pin,?0,?value);
}
void?Emakefun_MotorDriver::setPin(uint8_t?pin,?boolean?value)?{
??if?(value?==?LOW)
????_pwm.setPWM(pin,?0,?0);
??else
????_pwm.setPWM(pin,?4096,?0);
}

Emakefun_DCMotor?*Emakefun_MotorDriver::getMotor(uint8_t?num)?{
??if?(num?>?4)?return?NULL;
??num--;
??if?(dcmotors[num].motornum?==?0)?{
????//?not?init'd?yet!
????dcmotors[num].motornum?=?num;
????dcmotors[num].MC?=?this;
????uint8_t?pwm,?in1,?in2;
????if?(num?==?0)?{
??????if?(_version?==?MOTOR_DRIVER_BOARD_V3)?{
????????pwm?=?8;?in2?=?9;?in1?=?10;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V4)?{
????????pwm?=?8;?in1?=?10;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V5)?{
????????in1?=?8;?in2?=?10;
??????}
????}?else?if?(num?==?1)?{
??????if?(_version?==?MOTOR_DRIVER_BOARD_V3)?{
????????pwm?=?13;?in2?=?12;?in1?=?11;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V4)?{
????????pwm?=?13;?in1?=?11;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V5)?{
????????in1?=?11;?in2?=?13;
??????}
????}?else?if?(num?==?2)?{
??????if?(_version?==?MOTOR_DRIVER_BOARD_V3)?{
????????pwm?=?2;?in2?=?3;?in1?=?4;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V4)?{
????????pwm?=?2;?in1?=?4;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V5)?{
????????in1?=?4;?in2?=?2;
??????}
????}?else?if?(num?==?3)?{
??????if?(_version?==?MOTOR_DRIVER_BOARD_V3)?{
????????pwm?=?7;?in2?=?6;?in1?=?5;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V4)?{
????????pwm?=?7;?in1?=?5;
??????}?else?if?(_version?==?MOTOR_DRIVER_BOARD_V5)?{
????????in1?=?5;?in2?=?7;
??????}
????}
????dcmotors[num].PWMpin?=?pwm;
????dcmotors[num].IN1pin?=?in1;
????dcmotors[num].IN2pin?=?in2;
??}

??return?&dcmotors[num];
?

總結

以上是生活随笔為你收集整理的基于arduino的智能防疫消毒机器人源码展示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。