自从入手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连接到喇叭的正,喇叭的负接地即可。

manjao linux下玩转arduino的更多相关文章

  1. Linux下玩转Dota2

    Dota2是一款颇为风靡的即时战略类游戏,去年官方就支持Mac和Linux了,对于习惯Mac和linux平台的孩子们来说,简直感动的泪流满面. 当然,也简直是linux程序猿的福音啊啊! 与Win8. ...

  2. 64位linux下玩32位汇编编程

    利用下假期,打算把linux下的汇编语言给熟悉下,结果是以32位为版本的,只能在办公室的机器上跑了个opensuse的32位版本,家里的suse挂了,无法输入中文.打算再安装下32位系统,今天找到了个 ...

  3. linux下玩转磁盘管理与挂载硬盘

    前言 本文将带来linux下的磁盘管理中的硬盘挂载,Linux操作系统挂载硬盘需要了解的一些知识.这可能是迄今为止介绍的最最最实用的linux硬盘挂载的文章了,比较详细.由于工作原因,平时使用的比较多 ...

  4. linux下 玩转ptrace

    译者序:在开发Hust Online Judge的过程中,查阅了不少资料,关于调试器技术的资料在网上是很少,即便是UNIX编程巨著<UNIX环境高级编程>中,相关内容也不多,直到我在 ht ...

  5. 在linux下玩转usb摄像头

    硬件平台:PC机一台 .usb摄像头 操作系统:Linux3.0.8 交叉编译环境:arm-none-Linux-gnueabi-gcc  4.5.1 调试步骤: 一.linux 内核解压 1.1使用 ...

  6. 最NB的发现 LINUX 下玩teamviewer 命令行设置密码

    cd /opt/teamviewer/tv_bin/ [root@666 tv_bin]# ls desktop script teamviewerd TVGuiSlave.32 xdg-utils ...

  7. [daily][archlinux][game] 几个linux下还不错的游戏

    春节在家放松, 装了几个游戏在archlinux上,玩起来还不错. 假期结束开工了, 玩的时间也会比较少,准备删掉, 记录如下: 1. 0ad 即时战略类, 类似于冷兵器时代的红警. 画面还不错, 可 ...

  8. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  9. .Neter玩转Linux系列之三:Linux下的分区讲解

    基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...

随机推荐

  1. js浮点数加减乘除

    浮点数精确计算 /** ** 加法函数,用来得到精确的加法结果 ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显.这个函数返回较为精确的加法结果. ** 调用:ac ...

  2. SourceTree 跳过登录注册,直接使用

    SourceTree下载安装后,运行程序会要求你登录或注册账号才能使用, 然而登录或注册基本都收不到服务器的响应 (在国外嘛,安全起见),于是卡在此处无法使用了. 下面就来介绍一下跳过这尴尬环节的方法 ...

  3. C++多态实例

    #include <iostream> #include <string> using namespace std; //class 实现 class Employee { s ...

  4. [BZOJ3524]区间问题(主席树)

    Description 给一个长度为n的序列a.1≤a[i]≤n.m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2.如果存在,输出这个数,否则输出0. ...

  5. 51nod 1554 KMP思维题

    题目为中文,因而不再解释题意. 首先遵循如下设定可以有以下几个结论:1,首先谈论下KMP的一个特殊性质:对于某一个特立独行的字符串:例如ABCDEF,在建立有限状态自动机之后,都会有,所有元素的失配边 ...

  6. 用html5文件api实现移动端图片上传&预览效果

    想要用h5在移动端实现图片上传&预览效果,首先要了解html5的文件api相关知识(所有api只列举本功能所需): 1.Blob对象  Blob表示原始二进制数据,Html5的file对象就继 ...

  7. camelot工具进行pdf表格解析重建

    camelot内置生成html文件的方法,但表格数据转化成pandas.dataframe的过程中,丢失了跨行跨列的结构信息,故生成html的表格无跨行跨列结构. 于是我在输出部分选择直接手写html ...

  8. jqgrid postData setGridParam 调用多次时查询条件累加的问题

    var postData = $(gridId).jqGrid("getGridParam", "postData"); $.each(paras, funct ...

  9. [oldboy-django][2深入django]FBV + CBV + 装饰器

    FBV django CBV & FBV - FBV function basic view a. urls 设置 urls(r'^test.html$', views.test) b. vi ...

  10. Unity3D_异步加载场景(进度条)

    创建两个场景:现在的场景“NowScene”,要加载的场景“LoadScene”: “NowScene”如图所示,“LoadScene”任意: 创建脚本“AsyncLoadScene”,复制如下代码, ...