实操任务:角度指示器

qs000595 组合题 共 个子题

主题

角度指示器

器件

LED灯模块2个(分别为LED_A和LED_B)、电位器模块1个、SSD1306 OLED显示屏、步进电机及步进电机驱动器各1个及相应器件(也可使用分立器件结合面包板搭建)。

任务要求

  1. 通过电位器旋转控制步进电机的转动角度和LED灯的亮灭。

  2. 步进电机的转动角度范围:-90~90度。

  3. 将当前电位器的返回值和步进电机的当前角度显示在SSD1306 OLED显示屏上,显示格式为:电位器的返回值 -- 步进电机的当前角度值。

  4. 当电位器旋钮的处于中间位置时,步进电机处于0度位置,LED_A和LED_B均熄灭。

  5. 当电位器返回最大值时,步进电机旋转至90度位置,LED_A闪烁,LED_B熄灭。

  6. 当步进电机由0度旋转至90度时,LED_A由熄灭至最亮,LED_B熄灭。

  7. 当电位器返回最小值时,步进电机旋转至-90度位置,LED_B闪烁,LED_A熄灭。

  8. 当步进电机由0度旋转至-90度时,LED_B由熄灭至最亮,LED_A熄灭。

  9. 步进电机采用梯形加减速控制。

  10. 可在步进电机旋转轴粘贴胶带或其它方式,以便于观察步进电机的转动角度。

  11. 程序采用C代码编写。

  12. 未作规定处可自行处理,无明显与事实违背即可。

  13. 程序编写过程中不得打开库例程和其它程序,如发现,实操成绩按照0分处理。

说明

请考生在实操考试结束前,按如下要求提交程序文件。

  1. 将所有程序文件放在一个文件夹,并将文件夹命名为:DJKS6_身份证号;

  2. 将程序文件压缩为"rar或zip"格式,大小5M以下,1个文件;

  3. 将程序文件通过“上传附件”按钮进行上传。

参考资料

AccelStepper类库头文件和相关类库函数如下,供参考。

头文件:AccelStepper.h

类库对象:AccelStepper(mode, pin1,pin2,pin3,pin4)

成员函数:

setAcceleration(val);     //设置步进电机转动时的加速度。
setMaxSpeed(val);         //设置步进电机转动的最大允许速度。
setSpeed(val);            //设置步进电机恒定转动时的速度值。
runSpeed();               //启动步进电机以设定的速度值恒定转动。
currentPosition();        //返回当前的位置值。
moveTo(val);              //设置步进电机运转的目标位置。
run();                    //启动步进电机按照设定的加速度和最大速度运转。
setCurrentPosition(val);  //设置当前位置为指定值。
distanceToGo(val);        //返回当前位置到目标位置之间的脉冲数。

Ssd1306Console类库头文件和相关类库函数如下,供参考。

头文件:ssd1306.h、ssd1306_console.h

类库对象:Ssd1306Console

部分成员函数:

ssd1306_128x64_i2c_init();                     //初始化SSD1306显示屏。
ssd1306_clearScreen();                         //清除屏幕。
ssd1306_setFixedFont(ssd1306xled_font6x8);     //设置显示的字体为ssd1306xled_font6x8。

子题 填空题

请按上述要求完成实操任务

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧