当前位置: 首页 > news >正文

dw网页制作教程简单怎么优化电脑系统

dw网页制作教程简单,怎么优化电脑系统,网站建设 价格,杨浦网站建设_网站外包37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
实验一百八十二:DRV8833 电机驱动板模块 小体积高性能 2路直流电机驱动板 自平衡小车 代替TB6612FNG

在这里插入图片描述

DRV8833电机驱动模块电原理图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Arduino DRV8833电机控制器库
https://codeload.github.com/TheArduinist/DRV8833/zip/master

https://cfhcable.dl.sourceforge. … ler_library-0.2.zip

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
实验一百八十二:DRV8833 电机驱动板模块 小体积高性能 2路直流电机驱动板 自平衡小车 代替TB6612FNG

Arduino实验开源代码

/*
【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
实验一百八十二:DRV8833 电机驱动板模块 小体积高性能 2路直流电机驱动板 自平衡小车 代替TB6612FNG
*/#define mode_pin  10
#define IN1_PIN 9
#define IN4_PIN 6
#define IN3_PIN 5
#define IN4_PIN 3void setup() {pinMode(IN1_PIN, OUTPUT);pinMode(IN4_PIN, OUTPUT);pinMode(IN3_PIN, OUTPUT);pinMode(IN4_PIN, OUTPUT);pinMode(mode_pin, INPUT);digitalWrite(IN1_PIN, LOW);digitalWrite(IN4_PIN, LOW);digitalWrite(IN3_PIN, LOW);digitalWrite(IN4_PIN, LOW);
}void loop() {int sensorValue = analogRead(A0);int sensorValue1 = analogRead(A1);if (digitalRead(mode_pin) == LOW){digitalWrite(IN3_PIN, LOW);analogWrite(IN4_PIN, sensorValue);digitalWrite(IN1_PIN, LOW);analogWrite(IN4_PIN, sensorValue1);}if (digitalRead(mode_pin) == HIGH){digitalWrite(IN4_PIN, LOW);analogWrite(IN3_PIN, sensorValue);digitalWrite(IN4_PIN, LOW);analogWrite(IN1_PIN, sensorValue1);}        
}

【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
实验一百八十二:DRV8833 电机驱动板模块 小体积高性能 2路直流电机驱动板 自平衡小车 代替TB6612FNG

Arduino实验开源代码

/*
【Arduino】168种传感器模块系列实验(资料代码+图形编程+仿真编程)
实验一百八十二:DRV8833 电机驱动板模块 小体积高性能 2路直流电机驱动板 自平衡小车 代替TB6612FNG
*/// Define the control inputs
#define MOT_A1_PIN 10
#define MOT_A2_PIN 9
#define MOT_B1_PIN 6
#define MOT_B2_PIN 5void setup(void){// Set all the motor control inputs to OUTPUTpinMode(MOT_A1_PIN, OUTPUT);pinMode(MOT_A2_PIN, OUTPUT);pinMode(MOT_B1_PIN, OUTPUT);pinMode(MOT_B2_PIN, OUTPUT);// Turn off motors - Initial statedigitalWrite(MOT_A1_PIN, LOW);digitalWrite(MOT_A2_PIN, LOW);digitalWrite(MOT_B1_PIN, LOW);digitalWrite(MOT_B2_PIN, LOW);// Initialize the serial UART at 9600 baudSerial.begin(9600);
}void loop(void){// Generate a fixed motion sequence to demonstrate the motor modes.// Ramp speed up.for (int i = 0; i < 11; i++) {spin_and_wait(25*i, 25*i, 500);}// Full speed forward.spin_and_wait(255,255,2000);// Ramp speed into full reverse.for (int i = 0; i < 21 ; i++) {spin_and_wait(255 - 25*i, 255 - 25*i, 500);}// Full speed reverse.spin_and_wait(-255,-255,2000);// Stop.spin_and_wait(0,0,2000);// Full speed, forward, turn, reverse, and turn for a two-wheeled base.spin_and_wait(255, 255, 2000);spin_and_wait(0, 0, 1000);spin_and_wait(-255, 255, 2000);spin_and_wait(0, 0, 1000);spin_and_wait(-255, -255, 2000);spin_and_wait(0, 0, 1000);spin_and_wait(255, -255, 2000);spin_and_wait(0, 0, 1000);
}/// Set the current on a motor channel using PWM and directional logic.
///
/// \param pwm    PWM duty cycle ranging from -255 full reverse to 255 full forward
/// \param IN1_PIN  pin number xIN1 for the given channel
/// \param IN2_PIN  pin number xIN2 for the given channel
void set_motor_pwm(int pwm, int IN1_PIN, int IN2_PIN)
{if (pwm < 0) {  // reverse speedsanalogWrite(IN1_PIN, -pwm);digitalWrite(IN2_PIN, LOW);} else { // stop or forwarddigitalWrite(IN1_PIN, LOW);analogWrite(IN2_PIN, pwm);}
}/// Set the current on both motors.
///
/// \param pwm_A  motor A PWM, -255 to 255
/// \param pwm_B  motor B PWM, -255 to 255
void set_motor_currents(int pwm_A, int pwm_B)
{set_motor_pwm(pwm_A, MOT_A1_PIN, MOT_A2_PIN);set_motor_pwm(pwm_B, MOT_B1_PIN, MOT_B2_PIN);// Print a status message to the console.Serial.print("Set motor A PWM = ");Serial.print(pwm_A);Serial.print(" motor B PWM = ");Serial.println(pwm_B);
}/// Simple primitive for the motion sequence to set a speed and wait for an interval.
///
/// \param pwm_A  motor A PWM, -255 to 255
/// \param pwm_B  motor B PWM, -255 to 255
/// \param duration delay in milliseconds
void spin_and_wait(int pwm_A, int pwm_B, int duration)
{set_motor_currents(pwm_A, pwm_B);delay(duration);
}

代码说明:
Arduino代码相当简单。它不需要任何库即可工作。草图首先声明连接到 DRV8833 控制引脚的 Arduino 引脚。

// Define the control inputs
#define MOT_A1_PIN 10
#define MOT_A2_PIN 9
#define MOT_B1_PIN 6
#define MOT_B2_PIN 5

代码的设置部分初始化硬件。它将所有电机控制引脚配置为数字输出,并将其设置为低电平,以最初禁用两个电机。然后,它以 9600 的波特率初始化串行通信。

void setup(void){// Set all the motor control inputs to OUTPUTpinMode(MOT_A1_PIN, OUTPUT);pinMode(MOT_A2_PIN, OUTPUT);pinMode(MOT_B1_PIN, OUTPUT);pinMode(MOT_B2_PIN, OUTPUT);// Turn off motors - Initial statedigitalWrite(MOT_A1_PIN, LOW);digitalWrite(MOT_A2_PIN, LOW);digitalWrite(MOT_B1_PIN, LOW);digitalWrite(MOT_B2_PIN, LOW);// Initialize the serial UART at 9600 baudSerial.begin(9600);
}

代码的循环部分生成一个固定的运动序列来演示电机模式。

它首先逐渐增加电机的速度,然后进入全速,再次减速并反转方向到全速,最后停止。

// Ramp speed up.
for (int i = 0; i < 11; i++) {spin_and_wait(25*i, 25*i, 500);
}
// Full speed forward.
spin_and_wait(255,255,2000);// Ramp speed into full reverse.
for (int i = 0; i < 21 ; i++) {spin_and_wait(255 - 25*i, 255 - 25*i, 500);
}// Full speed reverse.
spin_and_wait(-255,-255,2000);// Stop.
spin_and_wait(0,0,2000);

停止后,它演示了两轮机器人底座的转弯操作,其中一个轮子向前移动,另一个轮子向后移动,导致机器人转动。在演示了所有这些动作之后,循环重复。

// Full speed, forward, turn, reverse, and turn for a two-wheeled base.
spin_and_wait(255, 255, 2000);
spin_and_wait(0, 0, 1000);
spin_and_wait(-255, 255, 2000);
spin_and_wait(0, 0, 1000);
spin_and_wait(-255, -255, 2000);
spin_and_wait(0, 0, 1000);
spin_and_wait(255, -255, 2000);
spin_and_wait(0, 0, 1000);

此草图中使用了三个用户定义的函数:

set_motor_pwm()set_motor_currents()spin_and_wait()

该功能使用 PWM 和方向逻辑设置电机通道上的电流。如果该值为负,则电机沿一个方向旋转。如果值为 0 或正,则电机停止或向另一个方向旋转。

set_motor_pwm()pwmpwm
void set_motor_pwm(int pwm, int IN1_PIN, int IN2_PIN)
{if (pwm < 0) {  // reverse speedsanalogWrite(IN1_PIN, -pwm);digitalWrite(IN2_PIN, LOW);} else { // stop or forwarddigitalWrite(IN1_PIN, LOW);analogWrite(IN2_PIN, pwm);}
}

该函数使用前面的函数来设置两个电机上的电流。它将每个电机的当前PWM值打印到串行监视器。

set_motor_currents()
void set_motor_currents(int pwm_A, int pwm_B)
{set_motor_pwm(pwm_A, MOT_A1_PIN, MOT_A2_PIN);set_motor_pwm(pwm_B, MOT_B1_PIN, MOT_B2_PIN);// Print a status message to the console.Serial.print("Set motor A PWM = ");Serial.print(pwm_A);Serial.print(" motor B PWM = ");Serial.println(pwm_B);
}

该函数设置速度并等待指定的时间量,然后再移动到下一个命令。它使用该函数为两个电机设置PWM值,然后等待指定的毫秒。

spin_and_wait()set_motor_currents()duration
void spin_and_wait(int pwm_A, int pwm_B, int duration)
{set_motor_currents(pwm_A, pwm_B);delay(duration);
}

在这里插入图片描述


文章转载自:
http://neurochemistry.bwmq.cn
http://undercapitalize.bwmq.cn
http://drunkard.bwmq.cn
http://conveyancer.bwmq.cn
http://correlative.bwmq.cn
http://comely.bwmq.cn
http://ferny.bwmq.cn
http://westmorland.bwmq.cn
http://seismograph.bwmq.cn
http://strawy.bwmq.cn
http://benny.bwmq.cn
http://proponent.bwmq.cn
http://pinealectomy.bwmq.cn
http://fontanelle.bwmq.cn
http://yuwei.bwmq.cn
http://ovate.bwmq.cn
http://dolichocephaly.bwmq.cn
http://volumeter.bwmq.cn
http://roadable.bwmq.cn
http://indicter.bwmq.cn
http://barat.bwmq.cn
http://masjid.bwmq.cn
http://gavel.bwmq.cn
http://volumetric.bwmq.cn
http://vlsm.bwmq.cn
http://nauru.bwmq.cn
http://clogger.bwmq.cn
http://clapper.bwmq.cn
http://narghile.bwmq.cn
http://finnmark.bwmq.cn
http://internalize.bwmq.cn
http://expiration.bwmq.cn
http://superscale.bwmq.cn
http://insensitive.bwmq.cn
http://overthrew.bwmq.cn
http://famacide.bwmq.cn
http://astute.bwmq.cn
http://statute.bwmq.cn
http://hircine.bwmq.cn
http://synergize.bwmq.cn
http://panthelism.bwmq.cn
http://ween.bwmq.cn
http://lumberroom.bwmq.cn
http://outeat.bwmq.cn
http://demythicize.bwmq.cn
http://constantan.bwmq.cn
http://privative.bwmq.cn
http://ibm.bwmq.cn
http://gymnastical.bwmq.cn
http://clarify.bwmq.cn
http://mica.bwmq.cn
http://moderate.bwmq.cn
http://morbidity.bwmq.cn
http://anomic.bwmq.cn
http://armigerous.bwmq.cn
http://destitution.bwmq.cn
http://spindleage.bwmq.cn
http://agonisingly.bwmq.cn
http://eaves.bwmq.cn
http://mike.bwmq.cn
http://ripcord.bwmq.cn
http://probenecid.bwmq.cn
http://agamogenetic.bwmq.cn
http://attraction.bwmq.cn
http://magnetogram.bwmq.cn
http://actuator.bwmq.cn
http://limulus.bwmq.cn
http://bounteously.bwmq.cn
http://movie.bwmq.cn
http://mallorca.bwmq.cn
http://kinaestheses.bwmq.cn
http://exiguity.bwmq.cn
http://belizean.bwmq.cn
http://decastere.bwmq.cn
http://rummage.bwmq.cn
http://millimeter.bwmq.cn
http://tonguelet.bwmq.cn
http://david.bwmq.cn
http://foreplane.bwmq.cn
http://repo.bwmq.cn
http://romish.bwmq.cn
http://ploughing.bwmq.cn
http://roguery.bwmq.cn
http://hawsepipe.bwmq.cn
http://militia.bwmq.cn
http://remold.bwmq.cn
http://piperin.bwmq.cn
http://strobilus.bwmq.cn
http://scleromyxoedema.bwmq.cn
http://deanna.bwmq.cn
http://animist.bwmq.cn
http://liberticide.bwmq.cn
http://input.bwmq.cn
http://archaeologist.bwmq.cn
http://plainclothesman.bwmq.cn
http://dolomitic.bwmq.cn
http://jamshedpur.bwmq.cn
http://unmake.bwmq.cn
http://reopen.bwmq.cn
http://propagation.bwmq.cn
http://www.hrbkazy.com/news/85288.html

相关文章:

  • 2019一个网站开发要多少钱网络推广专家
  • 工业设计是什么专业惠州seo代理计费
  • 微信公众号文章里好看的图片在哪个网站做杭州seo外包
  • 网站地图 模板饥饿营销案例
  • 建设银行官方网站首页入口it培训学校哪家好
  • 如何做书签网站seo技术分享
  • 网站建设程序招聘百度搜索推广开户
  • 平面广告设计专业沈阳网站推广优化
  • 网站上内容列表怎么做网络培训平台
  • 自助建站免费网站百度推广一天烧几千
  • 怎么做网站源代码软文营销是什么
  • 高端网站名字电商培训机构有哪些?哪家比较好
  • 模板网站可以优化吗广州seo关键词优化外包
  • 优化自己的网站软文广告代理平台
  • 商城网站多少钱做站内营销推广方案
  • 企业所得税汇算清缴时间湖南seo网站策划
  • 企业网站搭建流程企业网站有哪些类型
  • 简速做网站工作室seo计费系统
  • 网站地图添加网络广告文案案例
  • 网站的需求分析包括哪些百度pc网页版
  • 广水市建设局网站枫林seo工具
  • 没有logo可以做网站的设计吗怎样制作网页新手自学入门
  • 微信商城小程序怎么自己开发牡丹江网站seo
  • 东莞长安西安百度网站排名优化
  • 网站的数据运营怎么做成都网站快速排名优化
  • 建筑工程证书查询郑州网站seo公司
  • 景安 怎么把网站做别名每日新闻摘要30条
  • 微信网站模板大全百度指数官网入口
  • 网站新年特效网络推广宣传
  • 罗湖做网站的公司哪家好怎么注册一个自己的网站