Literatura polonă pentru copii tradusă în limba română
Aiesec University 2012-arduino
1.
2.
3. Track – First Day
What is Arduino ?
Developement environment;
„Hello world” ... Arduino way
Buttons, LEDs, Temp. sensor, Serial port, LCD
and varoius others;
Driving motors and reading distances with
Arduino;
Sumo Robots principles ...
Sumo rules
4. Track – Second day
... and practices;
State machines;
Preseinting AU-Bot ;-)
Mecanical and soldering skills
Rough programming of the Bot;
Simple state machine that does not much
Let your imagination roar
No dirty tricks ... or ... ?
7. Pini: analogici si digitali
Pinii digitali sunt utilizati pentru a citi marimi care pot avea doar doua valori (exemplu : "este butonul apasat sau nu
este"), pentru a comanda dispozitve externe (led-uri, motoare) si pentru a comunica cu dispozitive care
utilizeaza protocoale digitale.
int v = digitalRead(6);
digitalWrite(6, HIGH);
Pinii analogici sunt utilizati pentru a citi marimi care variaza continuu (exemple : nivelul de ilumare din incapere,
distanta pana la un obiect).
int distanta = analogRead(3);
8. „Limbajul” Arduino
void setup() {
//codul de aici ruleaza
//o singura data
}
void loop() {
/* codul de aici ruleaza cat
timp Arduino este alimentat
*/
}
10. Un led - conexiuni
pinul GND - GND Arduino
pinul DO - pinul 13 Arduino
11. Doua led-uri
Sa se realizeze circuitul electric si un program care
sa aprinda doua led-uri alternativ: primul led sta
aprins 1 secundea apoi se stinge si se aprinde al
doilea si tot asa
12. Debug in consola seriala
- util pentru a intelege ce se intampla cu programul care ruleaza pe Arduino.
- codul care ruleaza pe Arduino trimite text catre PC, care este afisat in mediul
de dezvoltare, in consola seriala.
void setup() {
Serial.begin(9600);
}
int i;
void loop() {
i++;
Serial.println(i);
delay(500);
}
13. Senzor de lumina
- primul exemplu de senzor analogic
- fotorezistor
- divizorul de tensiune !!!
5V - 5V Arduino
GND - GND Arduino
A0 - pinul 0 analogic Arduino
void setup() {
Serial.begin(9600);
}
void loop() {
int v = analogRead(0);
Serial.println(v);
}
14. Buton
- primul exemplu de „senzor” digital
5V - 5V Arduino
GND - GND Arduino
DO - pinul 7 digital Arduino
void setup() {
Serial.begin(9600);
pinMode(7, INPUT);
}
void loop() {
int v = digitalRead(7);
Serial.println(v);
}
15. Structura "IF"
if ( <conditie> ) {
actiune1;
} else {
actiune2;
}
Exista si operatorul contitional ternar „?” pentru cine simte nevoia ;)
16. Led + Buton - conexiuni
prelungitor alimentare
pinul negru - GND Arduino
pinul rosu - 5V Arduino
led
pinul negru - GND prelungitor alimentare
pinul alb(albastru) - pinul digital 13 Arduino
buton
pinul negru - GND prelungitor alimentare
pinul rosu - 5 V prelungitor alimentare
pinul alb(albastru) - pinul 7 digital Arduino
17. Led + Buton - cod sursa
void setup() {
pinMode(7, INPUT);
}
void loop() {
int v = digitalRead(7);
if (v == 1) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
}
18. Senzor de distanta
Masoara distanta pana la primul obiect din fata senzorului.
Este relativ precis intre 10 cm si 80 de cm.
Sunt senzori si pentru alte intervale de precizie
pinul rosu – 5V
pinul negru – GND
pinul alb -
pinul 0 analog Arduino
float volts = analogRead(0)* ((float) 5 / 1024);
float distance = 65*pow(volts, -1.10);
19. Senzor de distanta - debug serial
- realizeaza un montaj care sa afiseze distanta citita de senzor
in interfata de debug seriala.
20. Senzor de distanta + Led-uri
- realizeaza un montaj care sa aprinda unul, doua sau trei led-
uri, in functie de distanta citita de senzorul de distanta.
22. Senzor de distanta + Difuzor
- realizeaza un montaj care sa genereze un sunet cu o
frecventa proportionala cu distanta citita de senzorul de
distanta.
- creeaza muzica miscand mana in fata senzorului.
23. Senzor de temperatura
int sensorPin = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
int reading = analogRead(sensorPin);
float voltage = reading * 5.0;
voltage /= 1024.0;
float temperatureC = (voltage - 0.5) * 100 ;
Serial.print(temperatureC); Serial.println(" degrees C");
delay(1000);
} Rosu - 5V Arduino
Negru - GND Arduino
Albastru - pinul 0 Analogic Arduino