Arduino基础实验_第1页
Arduino基础实验_第2页
Arduino基础实验_第3页
Arduino基础实验_第4页
Arduino基础实验_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Arduino基础实验北邮 信通院孙文生微信公号:模电数电新浪微博:模电数电提纲0. 关于Arduino1. 自动控制路灯2. 数字温度计3. 智能温控风扇4. 同向比例运算你需要这个开发板Arduino UNO R3微控制器:ATmega328p时钟:16MHz,Flash: 32KB (1万次擦写)SRAM: 2KB,EEPROM: 1KB (10万次擦写)数字I/O口14个 (6个提供PWM输出)模拟输入口6个集成开发环境Arduino IDEArduino 1.6.12售价:15-26元你需要这个开发板你需要这个开发板你需要这个开发板你需要这个开发板或者你有这个板子Digispark

2、kickstarter 微型开发板微控制器:ATtiny85Flash: 8KB (1万次擦写)SRAM: 512B,EEPROM: 512B (10万次擦写)数字I/O口2个 (PWM输出)模拟输入口3个集成开发环境Arduino IDEArduino 1.6.12售价:5-6元你还需要这些器件Arduino能做什么做万用表或示波器 A0A7利用analogRead(pin)函数,从指定的引脚 读取电压值,测量精度为4.9毫伏,最高读取频率约为10kHz电路和编程,必须动手实践!必须动手!必须动手!做信号发生器 D3、D5、D6、D9 D11利用analogWrite(pin, value)

3、函数,将模拟值输 出到管脚,在该引脚将产生一个指定占空比的 矩形波,矩形波频率为490Hz,value取值0255可用于调节发光二极管的亮度或控制马达转速做控制器 D0D13,A0A7利用数字I/O口控制外围电路实现复杂功能写作是一门艺术,编程也是越来越多的人开始骑自行车学沫版:More and more people begin to ride bikes.学渣版:A(n) growing/increasing/expanding number of people begin to cycle.伪学霸版:Cycling attracts more and more people.学霸版:Cy

4、cling is now adding its appeal for many citizens.学神版:Cycling gains its popularity.学好模电,风光无限!DO IT IMMEDIATELY初次使用Arduino UNO R3下载从官网下载ARDUINO 1.6.12 https:/www.arduino.cc/en/Main/Software安装双击arduino-1.6.12-windows.exe,出现安装导向,依次确认,默认安装即可。安装完成后,桌面上会出现Arduino软件的logo,下次使用时双击。配置开发环境插入Arduino UNO R3开发板,系统

5、自动安装USB驱动。初次使用Arduino UNO R3配置开发环境选择相应的板卡初次使用Arduino UNO R3配置开发环境选择端口 可以通过设备管理器查看设备对应的端口情况初次使用Arduino UNO R3配置开发环境验证 打开文件,示例,找到Blink程序初次使用Arduino UNO R3配置开发环境编译、上传初次使用Arduino UNO R3配置开发环境串口监视器1. 自动控制路灯要求白天光照较强时,路灯关闭;晚上光照较弱,路灯开启设计思路通过光敏元件感知光强,并通过mCookie控制路灯光敏电阻发光二极管光敏电阻无极性,工作电压可为直流或交流对光线十分敏感无光照时,呈高阻状

6、态,暗电阻值约为1.5M有光照时,阻值随光照强度增加而迅速降低,亮电阻值可在1k以下二极管矿石二极管纯净半导体:硅、锗载流子:电子、空穴P型半导体:掺入3价元素N型半导体:掺入5价元素二极管发光二极管 (Light Emitting Diodes, LED)半导体中掺入特定杂质,工作在正偏状态,电子和空穴复合释放能量发光。激光二极管光敏二极管光敏二极管光敏二极管工作在反偏状态,反向电流随光照强度变化。 激光二极管产生红外激光,效率高。功率:8w二极管LED照明二极管全彩点阵LED二极管七段数码管二极管光电耦合器1. 自动控制路灯白天光照较强时,路灯关闭,晚上光照较弱,路灯开启。通过光敏元件感知

7、光强,并通过Arduino控制路灯。光敏电阻型号:5516发光二极管注意:发光二极管在使用时必须加限流电阻!1. 自动控制路灯int threshold =400; /光强值,根据实际情况调整void setup ( ) Serial.begin(115200); pinMode(10, OUTPUT); /设置输出端口void loop( ) int n = analogRead(A3); /读取模拟口A3 Serial.println(n); if (nthreshold ) /晚上光线暗,n值变大 digitalWrite(10, HIGH); /点亮路灯 else digitalWri

8、te(10, LOW); /关闭路灯 delay(100);光敏电阻型号:5516发光二极管1. 自动控制路灯思考题:如何改成光强警示电路,光照较强时发光二极管点亮?如何设计自动调光台灯?如何让发光二极管变成呼吸灯?如何设计炫彩台灯?即控制彩色发光二极管,根据不同光强显示不同颜色的光。光强警示电路int threshold =400; /光强值,根据实际情况调整void setup () Serial.begin(115200); pinMode(10,OUTPUT); /设置输出端口void loop() int n = analogRead(A3); /读取模拟口A3 Serial.pri

9、ntln(n); if (n threshold ) /光强越大,n值越小 digitalWrite(10,HIGH); else digitalWrite(10,LOW); delay(100);光敏电阻型号:5516发光二极管自动调光台灯void setup() Serial.begin(115200); pinMode(10,OUTPUT); /设置输出端口 void loop() int n = analogRead(A3); /读取光强 Serial.println(n); /光线越暗,n值越大 analogWrite(10, 255-n/4); /PWM占空比越小 delay(20

10、0); 光敏电阻型号:5516发光二极管呼吸灯int brightness = 0; /LED的亮度int fadeAmount = 5; /亮度变化增量void setup() pinMode(10, OUTPUT); /设置输出端口 void loop() analogWrite(10, brightness); /点亮LED brightness = brightness + fadeAmount; if (brightness = 255) fadeAmount = -fadeAmount ; /亮度翻转 delay(30); /延时30毫秒 光敏电阻型号:5516发光二极管【小制作】

11、LED心形流水灯【小制作】幻彩摇摇棒【小制作】幻彩摇摇棒采用mCookie实现彩色摇摇棒原型板【小制作】幻彩摇摇棒【小制作】旋转电子钟旋转后的样子遥控对时【小制作】旋转电子钟旋转后的样子旋转后的样子【小制作】矿石收音机矿石二极管【小制作】矿石收音机具有调谐功能的收音机【小制作】矿石收音机2. 数字温度计要求利用温度传感器监测环境温度当环境温度高于某一值时,发出声光报警2. 数字温度计温度传感器LM35D输出为模拟量,输出电压与摄氏温度成正比工作温度为0-100,工作电压为4-30V,精度为1,静态电流为80uA。2. 数字温度计温度传感器DS18b20输出为数字量,单总线接口,测温范围 -55

12、+125 测量结果以912位数字量方式串行输出支持多点组网,8个温度传感器可以并联在一起使用工作电压:3.05.5V2. 数字温度计有源蜂鸣器内部带振荡源,通电即可发声无源蜂鸣器与电磁扬声器一样,需接音频输出电路才能发声用tone(pin, frequency, duration)函数2. 数字温度计温度传感器发光二极管蜂鸣器要求利用温度传感器监测环境温度,温度越高,发光二极管越亮当环境温度高于某一值时,发出声光告警unsigned int tempMin = 15; /亮灯温度unsigned int tempMax = 25; /报警温度void setup( ) Serial.begin

13、(115200); /串口初始化 analogReference(INTERNAL); /调用板载1.1V基准源 pinMode(11, OUTPUT); digitalWrite(11, LOW);void loop( ) double analogVotage = 1.1*(double)analogRead(A3)/1023; double temp = 100*analogVotage; /计算温度 unsigned int dutyCycle; /占空比 if (temp = tempMin) /小于亮灯门限值 dutyCycle = 0; digitalWrite(11, LOW)

14、; else if (temp tempMax) /小于报警门限 dutyCycle = (temp-tempMin)*255/(tempMax-tempMin); digitalWrite(11, LOW); else /发光二极管亮度最大值,并启动声音报警 dutyCycle = 255; digitalWrite(11, HIGH); analogWrite(10, dutyCycle);/控制发光二极管发光 Serial.print(Temp: ); Serial.print(temp); Serial.print( Degrees Duty cycle: ); Serial.prin

15、tln(dutyCycle); delay(100);/ 控制刷新速度2. 数字温度计思考题:如何通过彩色发光二极管显示环境温度变化?如何利用七段数码管显示环境温度?如何利用OLED屏显示环境温度?3. 智能温控风扇要求根据环境温度自动调节风扇转速。设计思路用温度传感器检测环境温度,用PWM控制风扇转速。晶体三极管300马达晶体三极管NPN型晶体管的结构和电路符号晶体三极管由晶体三极管构成的基本放大电路3. 智能温控风扇温度传感器马达采用温度传感器LM35D检测环境温度根据环境温度,采用PWM控制风扇转速可调电位器double analogVotage; /模拟电压值double temp;

16、/温度unsigned int dutyCycle; /占空比unsigned int tempMin = 25; /零速温度unsigned int tempMax = 33; /满速温度void setup( ) Serial.begin(115200); /波特率配置串口通讯 analogReference(INTERNAL); /调用板载1.1V基准源void loop( ) analogVotage = 1.1*(float)analogRead(A3)/1023; temp = 100*analogVotage; /电压换算成温度 if (temp = tempMin) dutyC

17、ycle = 0; else if (temp tempMax) dutyCycle = (temp-tempMin)*255/(tempMax-tempMin); else dutyCycle = 255; analogWrite(10, dutyCycle); /产生PWM,控制电机转速 Serial.print(Temp: ); Serial.print(temp); Serial.print( Degrees Duty cycle: ); Serial.println(dutyCycle); delay(100); / 控制刷新速度3. 智能温控风扇unsigned int dutyC

18、ycle; /占空比unsigned int tempMin = 300; /零速值unsigned int tempMax = 800; /满速值void setup( ) Serial.begin(115200); /配置串口波特率void loop( ) int temp= analogRead(A3); /读取模拟值,范围:0-1023 if (temp = tempMin) /低于该值电机停转 dutyCycle = 0; else if (temp 50) /高于门限值,则三极管导通 digitalWrite(10,HIGH); /点亮LED else digitalWrite(10,LOW); /熄灭LED Serial.println(n); /串口监视 delay(100); /控制刷新速率指尖开关6. 触摸电子琴要求通过手指触摸不同按键,弹奏不同的乐曲设计思路利用Arduino的readCapacitivePin()函数,读取端口电容值利用tone(pin, frequency)函数,产生不同的音调MaKey6.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论