从Arduino开始——狗子(I)

 

狗子系列的文章半年前在QQ空间里发过,这里略改后直接引用,错误较多,不过目的在于记录自己的成长过程,没有原则性错误就不做修改了。

尽管之前已经构思了一下,然而真正开始码字的时候却不知道如何下手,那就先扯扯其他的。

“狗子”是一个基于arduino的蓝牙操控的小叉车,第一个成品,为了参加学校举办的工程赛制作的,为期六周,车体使用激光切割的亚克力板,设计用的是Solidworks。“狗子”得此名是因为在调试的时候发生了各种不可名状的玄学问题,不仅时常offline,且一掉线就unable to connected,我内心OS:“这**的是狗吧!!!”…十个小时之后,“狗子!你倒是理我一下啊!!!”,于是叉车就有名字了。不过最后“狗子”没让咱失望,正式评比的时候还是蛮稳定的。由于赛题是搬运和堆高。所以狗子被分成四个部分:驱动,抓取,升降,蓝牙。后续会分别介绍各个模块。

部件列表:

       arduino板一块

     35r/min 减速电机三个

     舵机两个

     蓝牙板 型号:HC-06

     电机控制模块 型号:TB6612

     蓝牙电机控制模块

    控制及编程软件:

     手机app “走你”

     手机app “蓝牙串口助手”

     Arduino IDE 1.8.5

        这里先简单的介绍一下arduino板,arduino是一款微机,源自意大利。arduino是开源的,任何人都能够生产和出售,但是不能使用arduino的名字。所以在淘宝上能买到很便宜的arduino开发板(大概20元左右),当然买正版的也是可以,但要94元(我因为不太懂买了两块正版的…肉痛)。目前使用下来正版的和盗版的(其实不算盗版,姑且这么说)并没有什么差别。

从Arduino开始——狗子(I)_第1张图片

        然而arduino作用只是在端口(板子黑色的一个个洞)读取或者输入电信号,他的功能是通过外接的硬件实现的。做个比喻,arduino相当于人的脑子,而硬件就是人的肌肉。连接Arduino和硬件的杜邦线(电线)就是神经。这些硬件配件在淘宝上都有卖,很便宜,功能多得让人意想不到,需要实现比较复杂的控制还需要外接芯片。

         arduino的编程软件使用的是ArduinoIDE百度一下就有,也是免费的,目前更新到1.8.5。ArduinoIDE的编程语言类似于C。其IDE自带的很多示例都是写得很好的代码,可以直接引用,网上的博客里也有很多公开代码,直接复制就行。不同于计算机编程,arduino在写码的时候需要考虑到端口问题:

        a.带有“~”符号的端口可以输出脉冲信号,其余不行。(手动注脚1)

        b.0和1两口是串口,最好不要使用。(手动注脚2)

      之后的说说里会介绍到arduino的代码。这里就简单说一下,arduino的函数可以类比C语言,不同的是,它除了唯一主函数loop之外还有一个设置用的函数setup,用于定义变量,分配端口等。每次烧录或者重置之后setup函数会且仅会执行一次,随后会循环执行loop函数,直到断电。 大体格式见。这是一个arduino自带示例,功能是控制小灯闪烁。

   从Arduino开始——狗子(I)_第2张图片

注脚1:后来发现并非如此,arduinoIDE函数封装较好,其中就有直接生成PWM波的函数,自动调用时钟,不占cpu。使用这一方法只能在“~”口输出方波。

注脚2:烧录的时候,USB线被认为是连着串口会冲突,导致烧录错误。

 

                                                                                                                                          ——修改自QQ空间 (2018.1.1)

                                                                                                                                                       2018.7.11  于宿舍213

                                                                                                                                                    

你可能感兴趣的:(Arduino)