查看: 128|回复: 0

#DFrobot 2018景观园

[复制链接]
       老郭最近迷上了做塔,做完了灯塔,做宝塔,做完了宝塔,看到王老师做的青衣花旦,决定给他们搭个戏台,搭完了戏台,修亭子,修牌楼,修传达室.........作为机电双侠的电侠必须负责任地告诉老郭,围个圈,您终于做了个大园子。
       老郭的宝塔、戏台、亭子、牌楼。  3D作品地址是:https://www.tinkercad.com/things/6TwAZafLP1w-dfrobot2018
截图201901242031234991.png 截图201901242031504508.png 截图201901242033532713.png 截图201901242036259485.png 截图201901242045425646.png 截图201901251222153669.png
       老郭说了,我这么漂亮一座塔,你要给设计个驱鸟器,别让鸟儿在塔顶做窝。给它加上绚丽的灯光吧.............好吧,我呢,决定给它们卖门票          
                       

          circuits设计的要求:

          1.使用超声波传感器和压电蜂鸣器来制作驱鸟器。
          2.使用红外线传感器和舵机配合为景观园做入口和出口的门闸,并统计进门出门的人数,即进入园里的人数。
          3.使用16*2LCD来显示欢迎和园内人数。
          4.使用全彩灯条neopixel来制作灯光,在晚上自动亮起,并能随机的变化灯光的颜色。         

       最后的硬件连接是:
                      截图201901242055139975.png   

      circuits作品地址:https://www.tinkercad.com/things/8mEaISvUxh9-dfrobot2018

       其中第12点设计要求是比较容易实现的,写的时候使用块就可以。
                      截图201901242057328628.png    

       number是园内人数,在第3点设计要求中要用到,需要先将块程序转换为文本程序以便添加第3、4点设计。                     
                         截图201901242104442730.png
      

       下面给大家介绍一下 circuits中16*2LCD全彩灯条neopixel的使用方法。这两个器件在Tinkercad的circuits中没有针对它们使用的块,要使用它们需要在代码中选用文本,调用它们相应的库。下面为大家总结一下16*2LCD全彩灯条neopixel的简易用法。
              
        16*2LCD是UNO中比较常见的输出器件,用的比较成熟,网上关于它的库文件用法也比较多,先介绍一下本例的接法。
                        截图201901242108585383.png
         固定接法:LED(红)串接220欧姆电阻和Vcc--------5v   
                     VO串联1欧姆电阻、GND、RW、LED--------GND         
          DB7-DB4、E、RS在UNO数字接口1-13之间任选6个

        在程序的合适位置加入以下几句:
        
         #include<LiquidCrystal.h>
         LiquidCrystallcd(12, 11, 5, 4, 3, 2);
         voidsetup() {
         lcd.begin(16, 2);
         lcd.print("hello, world!");
          }
         voidloop() {
         lcd.setCursor(0, 1);
         lcd.print(number);
         }

         就可以显示:
                      截图201901242114185896.png
         

        第一句     #include<LiquidCrystal.h>     是16*2LCD要使用的库,程序里有了它相当于带了一个装着LCD会用到的各种资料的包,一般把这句添加在文本程序的第一句。
         
        第二句     LiquidCrystal lcd(12,11, 5, 4, 3, 2);     对LCD的一些端子进行声明,实际填法是   LiquidCrystal lcd(RS, E,DB4, DB5, DB6, DB7);即填入这六个端对应UNO的端,这一句在文本程序中void setup() 之前,#语句之后。
        
        第三句     void setup()    { }中的程序是刚启动会执行的程序。
        
        第四句     lcd.begin(16, 2);     代表了16*2LCD有两行,每行可以写16个字母或数字。
        
        第五、六句     lcd.setCursor(0, 0); lcd.print("hello,world!");      表示在第0行开始写入   hello,  world!   它占了第0行13个字母位置,第四五六句填在文本程序的   void setup() { }中的前面或后面(不要影响  void setup()  中的其他程序)。
        
        第七句     void loop()的含义是要循环执行的程序。
      
        第八、九句     lcd.setCursor(0,1);    lcd.print(2);      含义是在第1行的开始写2,用number代替2就可以表示景观园里的人数。这两句填在文本程序的void loop ()后 { }中的前面或后面(不要影响void loop ()中的其他程序)。
        
        基本上使用这段简单的程序就可以显示想要显示的文字数字。实际上每个表示字母的位又可以成5*8的点阵,在这里就不做介绍了。


                   捕获.PNG 截图201901251213141365.png

        下面是全彩灯条,neopixel一经推出大受欢迎,色彩绚丽明艳。neopixel 可以做成环状,条状,可以在每一节的 out 端继续续接 neo,但需要知道一共用了多少个单独的neopixel,比如本例中环状neopixel中有12个单独的neopixel,out 后的条状用了6个,一共18个
        
        硬件接线: power---UNO 的5v
                          Grand---- Grand
                          in  接某一个UNO的数字输入端或前一节的out。
        
        neopixel 的库是    #include <Adafruit_NeoPixel.h>   
        
        也需neopixel做声明         Adafruit_NeoPixel strip = Adafruit_NeoPixel(18, 8, NEO_GRB + NEO_KHZ800);       实际上就是 Adafruit_NeoPixel 你给灯条起的名 =Adafruit_NeoPixel(条中共多少个, in 接的端子号, 的型号);         
        
        在void setup()    { }中写        strip.begin();  你给灯条起的名 . begin();
      
        void loop()   { }中写 strip.setPixelColor(7, 255, 144, 144);  strip.show();       模拟一下看看那个灯亮了,亮成什么颜色?  实际上就是 strip.setPixelColor(n, red, green, blue);     如果strip.show(); 之前多加一行    strip.setPixelColor(5, 0, 0, 144);   看看又有那个灯亮了,什么颜色,找找规律。
        
         填写(n, red, green, blue)  的时候要注意 n<neo的个数,red, green, blue 的值不能超过255,要在半角输入状态下写,就是输入法是 截图201901272159481671.png 也可以加入各种算法,使它亮的更漂亮。

          让你的全彩条华丽的亮起来吧

         景观园的circuits模拟工作状态视频:

        

          谢谢各位老师!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail