创客电子:Arduino和Raspberry Pi智能制作项目精选.pdf 作者-[英]Simon Monk120页
内容简介:
本书主要介绍使用Arduino和Raspberry Pi控制身边的小物件,让其能够感知声、光,并控制它的动作。全书在讲述了基本知识的基础上,介绍了多个有趣的制作项目,图文步骤,让读者可以一步步跟着制作出来,通过实践进行学习。制作项目包括,用Arduino制作一个自动浇水器,设计一个LED交通信号灯,用Raspberry Pi制作会跳舞的小玩偶,等等。
目录菜单:
封面,扉页,版权信息,内容提要,1 简介,Arduino和Pi,小结,2 Arduino,什么是Arduino?,安装Arduino IDE,上传程序,本书代码,编程指南,小结,3 Raspberry Pi,什么是Raspberry Pi?,设置你的Raspberry Pi,Linux命令行,本书代码,编程指南,小结,4 快速入门,免焊面包板,下载软件,实验:控制一个LED,Arduino连接器,实验:控制一个电机,小结,5 电子技术基础,电流,电压,电阻,功率,通用器件,连接的输入和输出,小结,6 LEDs,常规LEDs,电流限制,项目:交通信号灯,PWM和LED,RGB LEDs,实验:混合颜色,小结,7 电机、水泵和执行器,控制速度(PWM),实验:控制直流电机的速度,使用继电器控制直流电机,实验:使用继电器模块控制直流电机,选择一个电机,水泵,项目:Arduino控制的家用植物浇水器,直线电机,电磁铁,小结,8 先进的电机控制,H桥,单片式H桥,实验:控制电机的旋转方向和速度,其他H桥集成电路,H桥模块,项目:Arduino饮料罐挤压器,小结,9 伺服电机,伺服电机,实验:控制一个伺服电机的位置,项目:舞动的Raspberry Pi木偶Pepe,小结,10 步进电机,步进电机,双极步进电机,实验:双极步进电机的控制,单极步进电机,达林顿阵列,实验:控制单极步进电机,软件,微步进,实验:基于Raspberry Pi的微步进,小结,11 加热和冷却,电阻加热器,实验:电阻加热,项目:Arduino气球随机爆破器,加热元件,功率和能量,从功率到温度的增加,帕尔帖元件,项目:饮料冷却器,小结,12 控制回路,简朴的恒温器,实验:恒温器的控制好到什么程度?,磁滞,PID控制,实验:PID恒温控制,项目:恒温饮料冷却器,小结,13 控制交流电,交流开关理论,交流电切换的实践,项目:Raspberry Pi定时器开关,小结,14 显示器,LED线条灯,实验:控制RGB LED线条灯的显示,I2C OLED显示器,实验:在Raspberry Pi上使用I2C显示模块,项目:向饮料冷却器项目添加显示,小结,15 声音,实验:没有安装放大器的扬声器与Arduino,放大器,实验:在Arduino上播放音频文件,把Arduino连接到放大器上,在Raspberry Pi上播放音频文件,项目:木偶Pepe发声,小结,16 物联网,Raspberry Pi和Bottle,项目:Raspberry Pi Web交换机,Arduino和网络,项目:木偶Twitter通知系统,小结,附录 A Parts,供应商,电阻和电容,半导体,硬件,零散部件,引脚,附录 B Raspberry Pi引脚分配,说明,关于作者
文本摘要:
Make:Action创客电子:Arduino和Raspberry Pi智能制作项目精选[英] Simon Monk 著陈立畅 张佳进 马瑛 陈颖 毕成杰 任雨橦 译人民邮电出版社北京图书在版编目(CIP)数据创客电子:Arduino和Raspberry Pi智能制作项目精选/(英)西蒙.蒙克(Simon Monk)著;陈立畅等译.--北京:人民邮电出版社,2017.10(i创客)ISBN 978-7-115-46660-0Ⅰ.①创… Ⅱ.①西…②陈… Ⅲ.①单片微型计算机—应用—电子器件—制作②软件工具—应用—电子器件—制作 Ⅳ.①TP368.1②TP311.56③TN中国版本图书馆CIP数据核字(2017)第199312号版权声明?2017 year of first publication of the Translation Posts & Telecom Press.Authorized Simplified Chinese translation of Make:Action:Movement,Light,and Sound with Arduino and Raspberry Pi(ISBN 978-1457187797)?2016 Maker Media,Inc.published by O’Reilly Media,Inc.This translation is published and sold by permission of O’Reilly Media,Inc.,which owns or controls all rights to sell the same.本书英文版版权归Maker Media,Inc.所有,由O’Reilly Media,Inc.于2016年出版。简体中文版通过O’Reilly Media,Inc.授权给人民邮电出版社,于2017年出版发行,得到原出版方授权。版权所有,未经书面许可,本书的任何部分不得以任何形式重制。◆著 [英]Simon Monk译 陈立畅 张佳进 马瑛 陈颖 毕成杰 任雨橦责任编辑 魏勇俊责任印制 周昇亮◆人民邮电出版社出版发行 北京市丰台区成寿寺路11号邮编 100164 电子邮件 315@ptpress.com.cn网址 http://www.ptpress.com.cn北京天宇星印刷厂印刷◆开本:880×1230 1/16印张:10.5 2017年10月第1版字数:395千字 2017年10月北京第1次印刷著作权合同登记号 图字:01-2016-10030号定价:79.00元读者服务热线:(010)81055339 印装质量热线:(010)81055316反盗版热线:(010)81055315广告经营许可证:京东工商广登字20170147号内容提要本书主要介绍使用Arduino和Raspberry Pi控制身边的小物件,让其能够感知声、光,并控制它的动作。全书在讲述了基本知识的基础上,介绍了多个有趣的制作项目,图文步骤,让读者可以一步步跟着制作出来,通过实践进行学习。制作项目包括,用Arduino制作一个自动浇水器,设计一个LED交通信号灯,用Raspberry Pi制作会跳舞的小玩偶,等等。1 简介Arduino 和Raspberry Pi使业余电子兴趣者进入电子世界变得简朴。也许你想设置一个DIY的家庭自动化系统,以便于你通过WiFi网络控制家庭的灯光和加热器,或者简朴地控制一些电机的转动。这本书将告诉你如何使用流行的Raspberry Pi和Arduino平台,这样你的Pi和Arduino设备就可以操控运动、光和声音。Arduino和Pi虽然Arduino和Raspberry Pi的体积都很小,其开发板都犹如信用卡一般大小,但是实际上它们是差异性很大的两种设备。Arduino是一种非常简朴的微控制器板,且不能够运行任何操作系统。然而,Raspberry Pi却是一种微型计算机,它可以运行Linux系统并且能够连接外部电子设备。Raspberry Pi对于刚开始接触电子元器件,但是却又能纯熟使用计算机的这类人而言,Raspberry Pi将会是一种比较认识的设备。Raspberry Pi(图1-1)和众多能够运行Linux系统的普通计算机相比,是非常小的一个版本。其拥有USB接口,方便人们连接到键盘和鼠标,同样可以连接到显示器或电视进行HDMI视频输出和音频输出。图1-1 Raspberry Pi 2Raspberry Pi有一个以太网接口可以连接到你的网络,也可以连接USB无线适配器。其电源可以由microUSB插座供应。其以一张microSD卡作为存储,而不是利用传统的磁盘驱动。这张卡里包含操作系统以及所有文档和程序。Raspberry Pi创立于英国,主要作为一种低成本计算机,用来帮助学校的孩子们学习计算机基础知识,尤其是Python编程。实际上,Pi这个词据说是由Python中Py派生而来的。以下几个方面使得Raspberry Pi与运行Linux的普通台式机或笔记本电脑不同。Raspberry Pi的成本只有40美元(一款简装版的Raspberry Pi被称为ModelA+,它只需要较低的价格。还有一种Model zero甚至更便宜)。Raspberry Pi使用低于5W的功率。Raspberry Pi有一排通用输入/输出(GPIO)引脚,允许直接连接电子元件(引脚在图1-1的左上部分。通过这些引脚,你可以控制LED灯、显示器、电机,以及之后在这本书中你会使用到的所有不同类型的输出设备)。此外,Raspberry Pi还可以使用WiFi或LAN电缆连接到Internet,使其适用于物联网项目(第16章)。Raspberry Pi 2(目前为止最新和最好的版本)的规格如下。ARM v7 900 MHz 四核处理器1GB DDR2 内存10.100 BaseT 以太网4个USB 2.0端口HDMI 视频输出相机接口插座40针GPIO接头(所有引脚的工作电压为3.3V)倘若是Raspberry Pi的新手,那么可以使用第3章中的Python编程语言来学习硬件和软件。Arduino有很多不同型号的Arduino可以采用。本书主要讨论最广泛使用和流行的Arduino版本,Arduino Uno(图1-2)。Arduino比Raspberry Pi便宜一点—购买一个Arduino Uno大约需要25美元。图1-2 Arduino Uno修订版3倘若你习惯使用普通计算机,那么Arduino的性能就显得捉襟见肘,其内存只有34KB(各种类型)。这意味着Raspberry Pi的内存是Arduino的三万倍,而且还不包括Raspberry Pi的SD闪存卡。此外,Arduino Uno的处理器时钟频率只有16MHz。Arduino不能连接键盘、鼠标或显示器,也不能运行操作系统。你可能很想知道Arduino实际上可以用作什么。它的使用非常简朴,而且没有需要启动的操作系统甚至是在项目中你根本不需要用到的接口,那些接口只会增加成本和电力消耗。可以说Raspberry Pi是一台通用计算机,而Arduino只需要做好一件事—连接和控制电子元件。倘若要对 Arduino 进行编程,那么你需要一台普通计算机(倘若你愿意的话,你甚至可以使用Raspberry Pi)。在你选择的计算机上,你需要运行集成开发环境(IDE),这允许你编写要下载到Arduino内置闪存的程序。Arduino一次只能运行一个程序,一旦它被编程,它会记住该程序,并在其上电后自动运行该程序。Arduino被设计成可以接受拓展板,其拓展板插在Arduino的输入/输出插座的顶部并且可以添加额外的硬件功能,如各种类型的显示器,以及以太网和Wi Fi适配器。你可以使用C语言对Arduino进行编程(你可以在第2章中找到有关编程和使用Arduino的更多信息)。选择设备:Arduino或Pi本书介绍如何将电子产品连接到Arduino和Raspberry Pi的原因之一是,有些项目更适合于Raspberry Pi,有些则适用于 Arduino。位于这两者之间的其他开发板通常十分类似于Arduino或Raspberry Pi,这些开发板的使用方法也可以参考本书。当开始一个新项目时,通常的经验是默认使用Arduino。但是,倘若项目有以下要求之一,那么Raspberry Pi可能是更好的选择。互联网或网络连接需要一个大屏幕需要附加键盘和鼠标需要USB外围设备,如网络摄像头花费一些功夫和费用,可以对Arduino进行功能扩展,以满意前述的大部分要求。然而,倘若你选择这样做,一切都变得异常困难,因为这些都不是Arduino的原本的特性,这些都是Pi的特性。选择在Raspberry Pi上使用Arduino的理由包括:成本Arduino Uno比Raspberry Pi 2便宜。启动时间Arduino不需要等待操作系统启动。它只存在着一个小的延迟,大约一秒钟,检查是否有新的程序正在下载,然后它开始运行。可靠性Arduino本质上是一个比Raspberry Pi更简朴和更可靠的设备,并且不需要建立在操作系统之上。电能消耗Arduino使用的电量大约只有Raspberry Pi的1/10。倘若你需要使用一个电池或太阳能作为电源,那么Arduino会是一个更好的选择。GPIO输出电流Raspberry Pi的GPIO引脚只能用于提供最大约16 mA的电流。另一方面,Arduino引脚的额定值为40 mA。所以,在某些情况下,你可以直接连接一个东西(如一个明亮的LED)到Arduino,但是不能将其直接连接到Raspberry Pi上。Arduino和Raspberry Pi都是用于项目开发的非常好的设备。并且,选择使用哪个设备在某种程度上也只是个人喜好的问题。在将外部电子器件连接到Raspberry Pi时,必须要牢记它工作电压是3.3V,而不是Arduino的5V。倘若将5V连接到Raspberry Pi的GPIO引脚,可能会损坏GPIO引脚甚至损坏整个Raspberry Pi。备选方案Arduino Uno和Raspberry Pi占据着一系列可用于控制事物的设备的两个极端。正如你所期望的,市场已经产生了许多其他设备,它们处于这两个极端之间,有时试图集两者的长处于一身。新设备一直在层出不穷。Arduino的开源性质导致了它有许多变化,因为设计是因人而异的,如控制无人机或与无线传感器连接。图1-3显示了这一领域中一些最流行设备的传播。图1-3 嵌入式平台在 Arduino Uno下面,Adafruit Trinket是价格和性能的代表。这个有趣的开发板只有几个GPIO引脚,但在其他方面却与Arduino相称。Adafruit Trinket非常适用于只有一个或两个输入或输出的项目。有一类中间产品,包括 Arduino Yun,Intel Edison和Photon,它们都具有内置WiFi功能,旨在用于物联网(IoT)项目(见第16章)。其中,Photon可能最具代表性。所有这三个设备都使用Arduino C编程,因此你了解到的使用Arduino的信息也适用于这些开发板。BeagleBone Black在概念上与Raspberry Pi非常相似。它也是一个单板计算机,从基本的计算性能来看,虽然目前的BeagleBone Black版本已经落后于Raspberry Pi 2,但 BeagleBone Black相比Raspberry Pi确实有一些优势。它有更多的GPIO引脚,还有一些引脚可以充当模仿输入,这是Raspberry Pi 2缺少的一个特性。BeagleBone Black可以使用Python编程,类似于Raspberry Pi或JavaScript编程。小结本章简要介绍了Arduino和Raspberry Pi。我们讨论了这些开发板的长处和缺点,并且还考虑了一些备选方案。接下来的两章将让你开始使用和编程Arduino和Raspberry Pi。倘若你以前使用过Arduino和Raspberry Pi,你可以直接跳到第4章,使用Arduino和Raspberry Pi做一些操作! 倘若需要,你可以随时返回第2章和第3章。2 Arduino本章是Arduino入门书的修改版本,最初作为我的书“The Maker’s Guide to the Zombie Apocalypse from NoStarch Press”的附录出版,并在此获得许可。倘若你是第一次接触Arduino,本章将让你开始了解这个伟大的小开发板。什么是Arduino?Arduino板有各种类型,但迄今为止最常见的和本书项目中常用的是Arduino Uno(见图2-1)。Arduino Uno经历了一些修订。图2-1中所示的Arduino Uno是一个3版本(R3)的开发板(写作时最新的)。让我们用USB接口开始我们的Arduino之旅,它有几个用途:它可以用来为Arduino提供电源,从你的电脑对Arduino进行编程,还有就是作为通信链路。USB插座旁边的红色小按钮是复位按钮。当你按下此键时,Arduino将重新启动并运行安装在其上的程序。图2-1 Arduino Uno沿着Arduino的顶部和底部边缘,有可以连接电子器件的连接插座。在图2-1的顶部可以看到,数字输入与输出端口,上面有0到13之间的数字标识。你可以将开关连接到数字输入端,其将能够判断开关是否被按下。或者,你可以将LED灯连接至数字输出端,并通过改变数字输出端由低电平至高电平来点亮LED灯。事实上,在板上内置有一个LED灯,被称为“L”,其连接至引脚13。在数字I/O引脚下方,有一个电源LED指示灯,用来指示开发板已经通电。ICSP(在线串行编程)接头仅用于Arduino的高级编程并且不需要使用USB连接。绝大多数的Arduino用户永远不会使用ICSP接头。这里值得强调的是ATMega328(Arduino的大脑)。ATMega328是一个微控制器IC(集成电路)。这个芯片存储Arduino将要运行的程序(它包含32 KB的闪存)。在ATMega328下面,有一排标记为A0到A5的模仿输入引脚。数字输入只能指示一些开关量,而模仿输入则可以测量引脚上的电压(只要电压在0到5V之间)。这样的电压可以来自某种类型的传感器。倘若缺少数字输入和输出,那么这些模仿输入引脚也可用作数字输入和输出。安装Arduino IDE在这之后,有一排电源连接器,可以用作为Arduino供电的替代方法。它们还可为你所要连接的其他电子设备供电。Arduino还有一个直流电源插孔。这可以连接直流电压在7V到12V之间的任何设备,并可以使用电压调节器为Arduino提供5V的工作电压。Arduino可以自动从USB接口获取电源或者根据连接的直流连接器获取电源。Arduino并不是如你所预期的计算机一样。它没有操作系统,不需要连接键盘,显示器或者鼠标。它只运行一个程序,并且你需要通过计算机将程序下载到Arduino的闪存内。同时只要你愿意,还可以对Arduino重新编程多次(甚至数千次)。为了对Arduino进行编程,你需要在计算机上安装Arduino IDE。这个软件具有良好的跨平台特性—Arduino IDE可以在Windows,Mac和Linux上运行—这是Arduino IDE非常受欢迎的原因之一。此外,Arduino IDE允许你通过USB连接对Arduino进行编程,并且不需要特别的编程硬件。要为你的平台安装Arduino IDE,请下载软件,然后按照Arduino网站(http://arduino.cc/en/Guide/HomePage)上的说明进行操作。注意,Windows和Mac用户将需要安装USB驱动程序,以便Arduino IDE可以与Arduino本身进行通信。安装完毕并运行Arduino IDE,就会弹出Arduino IDE的窗口,如图2-2所示。按下下载按钮,便可下载程序至Arduino板。在此之前,Arduino IDE会将编程代码编译为Arduino可以执行的代码。倘若存在错误,则会将错误显示在日志区域之中。验证按钮执行的是相同的操作,但没有执行将程序下载至开发板的最后一步。图2-2 Arduino IDE串行监视器按钮可以打开串行监视器窗口,用于与Arduino通信。在本书的许多实验中,你将使用串行监视器,因为它是从计算机向Arduino发送命令的一种很好的方法。串行监视器允许双向通信,这意味着你可以发送文本消息到Arduino,并从它接收响应。窗口底部的状态区域将告诉你Arduino的类型以及其相应的串行端口,当你按下“Upload”按钮时,将通过该端口对Arduino进行编程。图2-2(/dev/cu.usbmodem411)中显示的端口是你在使用Mac或Linux计算机时所期望看到的类型。倘若你使用Windows计算机来对Arduino进行编程,那么这将是COM4或COM后跟的一个数字,是Windows分配给Arduino的连接端口。最后,但同样重要的是,Arduino IDE的主要部分是程序区,你可以在其中键入要下载到Arduino的程序代码。在Arduino的世界中,程序被称为sketches(经Arduino IDE编译后的程序),Arduino IDE的文件菜单允许你像在处理文字处理器中的文档一样打开和保存程序。文件菜单中还有一个Examples子菜单,你可以从中加载Arduino的内置示例程序。上传程序要测试你的Arduino板,并确保Arduino IDE已准确安装,请通过打开名为Blink的示例程序开始。你可以通过以下导航进行寻找,文件→示例→01. Basics.(Blink sketch是图2-2种加载的示例)。使用USB线将Arduino连接到要用来对Arduino进行编程的计算机上。你应该会看到Arduino的电源LED指示灯亮起,其他几个LED指示灯则在插入时会闪烁。叜
艋创客电子:Arduino和Raspberry Pi智能制作项目精选.pdf下载链接:点此立刻下载
本书主要介绍使用Arduino和Raspberry Pi控制身边的小物件,让其能够感知声、光,并控制它的动作。全书在讲述了基本知识的基础上,介绍了多个有趣的制作项目,图文步骤,让读者可以一步步跟着制作出来,通过实践进行学习。制作项目包括,用Arduino制作一个自动浇水器,设计一个LED交通信号灯,用Raspberry Pi制作会跳舞的小玩偶,等等。
目录菜单:
封面,扉页,版权信息,内容提要,1 简介,Arduino和Pi,小结,2 Arduino,什么是Arduino?,安装Arduino IDE,上传程序,本书代码,编程指南,小结,3 Raspberry Pi,什么是Raspberry Pi?,设置你的Raspberry Pi,Linux命令行,本书代码,编程指南,小结,4 快速入门,免焊面包板,下载软件,实验:控制一个LED,Arduino连接器,实验:控制一个电机,小结,5 电子技术基础,电流,电压,电阻,功率,通用器件,连接的输入和输出,小结,6 LEDs,常规LEDs,电流限制,项目:交通信号灯,PWM和LED,RGB LEDs,实验:混合颜色,小结,7 电机、水泵和执行器,控制速度(PWM),实验:控制直流电机的速度,使用继电器控制直流电机,实验:使用继电器模块控制直流电机,选择一个电机,水泵,项目:Arduino控制的家用植物浇水器,直线电机,电磁铁,小结,8 先进的电机控制,H桥,单片式H桥,实验:控制电机的旋转方向和速度,其他H桥集成电路,H桥模块,项目:Arduino饮料罐挤压器,小结,9 伺服电机,伺服电机,实验:控制一个伺服电机的位置,项目:舞动的Raspberry Pi木偶Pepe,小结,10 步进电机,步进电机,双极步进电机,实验:双极步进电机的控制,单极步进电机,达林顿阵列,实验:控制单极步进电机,软件,微步进,实验:基于Raspberry Pi的微步进,小结,11 加热和冷却,电阻加热器,实验:电阻加热,项目:Arduino气球随机爆破器,加热元件,功率和能量,从功率到温度的增加,帕尔帖元件,项目:饮料冷却器,小结,12 控制回路,简朴的恒温器,实验:恒温器的控制好到什么程度?,磁滞,PID控制,实验:PID恒温控制,项目:恒温饮料冷却器,小结,13 控制交流电,交流开关理论,交流电切换的实践,项目:Raspberry Pi定时器开关,小结,14 显示器,LED线条灯,实验:控制RGB LED线条灯的显示,I2C OLED显示器,实验:在Raspberry Pi上使用I2C显示模块,项目:向饮料冷却器项目添加显示,小结,15 声音,实验:没有安装放大器的扬声器与Arduino,放大器,实验:在Arduino上播放音频文件,把Arduino连接到放大器上,在Raspberry Pi上播放音频文件,项目:木偶Pepe发声,小结,16 物联网,Raspberry Pi和Bottle,项目:Raspberry Pi Web交换机,Arduino和网络,项目:木偶Twitter通知系统,小结,附录 A Parts,供应商,电阻和电容,半导体,硬件,零散部件,引脚,附录 B Raspberry Pi引脚分配,说明,关于作者
文本摘要:
Make:Action创客电子:Arduino和Raspberry Pi智能制作项目精选[英] Simon Monk 著陈立畅 张佳进 马瑛 陈颖 毕成杰 任雨橦 译人民邮电出版社北京图书在版编目(CIP)数据创客电子:Arduino和Raspberry Pi智能制作项目精选/(英)西蒙.蒙克(Simon Monk)著;陈立畅等译.--北京:人民邮电出版社,2017.10(i创客)ISBN 978-7-115-46660-0Ⅰ.①创… Ⅱ.①西…②陈… Ⅲ.①单片微型计算机—应用—电子器件—制作②软件工具—应用—电子器件—制作 Ⅳ.①TP368.1②TP311.56③TN中国版本图书馆CIP数据核字(2017)第199312号版权声明?2017 year of first publication of the Translation Posts & Telecom Press.Authorized Simplified Chinese translation of Make:Action:Movement,Light,and Sound with Arduino and Raspberry Pi(ISBN 978-1457187797)?2016 Maker Media,Inc.published by O’Reilly Media,Inc.This translation is published and sold by permission of O’Reilly Media,Inc.,which owns or controls all rights to sell the same.本书英文版版权归Maker Media,Inc.所有,由O’Reilly Media,Inc.于2016年出版。简体中文版通过O’Reilly Media,Inc.授权给人民邮电出版社,于2017年出版发行,得到原出版方授权。版权所有,未经书面许可,本书的任何部分不得以任何形式重制。◆著 [英]Simon Monk译 陈立畅 张佳进 马瑛 陈颖 毕成杰 任雨橦责任编辑 魏勇俊责任印制 周昇亮◆人民邮电出版社出版发行 北京市丰台区成寿寺路11号邮编 100164 电子邮件 315@ptpress.com.cn网址 http://www.ptpress.com.cn北京天宇星印刷厂印刷◆开本:880×1230 1/16印张:10.5 2017年10月第1版字数:395千字 2017年10月北京第1次印刷著作权合同登记号 图字:01-2016-10030号定价:79.00元读者服务热线:(010)81055339 印装质量热线:(010)81055316反盗版热线:(010)81055315广告经营许可证:京东工商广登字20170147号内容提要本书主要介绍使用Arduino和Raspberry Pi控制身边的小物件,让其能够感知声、光,并控制它的动作。全书在讲述了基本知识的基础上,介绍了多个有趣的制作项目,图文步骤,让读者可以一步步跟着制作出来,通过实践进行学习。制作项目包括,用Arduino制作一个自动浇水器,设计一个LED交通信号灯,用Raspberry Pi制作会跳舞的小玩偶,等等。1 简介Arduino 和Raspberry Pi使业余电子兴趣者进入电子世界变得简朴。也许你想设置一个DIY的家庭自动化系统,以便于你通过WiFi网络控制家庭的灯光和加热器,或者简朴地控制一些电机的转动。这本书将告诉你如何使用流行的Raspberry Pi和Arduino平台,这样你的Pi和Arduino设备就可以操控运动、光和声音。Arduino和Pi虽然Arduino和Raspberry Pi的体积都很小,其开发板都犹如信用卡一般大小,但是实际上它们是差异性很大的两种设备。Arduino是一种非常简朴的微控制器板,且不能够运行任何操作系统。然而,Raspberry Pi却是一种微型计算机,它可以运行Linux系统并且能够连接外部电子设备。Raspberry Pi对于刚开始接触电子元器件,但是却又能纯熟使用计算机的这类人而言,Raspberry Pi将会是一种比较认识的设备。Raspberry Pi(图1-1)和众多能够运行Linux系统的普通计算机相比,是非常小的一个版本。其拥有USB接口,方便人们连接到键盘和鼠标,同样可以连接到显示器或电视进行HDMI视频输出和音频输出。图1-1 Raspberry Pi 2Raspberry Pi有一个以太网接口可以连接到你的网络,也可以连接USB无线适配器。其电源可以由microUSB插座供应。其以一张microSD卡作为存储,而不是利用传统的磁盘驱动。这张卡里包含操作系统以及所有文档和程序。Raspberry Pi创立于英国,主要作为一种低成本计算机,用来帮助学校的孩子们学习计算机基础知识,尤其是Python编程。实际上,Pi这个词据说是由Python中Py派生而来的。以下几个方面使得Raspberry Pi与运行Linux的普通台式机或笔记本电脑不同。Raspberry Pi的成本只有40美元(一款简装版的Raspberry Pi被称为ModelA+,它只需要较低的价格。还有一种Model zero甚至更便宜)。Raspberry Pi使用低于5W的功率。Raspberry Pi有一排通用输入/输出(GPIO)引脚,允许直接连接电子元件(引脚在图1-1的左上部分。通过这些引脚,你可以控制LED灯、显示器、电机,以及之后在这本书中你会使用到的所有不同类型的输出设备)。此外,Raspberry Pi还可以使用WiFi或LAN电缆连接到Internet,使其适用于物联网项目(第16章)。Raspberry Pi 2(目前为止最新和最好的版本)的规格如下。ARM v7 900 MHz 四核处理器1GB DDR2 内存10.100 BaseT 以太网4个USB 2.0端口HDMI 视频输出相机接口插座40针GPIO接头(所有引脚的工作电压为3.3V)倘若是Raspberry Pi的新手,那么可以使用第3章中的Python编程语言来学习硬件和软件。Arduino有很多不同型号的Arduino可以采用。本书主要讨论最广泛使用和流行的Arduino版本,Arduino Uno(图1-2)。Arduino比Raspberry Pi便宜一点—购买一个Arduino Uno大约需要25美元。图1-2 Arduino Uno修订版3倘若你习惯使用普通计算机,那么Arduino的性能就显得捉襟见肘,其内存只有34KB(各种类型)。这意味着Raspberry Pi的内存是Arduino的三万倍,而且还不包括Raspberry Pi的SD闪存卡。此外,Arduino Uno的处理器时钟频率只有16MHz。Arduino不能连接键盘、鼠标或显示器,也不能运行操作系统。你可能很想知道Arduino实际上可以用作什么。它的使用非常简朴,而且没有需要启动的操作系统甚至是在项目中你根本不需要用到的接口,那些接口只会增加成本和电力消耗。可以说Raspberry Pi是一台通用计算机,而Arduino只需要做好一件事—连接和控制电子元件。倘若要对 Arduino 进行编程,那么你需要一台普通计算机(倘若你愿意的话,你甚至可以使用Raspberry Pi)。在你选择的计算机上,你需要运行集成开发环境(IDE),这允许你编写要下载到Arduino内置闪存的程序。Arduino一次只能运行一个程序,一旦它被编程,它会记住该程序,并在其上电后自动运行该程序。Arduino被设计成可以接受拓展板,其拓展板插在Arduino的输入/输出插座的顶部并且可以添加额外的硬件功能,如各种类型的显示器,以及以太网和Wi Fi适配器。你可以使用C语言对Arduino进行编程(你可以在第2章中找到有关编程和使用Arduino的更多信息)。选择设备:Arduino或Pi本书介绍如何将电子产品连接到Arduino和Raspberry Pi的原因之一是,有些项目更适合于Raspberry Pi,有些则适用于 Arduino。位于这两者之间的其他开发板通常十分类似于Arduino或Raspberry Pi,这些开发板的使用方法也可以参考本书。当开始一个新项目时,通常的经验是默认使用Arduino。但是,倘若项目有以下要求之一,那么Raspberry Pi可能是更好的选择。互联网或网络连接需要一个大屏幕需要附加键盘和鼠标需要USB外围设备,如网络摄像头花费一些功夫和费用,可以对Arduino进行功能扩展,以满意前述的大部分要求。然而,倘若你选择这样做,一切都变得异常困难,因为这些都不是Arduino的原本的特性,这些都是Pi的特性。选择在Raspberry Pi上使用Arduino的理由包括:成本Arduino Uno比Raspberry Pi 2便宜。启动时间Arduino不需要等待操作系统启动。它只存在着一个小的延迟,大约一秒钟,检查是否有新的程序正在下载,然后它开始运行。可靠性Arduino本质上是一个比Raspberry Pi更简朴和更可靠的设备,并且不需要建立在操作系统之上。电能消耗Arduino使用的电量大约只有Raspberry Pi的1/10。倘若你需要使用一个电池或太阳能作为电源,那么Arduino会是一个更好的选择。GPIO输出电流Raspberry Pi的GPIO引脚只能用于提供最大约16 mA的电流。另一方面,Arduino引脚的额定值为40 mA。所以,在某些情况下,你可以直接连接一个东西(如一个明亮的LED)到Arduino,但是不能将其直接连接到Raspberry Pi上。Arduino和Raspberry Pi都是用于项目开发的非常好的设备。并且,选择使用哪个设备在某种程度上也只是个人喜好的问题。在将外部电子器件连接到Raspberry Pi时,必须要牢记它工作电压是3.3V,而不是Arduino的5V。倘若将5V连接到Raspberry Pi的GPIO引脚,可能会损坏GPIO引脚甚至损坏整个Raspberry Pi。备选方案Arduino Uno和Raspberry Pi占据着一系列可用于控制事物的设备的两个极端。正如你所期望的,市场已经产生了许多其他设备,它们处于这两个极端之间,有时试图集两者的长处于一身。新设备一直在层出不穷。Arduino的开源性质导致了它有许多变化,因为设计是因人而异的,如控制无人机或与无线传感器连接。图1-3显示了这一领域中一些最流行设备的传播。图1-3 嵌入式平台在 Arduino Uno下面,Adafruit Trinket是价格和性能的代表。这个有趣的开发板只有几个GPIO引脚,但在其他方面却与Arduino相称。Adafruit Trinket非常适用于只有一个或两个输入或输出的项目。有一类中间产品,包括 Arduino Yun,Intel Edison和Photon,它们都具有内置WiFi功能,旨在用于物联网(IoT)项目(见第16章)。其中,Photon可能最具代表性。所有这三个设备都使用Arduino C编程,因此你了解到的使用Arduino的信息也适用于这些开发板。BeagleBone Black在概念上与Raspberry Pi非常相似。它也是一个单板计算机,从基本的计算性能来看,虽然目前的BeagleBone Black版本已经落后于Raspberry Pi 2,但 BeagleBone Black相比Raspberry Pi确实有一些优势。它有更多的GPIO引脚,还有一些引脚可以充当模仿输入,这是Raspberry Pi 2缺少的一个特性。BeagleBone Black可以使用Python编程,类似于Raspberry Pi或JavaScript编程。小结本章简要介绍了Arduino和Raspberry Pi。我们讨论了这些开发板的长处和缺点,并且还考虑了一些备选方案。接下来的两章将让你开始使用和编程Arduino和Raspberry Pi。倘若你以前使用过Arduino和Raspberry Pi,你可以直接跳到第4章,使用Arduino和Raspberry Pi做一些操作! 倘若需要,你可以随时返回第2章和第3章。2 Arduino本章是Arduino入门书的修改版本,最初作为我的书“The Maker’s Guide to the Zombie Apocalypse from NoStarch Press”的附录出版,并在此获得许可。倘若你是第一次接触Arduino,本章将让你开始了解这个伟大的小开发板。什么是Arduino?Arduino板有各种类型,但迄今为止最常见的和本书项目中常用的是Arduino Uno(见图2-1)。Arduino Uno经历了一些修订。图2-1中所示的Arduino Uno是一个3版本(R3)的开发板(写作时最新的)。让我们用USB接口开始我们的Arduino之旅,它有几个用途:它可以用来为Arduino提供电源,从你的电脑对Arduino进行编程,还有就是作为通信链路。USB插座旁边的红色小按钮是复位按钮。当你按下此键时,Arduino将重新启动并运行安装在其上的程序。图2-1 Arduino Uno沿着Arduino的顶部和底部边缘,有可以连接电子器件的连接插座。在图2-1的顶部可以看到,数字输入与输出端口,上面有0到13之间的数字标识。你可以将开关连接到数字输入端,其将能够判断开关是否被按下。或者,你可以将LED灯连接至数字输出端,并通过改变数字输出端由低电平至高电平来点亮LED灯。事实上,在板上内置有一个LED灯,被称为“L”,其连接至引脚13。在数字I/O引脚下方,有一个电源LED指示灯,用来指示开发板已经通电。ICSP(在线串行编程)接头仅用于Arduino的高级编程并且不需要使用USB连接。绝大多数的Arduino用户永远不会使用ICSP接头。这里值得强调的是ATMega328(Arduino的大脑)。ATMega328是一个微控制器IC(集成电路)。这个芯片存储Arduino将要运行的程序(它包含32 KB的闪存)。在ATMega328下面,有一排标记为A0到A5的模仿输入引脚。数字输入只能指示一些开关量,而模仿输入则可以测量引脚上的电压(只要电压在0到5V之间)。这样的电压可以来自某种类型的传感器。倘若缺少数字输入和输出,那么这些模仿输入引脚也可用作数字输入和输出。安装Arduino IDE在这之后,有一排电源连接器,可以用作为Arduino供电的替代方法。它们还可为你所要连接的其他电子设备供电。Arduino还有一个直流电源插孔。这可以连接直流电压在7V到12V之间的任何设备,并可以使用电压调节器为Arduino提供5V的工作电压。Arduino可以自动从USB接口获取电源或者根据连接的直流连接器获取电源。Arduino并不是如你所预期的计算机一样。它没有操作系统,不需要连接键盘,显示器或者鼠标。它只运行一个程序,并且你需要通过计算机将程序下载到Arduino的闪存内。同时只要你愿意,还可以对Arduino重新编程多次(甚至数千次)。为了对Arduino进行编程,你需要在计算机上安装Arduino IDE。这个软件具有良好的跨平台特性—Arduino IDE可以在Windows,Mac和Linux上运行—这是Arduino IDE非常受欢迎的原因之一。此外,Arduino IDE允许你通过USB连接对Arduino进行编程,并且不需要特别的编程硬件。要为你的平台安装Arduino IDE,请下载软件,然后按照Arduino网站(http://arduino.cc/en/Guide/HomePage)上的说明进行操作。注意,Windows和Mac用户将需要安装USB驱动程序,以便Arduino IDE可以与Arduino本身进行通信。安装完毕并运行Arduino IDE,就会弹出Arduino IDE的窗口,如图2-2所示。按下下载按钮,便可下载程序至Arduino板。在此之前,Arduino IDE会将编程代码编译为Arduino可以执行的代码。倘若存在错误,则会将错误显示在日志区域之中。验证按钮执行的是相同的操作,但没有执行将程序下载至开发板的最后一步。图2-2 Arduino IDE串行监视器按钮可以打开串行监视器窗口,用于与Arduino通信。在本书的许多实验中,你将使用串行监视器,因为它是从计算机向Arduino发送命令的一种很好的方法。串行监视器允许双向通信,这意味着你可以发送文本消息到Arduino,并从它接收响应。窗口底部的状态区域将告诉你Arduino的类型以及其相应的串行端口,当你按下“Upload”按钮时,将通过该端口对Arduino进行编程。图2-2(/dev/cu.usbmodem411)中显示的端口是你在使用Mac或Linux计算机时所期望看到的类型。倘若你使用Windows计算机来对Arduino进行编程,那么这将是COM4或COM后跟的一个数字,是Windows分配给Arduino的连接端口。最后,但同样重要的是,Arduino IDE的主要部分是程序区,你可以在其中键入要下载到Arduino的程序代码。在Arduino的世界中,程序被称为sketches(经Arduino IDE编译后的程序),Arduino IDE的文件菜单允许你像在处理文字处理器中的文档一样打开和保存程序。文件菜单中还有一个Examples子菜单,你可以从中加载Arduino的内置示例程序。上传程序要测试你的Arduino板,并确保Arduino IDE已准确安装,请通过打开名为Blink的示例程序开始。你可以通过以下导航进行寻找,文件→示例→01. Basics.(Blink sketch是图2-2种加载的示例)。使用USB线将Arduino连接到要用来对Arduino进行编程的计算机上。你应该会看到Arduino的电源LED指示灯亮起,其他几个LED指示灯则在插入时会闪烁。叜
艋创客电子:Arduino和Raspberry Pi智能制作项目精选.pdf下载链接:点此立刻下载Tags:
作者:佚名评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论
