Arduinoprojecten
In deze WIKI staan een aantal projecten die je moet gaan maken.
Hierdoor begrijp je beter hoe je een Arduino kunt programmeren.
We spreken af dat elke "sketch" je naam en de programmeerdatum bevat.
Veel plezier met de projecten.
Maar eerst;
- hoe sluit je een arduino aan?
- hoe zet je er een programma in?
- hoe sluit je een led of eenweerstand enz. aan?
- hoe gebruik je de bibliotheek enz, enz, enz....
Dit lees je in de introductie
1. Je eerste Arduino project.
aansluit voorbeeld 'blink'
Dit wordt jullie eerste project met een Arduino.
Om jezelf bekent te maken met de Arduino, loop je eerst door de stappen heen van het simpelste project: het aan- en uitschakelen van een LEDje.
Project 1.1
Nadat het gelukt is om een LED-lampje te laten knipperen met een aan/uit tijd van 1 seconde moet je nog 2 projecten maken.
Sla de "sketches" op en zorg ervoor dat in de sketc jouw naam staat en de datum van programmeren. (Later handig om te kijken wat de laatste versie is)
Project 1.2.
Pas de sketch zodanig aan dat het LED-lampje 1,5 seconde brandt en 0,5 seconde uit is.
Project 1.3.
Maak een programma die er voor zorgt dat een LED-lampje 2 seconden op uitgang 10 brandt.
Op uitgang 8 zit ook een LED-lampje die aangaat gedurende 1 seconde als LED-lampje op 10 uitgaat.
Dit blijft zich herhalen tot je de stroom uitzet.
________________________________________________________________________________
2. Een tweetal projecten waarbij we een arduino en de serieële monitor gebruiken.
Het is de bedoeling dat je het volgende project helemaal gaat nadoen.
Zorg ervoor dat de code in jouw arduino komt te staan en controleer de werking van deze arduino-rekenmachine.
Project 2.2
Nadat je de "calculator" met succes hebt gemaakt is het nu de bedoeling dat je een omreken machine maakt die decimale getallen gaat omzetten in hexadecimaal- en in binaire getallen.
Zie hiervoor ook blz 20 van deel 3 Arduino Programmeren voor Beginners. Werken met informatie
Opdracht:
Project 2.3
Maak een code die vraagt om een decimaal getal. Dat getal wordt in hexadecimaal en binair omgerekend en afgedrukt op je beeldscherm.
----------------------------------------------------------------------------------------------------------------------------------------
3: LED met schakelaar PULL_DOWN en PULL_UP
We gaan zorgen dat de arduino het verschil kent tussen een hoog (HIGH) en een laag (LOW) signaal.
We gaan eerst zorgen dat als je de schakelaar indrukt een led gaat branden daarna het omgekeerde.
Als je de schakelaar indrukt gaat de led uit.
Als de ene knop ingedrukt wordt gaat de ene Led aan, enz.
Hoe je dit kunt oplossen ga je zien in project 3.2 .
4. Programma met If...then; if ....else.
We gaan kennismaken met de functie if ... then en if ... else.
Een mooi voorbeeld is in het voorbeeld spaceshipinvaders te zien te zien.
Druk op de knop Spaceshipinterface.
Het programma kom je ook standaard tegen in jouw aduino. Je kunt hem bereiken door in het programma van de Arduino te kiezen ; bestand - voorbeelden - Starterkit_BasicKit - p02_Spaceshipinteface.
Opdracht 1.
Ga dit prgramma uitproberen.
Sluit de arduino aan op de componenten.
Opdracht 2.
Een ander programma is het maken van een dobbelsteen met behulp van de arduino.
Ga hiervoor naar project 7 .
Bouw dit project na.
5. Programmeren met for..., while..., en do....while loop.
Arduino Stopwatch Project
Werk het onderstaande voorbeeld door.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Arduino Stopwatch Project
Here is a project that will help you build your own Arduino stopwatch using the Arduino Board and few other components. After working on this basic Arduino countdown timer, a user suggested adding few more functionality to it, which is why we are coming back with this other timer with a short list of additions: You can set the time without having to change the code and it actually let you know when it reaches zero.
Arduino stopwatch
Here is what we need:
- 1 x Arduino Uno board
-
- 1 x LCD with I2C converter
-
- 1 x Buzzer
-
- 1 x Potentiometer
-
- Jumper wires
-
- 1 x Breadboard
Here is schematic:
When you are done with the connections, you can upload the following program into the board.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
//this values will help us to choose the time
long last_change;
long last_value;
long timer_value;
void setup()
{
//inti lcd
lcd.init();
//turn on backlight
lcd.backlight();
pinMode(A0, INPUT);
pinMode(8, OUTPUT);
}
void loop()
{
//if the value was changed less than 5 seconds ago this loop will work
while(millis() - last_change < 5000){
timer_value = map(analogRead(A0), 0, 1023, 1, 120);
if(timer_value != last_value){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Timer");
lcd.setCursor(0,1);
lcd.print(timer_value);
last_value = timer_value;
last_change = millis();
}
delay(10);
}
//after 5 seconds this will happen
lcd.clear();
lcd.print("starting...");
delay(3000);
long target = last_change + (timer_value * 60 * 1000);
//and then it will start displaying how much time there is until end of counting
while(millis() < target){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Time left:");
lcd.setCursor(0, 1);
lcd.print((target - millis()) / 1000 / 60);
delay(50);
}
//and few beeps at the end
for(int a = 0; a < 10; a++){
digitalWrite(8, HIGH);
delay(500);
digitalWrite(8, LOW);
delay(500);
}
while(1);
}
|
This is what the user can do: Set the time between 1 and 120 minutes. After specifying the time, it waits for 5 seconds and starts counting down. When the time is up, it beeps few times. As simple as that.
Here is a sample of my Arduino stopwatch at work.
Hope it helped. Catch you on the next project.
6. Meerdere projecten
We gaan werken met de LCD display.
Zorg ervoor dat er 16 pinnetjes aan het bordje met de LCD display zijn gesoldeerd.
Ga naar het handbook
PART 4: LCDS
PROJECT 12: LCD SCREEN WRITER
HOW IT WORKS
PREPARING THE LCD SCREEN
THE BUILD
THE SKETCH
zorg er voor dat je elke tekst kunt laten zien.
Als voorbeeld maak je de display zo dat op de bovenste regel jouw voornaam komt te staan en op de onderste regel jouw achternaam.
7. Een weerstation met LCD display
We gaan verder met project 13
WEATHER STATION IN THIS PROJECT YOU’LL SET UP A WEATHER STATION TO MEASURE TEMPERATURE AND HUMIDITY, AND DISPLAY THE VALUES ON AN LCD SCREEN.
Hiervoor hebben we een censor nodig die de luchtvochtigheid en temperatuur kan meten.
Op school hebben we de censor AM2302.
Zoek met google de aansluitgegevens.
Behalve de censor hebben we ook de bibliotheek van Arduino nodig.
De docent geeft een uitlegover het gebruik hiervan.
Let goed op want jij moet deze bibliotheek zelf gaan beheren.
Opdracht;
- maak deze schakeling
- zorg ervoor dat de temperatuur in C komt te staan.
De koppeling naar het handbook en de code staat bij 6.