模拟车雨刷器

2015-12-311.5万
AI 快速预览详细 收起
本文介绍了如何使用DFRduino UNO R3、IO传感器扩展板V7.1和DMS-MG90金属9g舵机制作一个简单的模拟车玻璃雨刷器。通过按住按钮实现雨刷效果,适合初学者和STEM教育场景。项目所需硬件包括DFRduino UNO R3、IO传感器扩展板V7.1和DMS-MG90金属9g舵机。最终效果是通过按住按钮实现雨刷器的来回摆动。




diy 模拟车玻璃雨刷器



   多雨季节,将玻璃上的水珠接影响到司机的视线,大家都会发现车前玻璃上都有雨刷器,不怕风不怕雨,可以把雨水清干净。今天就想用舵机和生活中的一些废旧的材料做一个车得雨刷器。感受动手的乐趣,虽然想法比较简单,但是看到单位宝马车都可以根据雨量大小自动调节雨刷的速度,我还在考虑如何来完成这个设计。不过这个案例会不断的改进,争取把自己的想法都实现了。这次这个帖子难为刚入门开始码代码的我了,还是不是时候哦,这次只能先按住按钮才能实现雨刷器的效果。


器材准备:DFRduino UNO R3

IO 传感器扩展板 V7.1

DMS-MG90 金属9g舵机

连线图:
模拟车雨刷器图1模拟车雨刷器图2
舵机接在io扩展板的数字九口上

按键接在数字4口上
  1. #include <Arduino.h>
  2. #include <Wire.h>
  3. #include <Servo.h>
  4. #include <SoftwareSerial.h>
  5. double angle_rad = PI/180.0;
  6. double angle_deg = 180.0/PI;
  7. //double jiaodu;
  8. Servo servo_9;
  9. int jiaodu = 0;
  10. int direct = 1;
  11. void setup(){
  12.     pinMode(4,INPUT);
  13.     servo_9.attach(9);
  14. }
  15. void loop(){
  16.     if(((digitalRead(4))==(1))){
  17.          jiaodu += 3 * direct;
  18.         servo_9.write(jiaodu);        
  19.         if (jiaodu > 180)
  20.         {
  21.             direct *= -1;   
  22.         }
  23.         if (jiaodu < 0) {
  24.            direct *= -1;
  25.         }
  26.     }else{
  27.         servo_9.write(0);
  28.     }
  29.    delay(20);
  30. }
复制代码

被这个程序困扰了好久 在孙大圣的指导下 他帮我完成了设计,不愧是intel的大神 ,在此万分感谢孙大圣的闹心改写、但是之前我的代码 我一直不知道问题出在哪里。大家可以帮忙看看
  1. #include <Arduino.h>
  2. #include <Wire.h>
  3. #include <Servo.h>
  4. #include <SoftwareSerial.h>
  5. double angle_rad = PI/180.0;
  6. double angle_deg = 180.0/PI;
  7. double jiaodu;
  8. Servo servo_9;
  9. void setup(){
  10.     pinMode(4,INPUT);
  11.    
  12. }
  13. void loop(){
  14.    
  15.     jiaodu = 0;
  16.     servo_9.attach(9);
  17.     servo_9.write(jiaodu);
  18.     if(((digitalRead(4))==(1))){
  19.         for(int i=0;i<60;i++)
  20.         {
  21.             servo_9.attach(9);
  22.             servo_9.write(jiaodu);
  23.             jiaodu += 3;
  24.         }
  25. delay(500);
  26.         for(int i=0;i<60;i++)
  27.         {
  28.             servo_9.attach(9);
  29.             servo_9.write(jiaodu);
  30.             jiaodu += -3;
  31.         }
  32.     }else{
  33.         servo_9.attach(9);
  34.         servo_9.write(0);
  35.     }
  36.    
  37. }
复制代码

上面的额这个帖子 有啥问题 大家多多指正 现在也不知道问题出在哪里



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
20060606
20060606
感谢分享
丄帝De咗臂
丄帝De咗臂
你们在聊啥呢,看不懂
qq815076543322
qq815076543322
作者
回复丄帝De咗臂
评论内容
virtualwiz
virtualwiz
评论内容
qq815076543322
qq815076543322
作者
回复virtualwiz
今天晚上就把帖子补上 大家就不用看沙坑了
qq815076543322
qq815076543322
作者
回复virtualwiz
评论内容
iooops
iooops
沙发!!
hnyzcj
hnyzcj
:dizzy:
qq815076543322
qq815076543322
作者
回复hnyzcj
评论内容
- 没有更多了 -