• manjao linux下玩转arduino


    自从入手arduinon差不多半个月了,在window下几乎没有任何问题,下载,编程,编译,上传,运行。几乎没有任何问题。在linux编译成功,上传时下却总是提示找不到libncurses.so.5无法载入等错误信息,经过各种查找资料,终于搞定了。步骤如下:

    (1)首先,由于我的系统永远是最新的,libncurses是6.0版本的,要找到libncures5版本的,终于在一台较老的chakra linux中找到了;分别拷贝到/usr/lib/和/usr/lib32/目录中,其中lib和lib64是一样的,lib32的32位的库目录

    (2)接着,创建连接文件

    cd /usr/lib/ 

    ln -s libncurses.so.5 libtinfo.so.5

    cd ../lib32/

    ln -s libncurses.so.5 libtinfo.so.5

    (3)最后就可以编译成功了。下面分享一个西游记中女儿情的程序:

    软件部分:

    #define NOTE_D0 -1
    #define NOTE_D1 350
    #define NOTE_D2 393
    #define NOTE_D3 441
    #define NOTE_D4 495
    #define NOTE_D5 556
    #define NOTE_D6 624
    #define NOTE_D7 661


    #define NOTE_DL1 175
    #define NOTE_DL2 196
    #define NOTE_DL3 221
    #define NOTE_DL4 234
    #define NOTE_DL5 262
    #define NOTE_DL6 294
    #define NOTE_DL7 330


    #define NOTE_DH1 700
    #define NOTE_DH2 786
    #define NOTE_DH3 882
    #define NOTE_DH4 935
    #define NOTE_DH5 1049
    #define NOTE_DH6 1178
    #define NOTE_DH7 1322


    #define WHOLE 1
    #define HALF 0.5
    #define QUARTER 0.25
    #define EIGHTH 0.125
    #define SIXTEENTH 0.0625


    int tune[] = {
      NOTE_D0,NOTE_DL5,NOTE_DL6,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_DL7,NOTE_DL6,NOTE_DL7,NOTE_DL5,NOTE_DL6,
      //1,0.5,0.5,1.5,0.5,0.75,0.25,0.25,0.25,0.5,2,
      NOTE_DL6,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_D4,NOTE_D3,
      //1,0.5,0.5,1.5,0.5,0.5,0.5,0.25,0.25,0.5,2,
      NOTE_D3,NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D5,NOTE_D6,NOTE_DL6,NOTE_D3,NOTE_D2,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_DL5,NOTE_DL6,NOTE_DL7,NOTE_D3,NOTE_DL6,NOTE_DL6,NOTE_D1,NOTE_D1,
      //1,0.5,0.5,1.5,0.5,1,0.5,0.5,1.5,0.5,1,1,1.5,0.5,0.5,1,0.5,0.5,1.5,2,
      NOTE_D0,NOTE_D5,NOTE_D5,NOTE_D6,NOTE_DH1,NOTE_D7,NOTE_D6,NOTE_D5,NOTE_D6,NOTE_D6
      //0.5,0.5,0.5,0.5,0.5,1,0.25,0.25,2,2,
      NOTE_D0,NOTE_D5,NOTE_D5,NOTE_D6,NOTE_DH1,NOTE_D7,NOTE_D6,NOTE_D5,NOTE_D3,
      //0.5,0.5,0.5,0.5,0.5,1,0.25,0.25,2,
      NOTE_D3,NOTE_DL5,NOTE_DL6,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_DL7,NOTE_DL6,NOTE_DL7,NOTE_DL5,NOTE_DL6,
      //1,0.5,0.5,1.5,0.5,0.75,0.25,0.25,0.25,0.5,2,
      NOTE_DL6,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D1,NOTE_D2,NOTE_D3,NOTE_D4,NOTE_D3,
      //1,0.5,0.5,1.5,0.5,0.5,0.5,0.25,0.25,0.5,2,
      NOTE_D3,NOTE_D3,NOTE_D5,NOTE_D6,NOTE_D5,NOTE_D6,NOTE_DL6,NOTE_D3,NOTE_D2,NOTE_D1,
      //1,0.5,0.5,1.5,0.5,1,0.5,0.5,1.5,0.5,
      NOTE_D2,NOTE_D3,NOTE_DL5,NOTE_DL6,NOTE_DL7,NOTE_D3,NOTE_DL6,NOTE_DL6,NOTE_D1,NOTE_D1,
      //1,1,1.5,0.5,0.5,1,0.5,0.5,1.5,2,
    };


    float duration[] = {
      1,0.5,0.5,1.5,0.5,0.75,0.25,0.25,0.25,0.5,2,
      1,0.5,0.5,1.5,0.5,0.5,0.5,0.25,0.25,0.5,2,
      1,0.5,0.5,1.5,0.5,1,0.5,0.5,1.5,0.5,1,1,1.5,0.5,0.5,1,0.5,0.5,1.5,2,
      0.5,0.5,0.5,0.5,0.5,1,0.25,0.25,2,2,
      0.5,0.5,0.5,0.5,0.5,1,0.25,0.25,2,
      1,0.5,0.5,1.5,0.5,0.75,0.25,0.25,0.25,0.5,2,
      1,0.5,0.5,1.5,0.5,0.5,0.5,0.25,0.25,0.5,2,
      1,0.5,0.5,1.5,0.5,1,0.5,0.5,1.5,0.5,
      1,1,1.5,0.5,0.5,1,0.5,0.5,1.5,2,
    };


      int length;
      int tonePin = 5;
    void setup() {
      // put your setup code here, to run once:
      pinMode(tonePin, OUTPUT);
      length = sizeof(tune) / sizeof(tune[0]);
    }

    硬件连接非常简单,只要将数字接口5连接到喇叭的正,喇叭的负接地即可。

  • 相关阅读:
    MSSQL 事务说明
    创业课堂之团队
    如何开发HTML编辑器
    IE和Firefox对Documnet,iframe的处理
    jQuery控制iFrame
    如何更高效的制作可通用的HTML页面
    天下武功,无坚不破,唯快不破
    Flash本地通讯
    播放本地MP3 (二)
    播放本地MP3 (一)
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/6823143.html
Copyright © 2020-2023  润新知