徐州三期 校园全能王-凯伦1号

2017-06-221.2万
AI 快速预览详细 收起
校园全能王-凯伦1号是一款多功能机器人,具备校园引路、快递分发、卫生打扫和除草等功能。硬件包括主控板、按钮、超声波传感器、电机和轮子。通过学习Arduino主板连接和电路连接,可以开发更多应用。适用于校园环境,提高效率和安全性。
校园全能王-凯伦1号

校园多功能机器人



主要功能:校园引路、校园快递和文件分发、校园卫生打扫、除草

徐州三期 校园全能王-凯伦1号图9
我们的团队:“群商众议”队
作品介绍:
智能制造  一专多能
立足现在   面向未来


硬件及连接





徐州三期 校园全能王-凯伦1号图1






制作步骤:

1.电路连接

徐州三期 校园全能王-凯伦1号图3

2.周边包围制作

徐州三期 校园全能王-凯伦1号图4


徐州三期 校园全能王-凯伦1号图5

3.贴纸上色

徐州三期 校园全能王-凯伦1号图6

4.除草机

徐州三期 校园全能王-凯伦1号图7

5.超声波传感器

徐州三期 校园全能王-凯伦1号图8

6.整体展示

徐州三期 校园全能王-凯伦1号图2

代码

boolean __ardublockDigitalRead(int pinNumber)
{
  pinMode(pinNumber, INPUT);
  return digitalRead(pinNumber);
}


void setRomeoMotor(int motorId, int speed)
{
  int speedPin, directionPin;
  if (motorId == 1)
  {
    speedPin = 6;
    directionPin = 7;
  }
  else
  {
    if (motorId == 2)
    {
      speedPin = 5;
      directionPin = 4;
    }
    else
    {
      return;
    }
  }


  if (speed == 0)
  {
    digitalWrite(speedPin, LOW);
  }
  if (speed > 0)
  {
    digitalWrite(directionPin, HIGH);
    analogWrite(speedPin, speed);
  }
  else
  {
    digitalWrite(directionPin, LOW);
    analogWrite(speedPin, -speed);
  }
}
void __ardublockDigitalWrite(int pinNumber, boolean status)
{
  pinMode(pinNumber, OUTPUT);
  digitalWrite(pinNumber, status);
}

int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin)
{
  long duration;
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  digitalWrite(trigPin, LOW);
  digitalWrite(trigPin, HIGH);
  duration = pulseIn(echoPin, LOW);
  duration = duration / 59;
  if ((duration <=0) || (duration > 45000)) return false;
  delay(50);
  return duration;
}


void setup()
{
  pinMode( 7 , OUTPUT);
  pinMode( 6 , OUTPUT);
  pinMode( 5 , OUTPUT);
  pinMode( 4 , OUTPUT);
  digitalWrite(4, LOW);

  digitalWrite(5, LOW);

  digitalWrite(6, LOW);

  digitalWrite(7, LOW);

  pinMode( 8 , OUTPUT );

  pinMode( 12 , INPUT );

  digitalWrite( 8 , HIGH );

  delay(500);

}

void loop()
{
  if (__ardublockDigitalRead(3))
  {
    setRomeoMotor(1, 200);
    setRomeoMotor(2, 200);
    delay( 2000 );
    setRomeoMotor(1, 100);
    setRomeoMotor(2, 200);
    delay( 2000 );
    setRomeoMotor(1, 200);
    setRomeoMotor(2, 200);
    delay( 2000 );
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);
  }
  else
  {
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);
  }
  if (__ardublockDigitalRead(5))
  {
    setRomeoMotor(1, -200);
    setRomeoMotor(2, -200);
    delay( 2000 );
    setRomeoMotor(1, -100);
    setRomeoMotor(2, -200);
    delay( 2000 );
    setRomeoMotor(1, -200);
    setRomeoMotor(2, -200);
    delay( 2000 );
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);
  }
  else
  {
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);
  }
  if (__ardublockDigitalRead(2))
  {
    __ardublockDigitalWrite(8, HIGH);
    delay( 5000 );
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);
  }
  else
  {
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);
  }
  if (( (         ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 8 , 12 ) ) < ( 40 ) ))
  {
    setRomeoMotor(1, 200);
    setRomeoMotor(2, 200);
    setRomeoMotor(1, map (         ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 8 , 12 ) , 3 , 40 , 60 , 255 ) );
    setRomeoMotor(2, map (         ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 8 , 12 ) , 3 , 40 , 60 , 255 ) );
  }
  else
  {
    setRomeoMotor(1, 0);
    setRomeoMotor(2, 0);
  }
}
总结:通过学习,我们了解Arduino的主板连接和电路连接,后期小车还可以开发更多的连接和应用。


4.jpg (142.55 KB, 下载次数: 4129)

校园全能王-凯伦1号 · 校园多功能机器人_image_3.webp

IMG_20170622_145432.jpg (47.34 KB, 下载次数: 4059)

校园全能王-凯伦1号 · 校园多功能机器人_image_6.webp

创作许可协议

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

评论(3)
创客探索者
创客探索者
学习借鉴
三叔
三叔
评论内容
三叔
三叔
评论内容
- 没有更多了 -