编写自己的程序
自己写代码,你需要学一个基础的编程语法。换句话说,你不得不学用适当的代码让程序懂它。你能用这种语法和符号去思考。
你可以写一整本没有语法和标点符号的书,但是没有人能懂它。甚至用英语写。
当你写自己的代码时一些重要的事情要在脑中记住:
。一个Arduino程序叫做略图
。所有的代码在Arduino略图中从上到下执行。
。Arduino略图被分成5部分:
1.略图通常有个启始的头,解释略图都是做什么,谁写的它。
2.接下来,定义全局变量。在这里经常给出不同管脚的常量定义。
3.当初始变量设置后,Arduino开始进入设置程序。在设置函数里,我们设置需要的变量初始条件,
4.设置函数结束后就进入循环程序。这是略图的主程序.在这里不但执行主程序,而且可以一遍又一遍执行。略图要执行多长时间就执行多长时间。
5.下循环程序之下,是一些函数的排列。这些函数是用户函数并且在SETUP和LOOP中调用。当这些函数被调用时,Arduino 处理所有函数里的语句从上到下,处理完后回到下一行在略图中。哪里是调中子函数的下一行。函数是好的,因为它可以允许你执行你的程序一遍又一遍,不用写想同的代码一遍又一遍。你只是简单的调用函数多次,函数还可以节省芯片的内存,因为它只写一次。它也很容易被读懂。
。上边所说的,略图只分两个部分Setup和Loop程序。
。代码必须用Arduino 语言写,它是一个以C语言为基础的粗略版本
。几乎所有语句必须以;结尾
。判断语句不用加;
。变量是数据的存贮室。你可以把数据存入变量也可从变量取出数据。变量在使用之前必须被定义,变量被定义成与数据类型相关的变量类型。
好下边我们来写程序。读光电管在A0脚,然后控制LED亮在D9脚。
首先:
File --> Examples --> 1.Basic --> BareMinimum
显示如:
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
然后加入头部分说明
Controls the brightness of an LED on pin D9
based on the reading of a photocell on pin A0
This code is in the Public Domain
*/
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
再次,建立变量:
// name digital pin 9 a constant name
const int LEDPin = 9;
//variable for reading a photocell
int photocell;
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
接下来写定义的管脚的行为:
/*
LED Dimmer
by Genius Arduino Programmer
2012
Controls the brightness of an LED on pin D9
based on the reading of a photocell on pin A0
This code is in the Public Domain
*/
// name analog pin 0 a constant name
const int analogInPin = A0;
// name digital pin 9 a constant name
const int LEDPin = 9;
//variable for reading a photocell
int photocell;
void setup() {
//nothing here right now
}
void loop() {
//read the analog in pin and set the reading to the photocell variable
photocell = analogRead(analogInPin);
//control the LED pin using the value read by the photocell
analogWrite(LEDPin, photocell);
//pause the code for 1/10 second
//1 second = 1000
delay(100);
}
如果你想知道光电管上读进的数字,你可以加入串口程序
/*
LED Dimmer
by Genius Arduino Programmer
2012
Controls the brightness of an LED on pin D9
based on the reading of a photocell on pin A0
This code is in the Public Domain
*/
// name analog pin 0 a constant name
const int analogInPin = A0;
// name digital pin 9 a constant name
const int LEDPin = 9;
//variable for reading a photocell
int photocell;
void setup() {
Serial.begin(9600);
}
void loop() {
//read the analog in pin and set the reading to the photocell variable
photocell = analogRead(analogInPin);
//print the photocell value into the serial monitor
Serial.print("Photocell = " );
Serial.println(photocell);
//control the LED pin using the value read by the photocell
analogWrite(LEDPin, photocell);
//pause the code for 1/10 second
//1 second = 1000
delay(100);
}
|