IFD:Interaktive Elektronik 2012/Arduino programming beginners: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
[[File:LED_Pin_13_Steckplatine.png | thumb | Using an LED on pin 13]] | |||
[[File: | |||
Use an LED on pin 3 | [[File:LED_Pin_3_Steckplatine.png | thumb | Use an LED on pin 3]]<br> | ||
[[File: | |||
[[File:LED_Pin_3_Potentiometer_A0_Steckplatine.png | thumb |Use a Potentiometer and LED]]<br> | |||
We covered in the first lesson: | |||
* Arduino file format (pde and ino) | |||
* Functions of the buttons of the Arduino IDE | |||
* Opening the Serial monitor. | |||
* Going through the blink example. | |||
** setup: | |||
*** set pin 13 to output | |||
** loop: | |||
*** set pin 13 to be turned on | |||
*** wait one second | |||
*** set pin 13 to be turned off | |||
*** wait one second | |||
*** repeat the loop. | |||
<br clear="all"> | |||
Today: | |||
* introduce the concept of variables. | |||
* introduce the "if" condition. | |||
* introduce functions. | |||
Introducing variables. | |||
int (means an integer number: 0 1 2 3 4 5 6 ... and also negative numbers. limits: -32,768 to 32,767 | |||
there are other kinds of variables. we only use int for simplicity in this lesson. | |||
valid names for variables: otto, lemonade24 and pudding | |||
not allowed names for variables: ööö äää 1234Otto (must start with an alphanumeric character) | |||
better names for variables: delayTimeOff, pinNumber, delayTimeOn | |||
=== using variables === | |||
variables are a place to store numbers in the memory. They make life easier in many cases: | |||
replace pin number by a variable - changing pin is much less tedious and cumbersome. | |||
replace delay by a variable - doesn't seem useful first. but: | |||
Changing variables during runtime (while the program is running) is also possible: | |||
'''Having some random fun''' | |||
<source lang="c">delayTime = random(1000);</source> | |||
will assign a random number from 1 to 1000. | |||
Some other useful ways to assign a new value to a variable: | |||
today we use: + - * | |||
increasing the delay time: | |||
<source lang="c"> | |||
delaytime = 100; | |||
delaytime = delaytime + 100; | |||
</source> | |||
in the first line delaytime gets the new value 100 | |||
in the second line something apparently strange happens - how is this possible? | |||
This line is not meaning a mathematical equality. The right side of the equals sign (=) is calculated first and then assigned to the left side of the equals sign. The following 3 steps happen - invisible for you inside the program when it's running: | |||
'''Step 1:''' The old delaytime is replaced by 100 | |||
<source lang="c"> delaytime = 100 + 100 </source> | |||
'''Step 2:''' The values on the right side of the equals sign are added and assigned to the variable: | |||
<source lang="c"> delaytime = 200 </source> | |||
Now the value of delaytime is 200. | |||
=== a new kind of output: ''analogWrite'' === | |||
Since we are working with LEDs a desirable feature would be to set the brightness. ''analogWrite'' lets us do this: <source lang="c"> analogWrite(pinNumber,Brightness); </source> | |||
or more generally since it is not only meant for brightness: | |||
<source lang="c"> analogWrite(pinNumber,analogValue); </source> |
Revision as of 00:04, 10 May 2012
We covered in the first lesson:
- Arduino file format (pde and ino)
- Functions of the buttons of the Arduino IDE
- Opening the Serial monitor.
- Going through the blink example.
- setup:
- set pin 13 to output
- loop:
- set pin 13 to be turned on
- wait one second
- set pin 13 to be turned off
- wait one second
- repeat the loop.
- setup:
Today:
- introduce the concept of variables.
- introduce the "if" condition.
- introduce functions.
Introducing variables. int (means an integer number: 0 1 2 3 4 5 6 ... and also negative numbers. limits: -32,768 to 32,767 there are other kinds of variables. we only use int for simplicity in this lesson. valid names for variables: otto, lemonade24 and pudding not allowed names for variables: ööö äää 1234Otto (must start with an alphanumeric character) better names for variables: delayTimeOff, pinNumber, delayTimeOn
using variables
variables are a place to store numbers in the memory. They make life easier in many cases: replace pin number by a variable - changing pin is much less tedious and cumbersome. replace delay by a variable - doesn't seem useful first. but:
Changing variables during runtime (while the program is running) is also possible:
Having some random fun
delayTime = random(1000);
will assign a random number from 1 to 1000.
Some other useful ways to assign a new value to a variable: today we use: + - * increasing the delay time:
delaytime = 100;
delaytime = delaytime + 100;
in the first line delaytime gets the new value 100 in the second line something apparently strange happens - how is this possible? This line is not meaning a mathematical equality. The right side of the equals sign (=) is calculated first and then assigned to the left side of the equals sign. The following 3 steps happen - invisible for you inside the program when it's running:
Step 1: The old delaytime is replaced by 100
delaytime = 100 + 100
Step 2: The values on the right side of the equals sign are added and assigned to the variable:
delaytime = 200
Now the value of delaytime is 200.
a new kind of output: analogWrite
Since we are working with LEDs a desirable feature would be to set the brightness. analogWrite lets us do this:
analogWrite(pinNumber,Brightness);
or more generally since it is not only meant for brightness:
analogWrite(pinNumber,analogValue);