Professional Documents
Culture Documents
LP TRNH IU KHIN
ARDUINO
CHO NGI MI
BT U V1
Ngoi ra, board Arduino cn cung cp cho ta cc pin khc nhau nh pin cp ngun
3.3V, pin cp ngun 5V, pin GND...
Vi iu khin ATmega328P
in p hot ng 5V
in p vo khuyn dng 7-12V
in p vo gii hn 6-20V
Digital I/O pin 14 (trong 6 pin c kh nng bm xung)
PWM Digital I/O Pins 6
Analog Input Pins 6
Cng dng in trn mi I/O pin 20 mA
Cng dng in trn mi 3.3V pin 50 mA
Flash Memory 32 KB (ATmega328P)
0.5 KB c s dng bi bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
*Cc bn c th np code cho Board Pro Mini bng Board USB to Serial
UART (CP2102,). Cch kt ni nh sau mch np vi Arduino Pro Mini nh
sau:
3. Arduino Nano ( Nh, tin li, mang trn mnh tinh hoa ca Arduino Uno).
Sau khi hon thnh qu trnh ci t, nu mun quay li lp trnh cho Arduino Uno,
th bn ch cn chnh tn board l Arduino Uno v "Serial Port" thnh cng Serial m con
Uno ca bn ang kt ni.
Bao gm:
5 Chn GND
3 chn 5V
a. Cu lnh cu trc:
SETUP() v LOOP()
Nhng lnh trong setup() s c chy khi chng trnh ca bn khi ng.
Sau khi setup() chy xong, nhng lnh trong loop() s c chy.
digitalWrite(led, HIGH);
delay(5000);
digitalWrite(led, LOW);
delay(5000);
digitalWrite(led, HIGH);
delay(5000);
digitalWrite(led, LOW);
delay(5000);
digitalWrite(led, HIGH);
delay(5000);
digitalWrite(led, LOW);
delay(5000);
if....else
Trc khi c lnh if ... else th chng ta phi tm hiu v mt s ton t SAU:
Ton t logic:
Ton t ngha V d tham kho
Ton t SO SNH:
Cc ton t so snh thng dng so snh 2 s c cng mt kiu
d liu.
ngha v d
Ton t
== so snh bng (a == b) tr v TRUE nu a bng b v ngc li
so snh
!= (a != b) tr v TRUE nu a khc b v ngc li
khng bng
B hn hoc
<= (a <= b) tng ng vi ((a < b) or (a = b))
bng
Ln hn hoc
>= (a >= b) tng ng vi ((a > b) or (a = b))
bng
Cu lnh if
C php:
if ([biu thc 1] [ton t so snh] [biu thc 2]) { //biu thc iu kin
[cu lnh 1]
} else {
Bn c th kt hp nhiu biu thc iu kin khi s dng lnh if. Ch rng mi biu
thc con phi c bao bng mt ngoc trn v phi lun c mt cp ngoc trn bao
ton b biu thc con.
switch / case:
switch (var) {
case label:
//on lnh
break;
case label:
// on lnh
break;
/*
case ... more and more
*/
default:
// statements
}
Lnh while:
Gii thiu lnh cu trc while
Vng lp while l mt dng vng lp theo iu kin, mnh khng th bit trc s ln
lp ca n nhng mnh qun l lc no th n ngng lp!
Ging nh lnh for, cng c vi khi nim m bn cn nm
int day = 1;
int nam = 2014; // Nm 2014
while (day < 365) { //Chng no day < 365 th cn chy (<=364). Khi day == 365 th
ht 1 nm...
day += 1; //
delay(60*60*24);// Mt ngy c 24 gi, mi gi c 60 pht, mi pht c 60 giy
}
nam += 1; //... by gi l mt nm mi !
Lnh Continue:
Gii thiu lnh cu trc continue
int a = 0;
int i = 0;
while (i < 10) {
i = i + 1;
continue;
a = 1;
}
//a vn bng 0
Lnh Break:
break l mt lnh c chc nng dng ngay lp tc mt vng lp (do, for, while)
cha n trong . Khi dng vng lp, tt c nhng lnh pha sau break v trong
vng lp chu nh hng ca n s b b qua.
int a = 0;
while (true) {
if (a == 5) break;
a = a + 1;
}
//a = 5
while (true) {
while (true) {
a++;
if (a > 5) break;
}
a++;
if (a > 100) break;
}
//a = 101
return;
return value; // c 2 u ng
Thng s
Th thut
Khng nn dng lnh goto trong chng trnh Program hay bt c chng trnh
no s dng ngn ng C. Nhng nu s dng mt cch khn ngoan bn s ti u
ha c nhiu iu trong mt chng trnh!
Vy n hu ch khi no, l lc bn ang dng nhiu vng lp qu v mun thot
khi n mt cch nhanh chng!
Vng lp
do
{
<cu lnh>
} while (<iu kin>);
Lnh r nhnh
Kiu int l kiu s nguyn chnh c dng trong chng trnh Arduino.
var: tn bin
val: gi tr
biu din gi tr thc ca mt php chia bn phi 2 s thc chia cho ln nhau.
V d: bn x l php tnh 5.0 / 2.0 th kt qu s tr v l 2.5. Nhng nu m bn
x l php tnh 5 / 2 th kt qu s l 2 (v hai s nguyn chia nhau s ra mt s
nguyn).
V d v kiu d liu float:
float myfloat;
float sensorCalbrate = 1.117;
var: tn bin
val: gi tr
Code tham kho s dng kiu d liu float:
int x;
int y;
float z;
x = 1;
y = x / 2; // y s tr v kt qu l 0
z = (float)x / 2.0; //z s c kt qu l 0.5 (bn nhp 2.0, ch khng phi l 2)
led = 13;
void setup() {
pinMode(led, OUTPUT);
}
Gii thch
string ting Anh ngha l chui. Trong mt chng trnh Arduino c 2 cch nh
ngha chui, cch th nht l s dng mng k t biu din chui. Bi vit ny
xin m t chi tit v cch th nht.
char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'}; //khai bo chui c di ti a l 8 k t
v t n gi tr ban u l arduino (7 k t). Buc phi khai bo chui nm gia h
ai du nhy n nh!
char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};//khai bo chui c di ti a l 8 k
t v t n gi tr ban u l arduino<k t null> (8 k t)
char Str4[ ] = "arduino";// Chng trnh dch s t ng iu chnh kch thc cho
chui Str4 ny v ngoi ra bn phi t mt chui trong du ngoc kp
Mng chui
char* myStrings[]={"This is string 1", "This is string 2", "This is string 3",
"This is string 4", "This is string 5","This is string 6"};
void setup(){
Serial.begin(9600);
}
void loop(){
for (int i = 0; i < 6; i++){
Serial.println(myStrings[i]);
delay(500);
}
}
Gn mt gi tr cho mt phn t
mySensVals[0] = 10;
x = mySensVals[0]; //10
c. Hm v Th Tc:
Hm ton hc min():
M t v hm ton hc min()
Tham s
Tr v
S nh nht trong 2 s.
Gi
delay c nhim v dng chng trnh trong thi gian mili giy. V c mi 1000
mili giy = 1 giy.
delay(ms)
iu khin n LED sng nhp nhy theo yu cu bng arduino uno R3.
void setup() {
pinMode(13, OUTPUT);
void loop() {
Tr v
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print("Time: ");
time = micros();
// in ra thi gian k t lc chng trnh c bt u
Serial.println(time);
// i 1 giy trc khi tip tc in
delay(1000);
}
Tr v
Mt s nguyn kiu unsigned long l thi gian k t lc thng trnh Arduino c
khi ng
Nhim v ca hm analogWrite():
C php hm analogWrite():
void setup() {
}
void loop() {
for (int i = 0; i <= 255; i++)
{
analogWrite(led,i);
delay(20);
}
}
Nhim v ca hm analogRead():
analogRead(chn c in p);
V d hm analogRead():
analogReference(type)
digitalRead(pin)
Tr v gi tr
Lnh digitalWrite():
digitalWrite(pin,value)
V d v lnh digitalWrite()
Lnh pinMode():
Cc bn c th ti code ti y hn ch li:
http://tdhshop.com.vn/lap-trinh-dieu-khien-arduino-cho-nguoi-moi-bat-dau
*/
void setup() {
// t 'led' l OUTPUT
pinMode(led, OUTPUT);
}
// Hm loop chy mi mi sau khi kt thc hm setup()
void loop() {
delay(2000); // dng chng trnh trong 2 giy => thy n sng c 2 giy
pinMode(13, OUTPUT);
digitalWrite(13,HIGH);
digitalWrite(13,LOW);
S ni dy:
Sau khi np code xong cc bn se thy led sng 2 giy v tt 5 giy , vn sng
tt ca led cc bn c th thay i thi gian c.
http://tdhshop.com.vn/lap-trinh-dieu-khien-arduino-cho-nguoi-moi-bat-dau
void setup()
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
void loop()
delay(del); // wait
delay(del); // wait
S kt ni:
byte pinCount; // Khai bo bin pinCount dng cho vic lu tng s chn LED
void setup() {
pinCount = sizeof(ledPin);
void loop() {
/*
Bt tun t cc n LED
*/
digitalWrite(ledPin[i],HIGH); //Bt n
/*
Tt tun t cc n LED
*/
digitalWrite(ledPin[i],LOW); // Tt n