学习报告

来源:互联网 发布:铵明矾用来乎肚子好么 编辑:程序博客网 时间:2024/04/29 23:37

本周主要学习arduino基本语法和C++面向对象,为后面制作环境采集系统奠定基础。

Arduino主要是把自己的代码移入UNO主板控制其他硬件进行操作。

arduino的编程的基本框架是

void setup(){}

void loop() {}

其中setup()函数主要用于初始化端口,loop()函数用于运行程序,该函数是一个死循环函数。

基本的arduino函数:

1. Serial.begin()初始化串口;

2. digitalWrite()数字信号输出(只有高电平与低电平);

3. digitalRead()读取外部的输入信号;

4. analogWrite()实现模拟输出功能以及PWM输出(3,5,6,9,10,11引脚的模拟值);

5. Serial.print()和Serial.println()串口输出;

6. Serial.read()串口输入;(注意:要使用Serial.read()函数输入,需要配合Serial.available使用,否则易产生乱码);

7. map() 实现数值区间的相互转化;(例:mapi0,1023,0,5))表示把01023的一个数按照一定的比例转化为05的一个值 )(模拟输出的值在0~1023之间,PWM输出的值在0~255之间);

8. delay()用于等待;

基本的硬件认识: 

1. UNO是接受代码的控制器,可以像外面输入输出模拟信号和数字信号;UNO是基于arduino UNO R3的微控制器板,它是最新的arduino基础型号微控制器板,也是学习和使用arduino的最佳选择.Zzuino UNO包含了14个输入/输出口(其中6个可以用作PWM输出),6个模拟输入口.同时含有一个USB连接头,一个电源插孔,一个复位按键等支持主控器运行的最小系统.用一根USB数据线连接到电脑,或者一个交流转直流的电源适配器,亦或是一个电池即可让它运行起来.此外,Zduino UNOUSB转串口驱动芯片为Atmega16u2,这也是与先前版本的最大不同(R2版本为Atmega8u2).同时,R3版本在AREF旁添加了SDASCL两个支持I2C的接口。

2..传感器扩展板为了能更方便的接插的各种模块,快速的完成设计。

3.电位器模块可以结合arduino传感器扩展板,可实现与位置变化相关的互动作品。模块连接在arduino模拟IO口上只需analogRead()函数便可读取传感器输入的模拟值。

4.按键一端接IO口,一端接地,直接用arduino数字口可方便的读取按键状态值,配合arduino传感器扩展板可以完成使用按钮进行互动的作品。

 C++面向对象:

了解了类和对象,继承的基本知识,讨论了什么是对象,什么是类,怎样是面向对象的编程,以及以前用面向过程的编程的区别,以便之后做环境采集系统编写和调用类库。

由于本周初学arduino,所以就主要做一些简单的实验来提升对arduino的兴趣,了解其中的基本知识原理。

但是问题依旧不少:

1.分不清模拟输出和数字信号输出,即程序中不知道怎么区分使用analogWrite函数与                   digitalWrite函数;

2.不知道如何从外面对UNO主板提升电压;

3.对连接实物图还有很大的问题;

4.在使用LED灯的时候不知道何时初始化LED灯的初始化状态;

5.用Serial.read输入经常产生乱码;

6.对C++面向对象一些用法语句不清楚;

本周主要的工作:

1.用电位器和按键控制舵机转动;

2.做arduino书上第2章和第3章的实验;

3.对C++面向对象进行了学习。

0 0