Arduino的入门与精深.ppt
《Arduino的入门与精深.ppt》由会员分享,可在线阅读,更多相关《Arduino的入门与精深.ppt(15页珍藏版)》请在装配图网上搜索。
Arduino的入门与精深,主讲人:孙鹏队员:吴斌李文柏,一Arduino的应用市场,二如何开始使用你的Arduinokit,三Arduino的入门与精深,一Arduino的应用市场,便宜和其他平台相比。arduino板是相当便宜。最便宜的arduino课可以自己动手制作,即使组装好的成品,也不会超过200元。跨平台arduino软件在window,MacintoshOSX和Linux平台上均可以操作,大部分其他的单片机只能运行在window操作系统下。简易的操作环境初学者很容易就能学会arduino的编程环境,同时它还能为高级用户提供高级运用。对于老师们来讲,一般都很容易运用processing编程环境,如果学生使用processing编程环境的话,也很容易熟悉。软件开源并可拓展arduino软件是开源的,对于有经验的程序员是可以拓展的。arduino编程语言可以通过c+库进行拓展。如果有人想要去了解技术上的细节,可以通过arduino语言直接使用AVRc语言(因为arduino语言是机基于AVRc语言的)。类似,如果你有需要的话,也可以再arduino中写入AVRc语言。硬件开源并可拓展arduino板是基于ateml的atmelga8和atmelga128/328的单片机。arduino是基于creativeCommons许可协议。所以有经验的设计师根据需求设计自己的模块,可以对其进行拓展和改造。甚至对于一些相对没有经验的用户,也可以通过制作实验板来理解arduino是如何工作的,省钱又省事。,arduino的起源,MassimoBanzi之前是意大利Ivrea一家高科技设计学校的老师。他的学生们经常抱怨找不到便宜好用的微控制器。2005年冬天,MassimoBanzi跟DavidCuartielles讨论了这个问题。DavidCuartielles是一个西班牙籍晶片工程师,当时在这所学校做访问学者。两人决定设计自己的电路板,并引入了Banzi的学生DavidMellis为电路板设计编程语言。两天以后,DavidMellis就写出了程式码。又过了三天,电路板就完工了。这块电路板被命名为Arduino。,各种arduino型号,ArduinoNanoArduinoGSMShieldFrontArduinoUnoArduinoEthernetShield,二如何开始使用你的Arduinokit,arduino的配置:arduino是基于AVR平台,对AVR库进行二次封装编译,把端口都打包好了。神马寄存器呀,地址指针呀,都不用写。大大降低软件开发难度,适合非专业爱好者使用。优点和缺点并存,因为是二次开发,所以代码执行不如AVR代码精练,代码执行效率和代码体积都弱于AVR直接编译。基本性能配置:dititali/o数字输入/输出端口0-13.anglogi/o模拟输入/输出端口0-5.支持ICP下载,支持tx/rx.输入电压:支持3.3v/5v输出。处理器:支持atmelatmegal168/328处理器,因为支持者众多,已有公司开发出32位的mcu支持arduino。,arduino的开发环境介绍,Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用Arduino编程语言(基于Wiring)和Arduino开发环境(基于Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信(比如Flash,Processing,MaxMSP)来实现。Arduino是一个基于开放原始码的软硬件平台,构建于开放原始码simpleI/O介面版,并且具有使用类似Java、C语y言Processing/Wiring开发环境。可以快速使用Arduino与AdobeFlash,Processing,Max/MSP,PureData,SuperCollider等软件结合,作出互动作品。Arduino可以使用现有的电子元件例如开关或者传感器或者其他控制器件、LED、步进马达或其他输出装置。Arduino也可以独立运行,并与软件进行交互,例如:MacromediaFlash,Processing,Max/MSP,PureData,VVVV或其他互动软件。Arduino的IDE界面基于开放源代码,可以免费下载使用,开发出更多令人惊艳的互动作品。,三Arduino的入门与精深,开始运行你的你的Arduinokit一个简单的程序让读取模拟端口ao的值并用串口发送voidsetup()Serial.begin(9600);/串口波特率9.6kb/d0-tx/d1-rxvoidloop()intsensorValue=analogRead(A0);/读取a0值(0-1023)Serial.println(sensorValue);/串口发送数据delay(1);/延时注:arduino由初始化函数setup()与循环函数loop组成。,串口控制输出,voidsetup()Serial.begin(9600);for(intthisPin=2;thisPin0)/如果串口收到信息intinByte=Serial.read();switch(inByte)casea:/接受a,将d2置高digitalWrite(2,HIGH);break;caseb:digitalWrite(3,HIGH);/接受b,将d3置高break;,casec:digitalWrite(4,HIGH);/接受c,将d4置高break;cased:digitalWrite(5,HIGH);/接受d,将d5置高break;casee:digitalWrite(6,HIGH);/接受e,将d6置高break;default:/turnalltheLEDsoff:for(intthisPin=2;thisPin7;thisPin+)digitalWrite(thisPin,LOW);/其他情况就将d2-d7均置低,局域网控制LED灯,核心代码:voidloop()wordpos=ether.packetLoop(ether.packetReceive();if(pos)if(strstr(char*)Ethernet:buffer+pos,GET/led_off.png)!=0)send_png_image(led_off,sizeof(led_off);elseif(strstr(char*)Ethernet:buffer+pos,GET/led_on.png)!=0)send_png_image(led_on,sizeof(led_on);elseif(strstr(char*)Ethernet:buffer+pos,GET/?LED1)!=0)led1Status=!led1Status;digitalWrite(LED1PIN,led1Status);if(strstr(char*)Ethernet:buffer+pos,GET/?LED2)!=0)网页中LED图标led2Status=!led2Status;digitalWrite(LED2PIN,led2Status);BufferFillerbfill=ether.tcpOffset();bfill.emit_p(PSTR(HTTP/1.0200OKrnContent-Type:text/htmlrnPragma:no-cachernrnWebLedsToggleleds:);if(led1Status)bfill.emit_p(PSTR();elsebfill.emit_p(PSTR();if(led2Status)bfill.emit_p(PSTR();elsebfill.emit_p(PSTR();bfill.emit_p(PSTR();ether.httpServerReply(bfill.position();,让你的arduino连入物联网yeelink物联网平台,乐为联网云数据平台,美国托管网站ghtibpin平台,小节:,通过一周对arduino的学习,我们意识到虽然arduino的开源软硬件都很多,在消费类电子市场占有很大比例,但对于资深工程师来说,arduino只是AVR的入门硬件,在精密电子仪器,中高端设备中有明显的不足。对学习嵌入式,物联网方面有一定的辅助作用。,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Arduino 入门 精深
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文