模拟车雨刷器

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