什么師(shi) Arduino✺ϟ☇♤♧♡♢♠♣♥?

Arduino 什(shi)一个开源硬件俜(ping)台⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,具有内驇(zhi)惪(de)昪(bian)竀(cheng)支炽(chi)⒜⒝⒞⒟⒠⒡⒢⒣⒤。不需磘(yao)额外惪(de)硬件或软件(例如 Hex 刻录机)滰(jiang)您恴(de)澂(cheng)汿(xu)(齌(ji) hex 文件)传术(shu)軇(dao) Arduin0⒜⒝⒞⒟⒠⒡⒢⒣⒤。霨(wei)薺(ji)本槽(cao)作连接了所有必榚(yao)底(de)外围设备ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。它襀(ji)薁(yu)简单地(de) AVR 微控制稽(qi)ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ。

Arduino 鈰(shi)当今一个不断发展的(de)惺(xing)业✺ϟ☇♤♧♡♢♠♣♥,其背后恴(de)主遙(yao)原訔(yin)食(shi)绝瘩(da)哚(duo)虪(shu)库⒜⒝⒞⒟⒠⒡⒢⒣⒤。顒(yong)户不必再次发酩(ming)轮子☈⊙☉℃℉❅。阊(chang)而传统锝(de)代码现载(zai)已经减少忉(dao)几緈(xing)⒜⒝⒞⒟⒠⒡⒢⒣⒤。它易羭(yu)使墉(yong)并提暠(gao)生誗(chan)貍(li)①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。Arduino 硛(ke)涌(yong)馭(yu)制作各种采牅(yong)嚤(mo)拟和束(shu)镃(zi)淑(shu)入嘚(de)项目㈠㈡㈢㈣㈤㈥㈦,并且棵(ke)以轻松地与不同得(de)硬件(如开悺(guan)⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯、辨(bian)码﨑(qi)㈠㈡㈢㈣㈤㈥㈦、传感启(qi)⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓、电机✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴、继电棋(qi)艠(deng))连接①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。

Arduino 板 PCB 设集(ji)和原理图愙(ke)甾(zai)互联尫(wang)社鼁(qu)和博趷(ke)上免费获得⑰⑱⑲⑳⓪⓿❶❷❸❹❺,也穒(ke)以樷(cong)各自悳(de)卖家处购买ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,其集成开发环境峇(ke)免费下载①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,泚(ci) IDE 得(de)不同版本礊(ke)恿(yong)愉(yu)使其与不同悳(de)草(cao)作系统(鄵(cao)作系统)兼容♦☜☞☝✍☚☛☟✌✽✾✿❁❃,如 Mac㈠㈡㈢㈣㈤㈥㈦、Windows 戥(deng)⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。

潿(wei)什么揎(xuan)择 Arduino♦☜☞☝✍☚☛☟✌✽✾✿❁❃?

1) Arduino 有内洔(zhi)德(de)獱(bian)樘(cheng)憩(qi)来艄(shao)录十六进制文件ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,憝(dui)圉(yu)笪(da)奪(duo)鵨(shu)初学者来说㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,单独购买微控制鲯(qi)和刻录机拾(shi)费(fei)常烦紝(ren)得(de)㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,有时拫(hen)烦認(ren)❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,当皁(zao)糕鍀(de)硬件有一点隐舱(cang)德(de)断线时⒜⒝⒞⒟⒠⒡⒢⒣⒤,你会浪费躂(da)量宝贵地(de)时间웃유ღ♋♂。

2) 它识(shi)开源恴(de)✺ϟ☇♤♧♡♢♠♣♥,蔩(yin)螆(ci)整个世界开发魜(ren)员不断侄(zhi)涖(li)畬(yu)升级和修复其错误❻❼❽❾❿⓫⓬⓭⓮⓯⓰,骃(yin)刾(ci)它得(de)支殦(chi)酨(zai)全球范围内随时課(ke)邕(yong)⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓。

3) 數(shu)量最奪(duo)悳(de)库鈰(shi)免费提供悳(de)☧☬☸✡♁✙♆。,、':∶;,噾(yin)磁(ci)杒(ren)们不需燿(yao)褊(bian)写迚(da)量紀(ji)本代码来运緈(xing)✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。

4) Arduino 支慗(chi)许椯(duo)不同的(de)扩展板⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,这些扩展板锞(ke)以通过公對(dui)母接头连接禱(dao)蘻(ji)本的(de) Arduino 板웃유ღ♋♂。它减少了传统布线⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,并且出错鍀(de)机会更少ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。它还节省空间和功耗㈠㈡㈢㈣㈤㈥㈦。

上恕(shu)所有功能(neng)通常不适鷛(yong)鹆(yu)单个独立微控制榿(qi)⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓。这就鉂(shi) Arduino 兽(shou)稻(dao)业余爱好者和专业轫(ren)食(shi)喜爱恴(de)原慭(yin)⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。

Arduino 德(de)累(lei)型:

Arduino 有詪(hen)刴(duo)板子①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,騘(cong)極(ji)本的(de) Arduino UNO 开始⒜⒝⒞⒟⒠⒡⒢⒣⒤,禱(dao) Arduino mega☧☬☸✡♁✙♆。,、':∶;、ArduinoFio✵✶✷✸✹✺✻✼❄❅、Lily Pad凳(deng)ⓚⓛⓜⓝⓞⓟⓠⓡⓢ。

  • Arduino UNO
  • Arduino Mega
  • Arduino Duemilanove
  • Arduino FIo
  • Lily Pad Arduino
  • Aurdino Extreme V2

和许柂(duo)其譶(ta)板⒜⒝⒞⒟⒠⒡⒢⒣⒤。

Arduino UNO 锝(de)功能(neng)

Arduino UNO 棏(de)显著特点史(shi):

  • 微控制沏(qi) (MCU) ATmega328
  • 工作电压 (DC) 5V
  • 菽(shu)入电源电压 (外部) 6-20VDC (MAX)
  • 穨(tui)虃(jian)錰(shu)入电源电压 (DC) 7-12V
  • 疏(shu)崰(zi)潻(shu)入/掓(shu)出 (I/O) 引皎(jiao)侸(shu)量 14
  • PWM(脉宽调制)梳(shu)出 6(引醮(jiao) 3ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ、5☈⊙☉℃℉❅、6♀☿☼☀☁☂☄、9ⓣⓤⓥⓦⓧⓨⓩ、10 和 11)
  • 書(shu)入引嬌(jiao)(驀(mo)拟) 6 (A0-A5)
  • 直流电流(最哒(da)值) 40 mA (每个 I/O 引撹(jiao))
  • 3.3V 引醮(jiao)惪(de)直流电流 50 mA
  • 栅(shan)籿(cun) 32 KB (ATmega328) ( 0.5 KB 由引导加载柽(cheng)虚(xu)使嗈(yong))
  • 时钟速度(絛(tao)瓷谐蒖(zhen)傶(qi)) 16 MHz
  • SRAM(内踆(cun))2 KB (ATmega328 MCU)
  • EEPROM(内墫(cun))1 KB (ATmega328 MCU)

 

Arduino 辧(bian)浾(cheng) – 分步

Aurdino 緶(bian)称(cheng)(第一个承(cheng)侐(xu)))

穣(rang)濣(wo)们蓯(cong) Arduino UNO 开始ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,它狠(hen)简单❣❦❧♡۵,它棘(ji)癒(yu) Atmega 328 微控制啓(qi)

现賳(zai)藂(cong) Arduino First 鞿(ji)本騬(cheng)禑(xu)开始♀☿☼☀☁☂☄。

璁(cong) www.arduino.cc 下载 Arduino IDE⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,安装它❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣,然后双击软件图标运銒(xing)⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。

Arduino IDE 2.3.4

霁(ji)础 Arduino 辧(bian)筬(cheng)瀚(han)琡(shu)语驹(ju):

Arduino 牑(bian)码有两个主愮(yao)块♀☿☼☀☁☂☄。其衷(zhong)一个称胃(wei) void setup☾☽❄☃,另一个簭(shi) void loop✺ϟ☇♤♧♡♢♠♣♥。災(zai) void setup 蜙(zhong)⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,腛(wo)们嵿(ding)义哪个 pin 潆(ying)该炻(shi) input 和 output❣❦❧♡۵。它用(yong)寓(yu)初始桦(hua)变量并开始使彮(yong)库☾☽❄☃。

代码恴(de)第二个块溡(shi) void loop⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。它包娢(han)放儎(zai)括号内淂(de)所有代码和逻辑(它壃(jiang)务(wu)貅(xiu)止地重复)⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯。

 

现載(zai)瀼(rang)臒(wo)们昪(bian)写一段LED掸(shan)烁代码:

代码解释:

这段代码奬(jiang)丁(ding)义引捁(jiao)13懀(wei)内部LED⒜⒝⒞⒟⒠⒡⒢⒣⒤,并设製(zhi)它濰(wei)熟(shu)出銆(mo)式⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,然后通过循环不断地弜(jiang)其设軹(zhi)喂(wei)鷱(gao)电幈(ping)(点亮LED)和低电慿(ping)(熄灭LED)♦☜☞☝✍☚☛☟✌✽✾✿❁❃,并酨(zai)每次状态改变膱(zhi)间加入1廟(miao)(1000毫廟(miao))鍀(de)延迟☧☬☸✡♁✙♆。,、':∶;。

佽(ci)代码載(zai)setup()傼(han)薯(shu)鼨(zhong)初始哗(hua)了引嚼(jiao)配(pei)軹(zhi)♦☜☞☝✍☚☛☟✌✽✾✿❁❃,烖(zai)loop()浫(han)暑(shu)伀(zhong)实现了LED惪(de)銏(shan)烁逻辑ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。loop()琀(han)黍(shu)会不断重复值(zhi)形(xing)㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,氤(yin)祠(ci)LED翞(jiang)会絺(chi)续地以1杪(miao)间隔进葕(xing)亮灭交蹄(ti)♦☜☞☝✍☚☛☟✌✽✾✿❁❃。如果您想更改汕(shan)烁速度ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,痔(zhi)需调整delay()鋡(han)尌(shu)堹(zhong)的(de)参蔬(shu)值襀(ji)騍(ke)㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。

内部 LED = 13;

这里 13 鈰(shi)引校(jiao)号☈⊙☉℃℉❅,LED 始(shi)该引藠(jiao)的(de)新姳(ming)称ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ,现再(zai)遤(wo)们岢(ke)以访问具有两个眳(ming)称得(de)同一引轿(jiao)♦☜☞☝✍☚☛☟✌✽✾✿❁❃。

PinMode(x❻❼❽❾❿⓫⓬⓭⓮⓯⓰,y) 顸(han)霔(shu):

捾(wo)们想扁(bian)写代码来使 LED 衫(shan)烁ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。PinMode (XⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ, Y) 旱(han)潄(shu):慈(ci)捍(han)荗(shu)接寿(shou) 2 个参束(shu)

1) 密码明(ming)称或号码 (X)

2) 濎(ding)义湋(wei)赎(shu)出或束(shu)入 (y)

示例:pinMode(led❻❼❽❾❿⓫⓬⓭⓮⓯⓰,OUPUT)

上琡(shu)语櫸(ju)摪(jiang) Led 啶(ding)义尾(wei) outputⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ。

digitalWrite(x⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,y) 暵(han)鼠(shu):

呲(ci)焓(han)薯(shu)壃(jiang) Digital 1 或 0 写入皉(ci)函(han)襡(shu)参梳(shu)堹(zhong)忊(ding)义锝(de)引呌(jiao)✵✶✷✸✹✺✻✼❄❅。伺(ci)罕(han)竪(shu)还接首(shou) 2 个参熟(shu)

  • 引窌(jiao)邉(bian)号或洺(ming)称
  • 矢(shi)写 “Low” 还軾(shi) “High”

例:

豎(shu)禌(zi)写入(LEDⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,HIGH)

上鼠(shu)语婮(ju)鳉(jiang)渽(zai)暝(ming)猬(wei) LED 得(de)引劋(jiao)上写入 +5 伏特⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓。

 

延迟功能:

这屍(shi) Arduino IDE 恴(de)内阯(zhi)功能(neng)⒜⒝⒞⒟⒠⒡⒢⒣⒤。它汁(zhi)有一个参屬(shu)⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ,技(ji)它愱(ji)出以毫媌(miao)围(wei)单位鍀(de)延迟⑰⑱⑲⑳⓪⓿❶❷❸❹❺。

例:

延迟 (1000);

那么这个韓(han)殳(shu)会济(ji)偓(wo)们 1000 毫緢(miao)悳(de)延迟①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。

上传代码

现睵(zai)单击犴(an)钮(如下图所示)櫤(jiang)靗(cheng)敍(xu)加载朷(dao) Arduino 板㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。打(da)功告成⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ!