Worksheetsvi điều khiên
Total questions: 242
Worksheet time: 2hrs 1mins
Hệ thống số được tạo thành từ mười chữ số từ 0 đến 9 được gọi là:
Hệ tổng số nhị phân
Hệ thống số thập phân
Hệ thống số bát phân
Hệ thống số thập lục phân
Hệ thống số được tạo thành từ hai chữ số 0 và 1 được gọi là:
Hệ thống số bát phân
Hệ thống số thập lục phân
Hệ thống số thập phân
Hệ thống số nhị phân
Hệ thống số được tạo thành từ mười sáu chữ số từ 0 đến F
Hệ thông số nhị phân
Hệ thống số thập lục phân
Hệ thống số thập phân
Hệ thống số bát phân
Hệ thống số được tạo thành từ tám chữ số từ 0 đến 7 và sửdụng 03 bít để mã hoá nhị phân được gọi là
Hệ thống số thập lục phân
Hệ thống số thập lục phân
Hệ thống số bát phân
Hệ thống số thập phân
Số thập phân 15 có mã nhị phân là
0001b
1111b
0010b
Số thập phân 10 có mã nhị phân là
0001
1010
1110
0010
Số thập phân 5 có mã nhị phân là
0101
0001
0010
1110
Số thập phân 14 có mã nhị phân là
0001
1110
0010
1100
Để chuyển số thập phân sang số nhị phân, phát biểu nào sau đây là đúng nhấ
Chia số thập phân cho 15 và lấy phần dư
Chia số thập phân cho 8 và lấy phần dư
Chia số thập phân cho 10 và lấy phần dư
Chia số thập phân cho 2 và lấy phần dư, nếu kết quả là số nguyễn khác không tiếp tục chia phần nguyên của kết quả cho 2 và ghi lại phần dư. Số nhị phân thu được là các số dư lấy
Cho số nhị phân 1111b, hãy cho biết giá trị thập phân tương ứng của số này
14D
11D
15D
10D
Cho số nhị phân 1010b, hãy cho biết giá trị thập phân tương ứng của số này?
11D
10D
12D
13D
Số thập phân 6 chuyển đổi sang số nhị phân có giá trị:
0011
0100
0110
1001
Số thập phân 15 biểu diễn dưới dạng số BCD là:
0001 0101b
0001 1010b
0001 1111b
0001 1110b
Số thập phân 9 chuyển đổi sang mã BCD là gì?
0101d
0001b
0110d
1010d
Số thập phân 23 chuyển đổi sang mã BCD là gì?
0010 0011b
0011 0010b
0010 0100b
0101 0111
Số thập phân 7 được biểu diễn trong mã BCD là gì?
0101 0111b
0000 0111b
0111b
0011 1000b
Số thập phân 45 chuyển sang mã BCD là gì?
0100 0101b
1001 0101b
0001 0110b
1100
Số thập phân 100 được chuyển sang mã BCD là gì
0000 0110b
0001 0000 0000b
0101 0100 0011b
1001 1000 1000b
Số hexa A chuyển đổi sang số nhị phân có giá trị là:
1010b
1100b
1110b
0110b
Số hexa 1 F chuyển đổi sang số nhị phân có giá trị là
0001 1111b
0011 1100b
1010 1001b
0000
Số hexa 7 được biểu diễn dưới dạng nhị phân có giá trị là:
0111b
1110b
1101b
1000b
Số hexa 2 chuyển sang số nhị phân có giá trị là:
0010 1101b
0011 1111b
0110 0101b
0010 1011b
Số hexa C được chuyển sang số nhị phân có giá trị là:
1100b
1111b
1011
1000b
Số hexa 5 chuyển đổi sang số nhị phân có giá trị là
0110b
0011b
0101b
1001b
Số hexa 9 A chuyển đổi sang số nhị phân có giá trị là
1000 1100b
1010 0111b
1001 1010b
1101 1110b
Số nhị phân 11011b tương ứng với số Hexa và số thập phân nào sau đáy?
1B và 30
1D và 29
1C và 28
1B và 27
Số thập phân 12 chuyển đổi sang số nhị phân có giá trị:
1100b
1010b
1110b
1000b
Số thập phân 19 chuyển đổi sang số nhị phân có giá trị
1000b
11001b
11110b
10011b
Số thập phân 25 chuyển đổi sang số nhị phân có giá trị:
11001b
10100b
11101b
11010b
Số thập phân 7 chuyển đổi sang số nhị phân có giá trị
0111b
1100b
1000b
0101b
Số nhị phân 1101b chuyển đổi sang số hexa có giá trị
0xB
0xD
0xF
0xA
Số nhị phân 1010b chuyển đổi sang số hexa là
0xA
0x9
0xC
0x6
Số nhị phân 1111b chuyển đổi sang số hexa là
0xE
0xF
0xC
0xB
Số nhị phân 1001b chuyển đổi sang số hexa là:
0x9
0xA
0x8
0x7
Số nhị phân 1100b chuyển đổi sang số hexa là:
0xD
0xB
0xC
0xA
Kiểu dữ liệu nào sau đây được dùng để lưu 01 ký tự
double
int
float
char
Kiểu dữ liệu nào sau đây được dùng để lưu trữ một số nguyên
char
signed int
unsigned int
float
Kiểu dữ liệu nào sau đây được dùng để để lưu trữ số thực:
double
int
char
unsigned int
Kiểu dữ liệu nào sau đây được dùng để lưu trữ một số nguyên âm
float
unsigned int
unsigned char
signed int
Câu lệnh nào sau đây đúng khi khai bảo biển kiểu float?
float x = 3.14;
int x = 3.14;
double x = 3;
char x='3'
Kiểu dữ liệu nào sau đây được dùng để lưu trữ một ký tự và có giá trị âm?
signed char
unsigned char
int
float
Đoạn mã nào dưới đây đúng với cấu trúc rẽ nhánh if else?
if x > 0: y else: y = - 1
if (x > 0) { y = 1 ;} else {y=-1; }
if x > 0 then y = 1 else y = - 1
if (x > 0) { y = 1 } else y = - 1
Câu lệnh switch nào sau đây đúng?
switch (x) { case 1 : y = 10; break; case 2: y = 20; break;}
switch x { case 1 : y = 10; break; case 2: y = 20; break;}
switch (x) { 1 : y = 10; break; 2: y = 20; break;}
switch (x) { case 1 : y = 10; case 2: y = 20;}
Đoạn mã nào sau đây đúng với vòng lặp for
for (i= 0, i < 10 , i++) {sum += i; }
for i in range(10): sum += i
for ( int i = 0; 1 < 10; i++) {sum += i; }
for ( int i = 0; 1 < 10; i++) sum += i;
Vòng lặp while nào dưới đây đúng?
while(i< 10) { i++; }
while i< 10 { i++; }
while(i< 10) ; { i++; }
while(i< 10) i++;
Kiểu dữ liệu nào sau đây là kiểu số nguyên?
double
float
int
char
Kiểu dữ liệu nào sau đây có kích thước lớn nhất trong C?
char
int
float
double
Kiểu dữ liệu nào sau đây có kích thước nhỏ nhất?
char
int
double
float
Câu lệnh nào dưới đây đúng khi khai báo biến kiểu unsigned int?
signed int age = 30;
unsigned int age = 30;
unsigned char mathfrak age = 30;
int age 30;
Biến nào sau đây có thể lưu trữ số nguyên lớn nhất trong C?
int
unsigned int
char
float
Câu lệnh if nào dưới đây là đúng?
if ( x == 10 ) { y = 1 }
if ( x = 10 ) { y = 1 ; }
if ( x = 10 ) y = 1 ;
if ( x == 10 ) { y = 1 ; }
Kiểu dữ liệu nào sau đây dùng để biểu diễn ký tự có dấu
signed char
signed char
int
float
Đoạn mã nào dưới đây đúng với vòng lặp do while?
do x++ while ( x < 10 )
do { x++ } while x < 10
do { x++ ; } while ( x < 10 );
do x++ ; while ( x < 10 )
Kiểu dữ liệu nào sau đây có thể lưu trữ số thực có độ chính xác kép?
float
double
int
char
Đoạn mã nào dưới đây đúng với việc khai bảo và khởi tạo biển kiểu int?
int a = 5;
float a = 5;
char a = 5;
double a = 5;
Kiểu dữ liệu nào sau đây có thể lưu trữ giá trị lớn nhất là 255
int
signed char
unsigned char
float
Kiểu dữ liệu char chiếm bao nhiêu byte trong bộ nhớ?
1 byte
2 bytes
4 bytes
8 bytes
Giá trị tối đa của kiểu dữ liệu unsigned char là bao nhiêu?
65535
127
255
32767
Trong C, kiểu dữ liệu float chiếm bao nhiêu byte trong bộ nhớ?
4 bytes
2 bytes
8 bytes
16 bytes
Kiểu dữ liệu double chiếm bao nhiêu bịt trong bộ nhớ?
128 bits
32 bits
16 bits
64 bits
Biến kiểu signed char có thể lưu trữ giá trị tối đa nào sau đây?
127
255
32767
-128
Giá trị nhỏ nhất mà một biến kiểu int có thể lưu trữ là bao
-2147483648
-32768
0
-128
Khi sử dụng kiểu unsigned int, giá trị lớn nhất có thể lưu trữ là
65535
4294967295
32767
2147483647
Biến kiểu float có thể lưu trữ số thập phân với bao nhiêu chữ số
15-16 chữ số
6-7 chữ số
4-5 chữ số
10-12 chữ số
Điều kiện nào sau đây là đúng để chương trình thực hiện các câu lệnh trong nhánh else trong câu lệnh if sau?
int x 10;
if (x==5)
printf("True");
else
printf("False");
Khi x bằng 10
Khi x lớn hơn 5
Khi x nhỏ hơn 5
Khi x không bằng 5
Đầu ra của đoạn chương trình sau là gì?
int a = 5;
if (a = 5)
printf("Equal");
else
printf("Not equal");
Equal luôn được in ra màn hinh
Not Equal luôn được in ra màn hinh
Lỗi logic do thiếu "==" trong điều kiện
Lỗi biên dịch do thiếu dấu ngoặc ;
Chỉ ra nguyên nhân lỗi logic của câu lệnh if sau đây:
int a = 10;
if (a = 10)
printf("True");
Sai vì thiếu dấu ngoặc ()
Sai vì a không thể bằng 10
Thiếu dấu == trong điều kiện
Không có lỗi
Đoạn mã sau sẽ in ra kết quả nào?
int x = 0;
if (x)
printf("Yes");
else
printf("No");
Lỗi biên dịch
Yes
No
Không in gì cả
Đoạn mã sau sẽ in ra kết quả nào?
int x = 2;
switch (x) {
case 1: printf("One");
case 2: printf("Two");
case 3: printf("Three");
default: printf("Default"); }
Two
Two ThreeDefault
Three
Default
Điều gì sẽ xảy ra nếu không có break trong các trường hợp của switch?
Chương trình tiếp tục thực hiện các case tiếp theo cho đến khi gặp break hoặc kết thúc switch
Chương trình chỉ thực hiện case đầu tiên khớp điều kiện
Chương trình bị lỗi biên dịch
Chương trình sẽ dừng ngay lập tức
Đoạn mã sau sẽ in ra kết quả nào?
int x= 5;
switch (x) {
case 1: printf("One");
break;
case 5: printf("Five");
default: printf("Default");
}
FiveDefault
Default
Five
Không in gì cả
rong switch, default có thể xuất hiện ở đâu?
Chỉ sau case cuối cùngh
Chỉ ở cuối cùng
Chỉ ở đầu tiên
Bất cứ đâu trong cấu trúc switch
Kết quả của đoạn mã sau là gì?
int i;
for ( i = 0 ; i < 5 i++);
printf("%d", i);
5
4
0
6
Điều gì xảy ra nếu vòng lặp for không có điều kiện dừng?
Vòng lặp chỉ thực hiện một lần
Vòng lặp sẽ chạy vô tận
Lỗi biên dịch
Vòng lặp sẽ bỏ qua
Đoạn mã sau sẽ in ra kết quả nào?
int i;
for ( i = 0 ; i < 3 i++)
printf("%d", i);
012
123
345
210
Kết quả của đoạn mã sau là gì?
int i;
for (i = 0 ; i < 3; i ++) ;
printf("%d", i);
0
2
1
3
Kết quả của đoạn mã sau là gì?
int i = 0;
while (i < 3) {
i ++;
printf("%d", i);
}
3
2
1
0
Điều gì sẽ xảy ra nếu vòng lặp while không có điều kiện dừng?
Vòng lặp sẽ chạy vô tận
Vòng lặp chỉ thực hiện một lần
Lỗi biên dịch
Vòng lặp sẽ bỏ qua
Đoạn mã sau có lỗi gì?
int i = 5
while (i < 5)
printf("%d", i);
Lỗi biên dịch do thiếu dấu ;
Không có lỗi, nhưng không in ra gì vì điều kiện không đúng
Lỗi biên dịch do thiếu dấu {} cho thân vòng lặp
Lỗi vi i không thay đổi
Kết quả của đoạn mã sau là gì?
int i = 0
while (i++ < 3);
printf("%d", i);
1
3
2
4
Đoạn mã sau sẽ in ra kết quả nào?
int x = 5
if (x > 5)
printf("Greater");
else if (x == 5)
printf("Equal");
else
printf("Less").
Không in gì cả
Greater
Less
Equal
Đoạn mã sau có lỗi gì?
int x = 5
switch (x) {
case 1: printf("One");
break;
case 5: printf("Five");
break;
case 10: printf("Ten");
}
Không có lỗi.
Thiếu case default.
Sai vì x không thể bằng 5.
Sai vì không có dấu; sau mỗi case.
Đoạn mã sau sẽ in ra kết quả nào?
int i;
for ( i = 0 i < 5 i++)
if (i == 3)
break;
printf("%d", i);
3
4
5
2
Đoạn mã sau có lỗi gì?
int i = 0;
do {
printf("%d", i);
i++;
} while (i < 0) ;
Lỗi biên dịch do không có dấu {} cho thân vòng lặp.
Lỗi do điều kiện trong while sai.
Không có lỗi, nhưng chỉ in ra 0 một lần.
Lỗi do i không thay đổi.
Đoạn mã sau sẽ in ra kết quả nào?
int x = 10;
if (x < 5)
printf("Small");
else if (x > 5)
printf ("Big");
else
printf("Equal");
Big
Small
Equal
Không in gì cả
Kết quả của đoạn mã sau là gì?
int i;
for ( i = 0 i < 3 ++i) {
printf("%d", i);
if (i == 1) continue;
printf("%d", i);
}
001122
00122
012
00112
Điều kiện nào sau đây là đúng để thực hiện nhánh else trong câu lệnh if (x > 5) else?
x <= 5
x >= 5
x == 5
x < 5
Câu lệnh switch nào sau đây là đúng trong C?
switch (x) { case 1: ... ; }
switch (x == 1) { case 1: ... ; }
switch (x > 1) { case 1: ... ; }
switch (x < 1) { case 1: ... ; }
Khi sử dụng cấu trúc if-else, điều kiện nào sau đây sẽ không bao giờ được kiểm tra nếu điều kiện if ban đầu là true?
Điều kiện trong nhánh else if
Điều kiện trong nhánh if
Điều kiện trong nhánh else
Điều kiện trong nhánh if tiếp theo
Đoạn mã nào dưới đây có thể dẫn đến lỗi logic?
if (x > 5) { ... }
if (x == 5) { ... }
if (x < 5) { ... }
if (x = 5) { ... }
Vòng lặp for nào dưới đây sẽ chạy vô tận?
for(;;) { ... }
for(int i = 0; i < 10; i++) {...}
for(int i = 0; i <= 10; i++) { ... }
for(int i= 10; i > 0; i--) { ... }
Câu lệnh while nào dưới đây có thể dẫn đến lỗi logic?
while(x < 0) { ... }
while(x == 0) { ... }
while(x = 0) { ... }
while(x > 0) { ... }
Đoạn mã nào dưới đây sẽ không thực hiện vòng lặp dù chỉ lần?
for(int i = 10; i < 0; i++) { ... }
for(int i = 0; i < 10; i++) { ... }
while(x > 0) { ... }
do {...} while (x > 0) ;
Vòng lặp while nào dưới đây sẽ kết thúc ngay lập tức khi đầu?
while(0) {...}
while(1) { ... }
while(x > 0) { ... }
while(x < 0) { ... }
Kết quả của biểu thức 5 + 3 * 2 trong C là gì?
13
16
10
11
Biểu thức nào dưới đây là đúng nếu x = 5 và y = 3 z = 1?
xy && y = x
x<y || y> x
x > y && z<y
x != y && y != x
Toán tử nào dưới đây không phải là toán tử logic trong C?
++
&&
||
!
Kết quả của biểu thức x && y khi x = 1 và y = 0 là gì?
1
0
x
y
Biểu thức x = (y = 3) + 2 sẽ trả về giá trị nào cho x?
5
3
2
0
Toán tử nào sau đây được ưu tiên cao nhất trong biểu thức đại số?
*
+
-
==
Câu lệnh x = y = z trong C có nghĩa gì?
x, y, z được gán cùng giá trị
2 được gán cho y, sau đó y được gán cho x
y được gán cho x, sau đó z được gán cho y
x được gán cho y, sau đó z được gán cho x
Kết quả của biểu thức 5 – 5 && 3 != 2 là gì?
1
0
true
false
Đoạn mã nào dưới đây sẽ gây ra lỗi biên dịch?
unsigned int w = 10
float y = 5
char z = 'A';
int x = 5
Kết quả của biểu thức sizeof(int) > sizeof(char) là gì?
1
0
true
false
Điều gì sẽ xảy ra nếu gán một giá trị lớn hơn phạm vi của kiểu dữ liệu char?
Giá trị sẽ được lưu trữ như bình thường.
Giá trị sẽ bị tràn và lưu trữ dưới dạng giá trị khác.
Trình biên dịch sẽ thông báo lỗi.
Không có gì xảy ra, giá trị sẽ được lưu trữ dưới dạng nguyên bản.
Kết quả của đoạn chương trình sau là bao nhiêu dấu * được in ra?
for ( ti = 0; i < 2 ;i++)
for (int j = 0; j < 3; j++)
printf("*");
6
5
3
2
Kết quả của đoạn mã sau là gì khi a = 2 b=5?
if (a > 1)
if (b > 3)
printf("A");
else
printf("B");
Không in gì
B
A
Lỗi biên
Kết quả của lệnh sau là gì?
int x=(5 > 3) ? 10 : 20;
printf("%d", x);
10
20
5
3
Giá trị của biển x sau đoạn mã dưới đây là bao nhiêu? int x=2+3* 4;
14
20
24
10
Kết quả của đoạn chương trình sau là gì?
int x = 2 y = 3;
if (x > 1)
if (y < 5)
printf("A");
else
printf("B");
else
printf("C");
A
B
C
Không in gi
Kết quả của đoạn mã sau là gì?
int a = 3, b = 2;
a += b * 3;
printf("%d", a);
9
5
6
8
Kết quả của biểu thức sau là gì?
int a = 5 ; b = 3 , c=(a > b) ? a-b : b-a;
printf("%d", c);
2
3
5
8
Biến static int x khác biến thường ở điểm nào?
Mất giá trị sau khi thoát hàm
Có thể truy cập từ file khác
Giữ giá trị sau khi hàm kết thúc
Là hằng số không thay đổi
Kết quả của đoạn mã sau là gì?
float x = (float) (5 / 2 );
printf("%.1f", x);
2.
2.5
3.0
2.0
Kết quả của biểu thức logic sau đây là gì?
int a = 5, b = 2, c = 8;
int kq (a > b) && (b > c);
printf("%d", kq);
0
1
2
8
Câu lệnh nào dưới đây dùng để thiết lập chân số 13 làm đầu ra?
pinMode(13, INPUT);
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
digitalRead(13);
Câu lệnh nào dưới đây dùng để đọc giá trị từ chân số 7
digitalRead(7);
digitalWrite(7, HIGH);
pinMode(7, INPUT);
analogRead(7);
Để bật đèn LED được kết nối với chân số 10, câu lệnh nào sau đây được sử dụng?
analogWrite(10, 255);
pinMode(10, OUTPUT);
digitalWrite(10, LOW);
digitalWrite(10, HIGH);
Giá trị nào dưới đây là giá trị logic cao khi sử dụng hàm digitalWrite?
HIGH
LOW
T
F
Để tắt một chân số được thiết lập làm đầu ra, bạn dùng câu lệnh nào?
pinMode(pin, OUTPUT)
digitalWrite(pin, HIGH);
digitalWrite(pin, LOW);
digitalRead(pin);
Nếu muốn sử dụng một chân làm đầu vào, câu lệnh nào dưới đây là đúng?
pinMode(pin, INPUT);
pinMode(pin, OUTPUT);
digitalRead(pin);
digitalWrite(pin, LOW);
Câu lệnh nào dưới đây dùng để đọc giá trị từ một chân tương tự (analog pin)?
digitalRead(A0);
analogWrite(A0, 128);
analogRead(A0);
pinMode(A0, INPUT);
Arduino Uno có bao nhiêu cổng vào tương tự?
6
8
10
12
Dải giá trị đầu ra của hàm analogWrite trên Arduino Uno là gì?
0 đến 255
0 đến 1023
0 đến 1024
0 đến 4095
Khi sử dụng hàm analogRead, giá trị trả về là gì?
Một giá trị trong khoảng từ 0 đến 65535
Một giá trị trong khoảng từ 0 đến 255
Một giá trị trong khoảng từ 0 đến 4095
Một giá trị trong khoảng từ 0 đến 1023
Câu lệnh nào sau đây sử dụng để điều chỉnh độ sáng của đèn LED kết nối với chân PWM?
analogWrite(pin, value);
analogRead(pin);
digitalWrite(pin, HIGH);
pinMode(pin, OUTPUT);
Hàm nào sau đây không liên quan đến việc làm việc với cổng tương tự?
analogRead(pin);
digitalWrite(pin, HIGH);
analogWrite(pin, value);
pinMode(pin, INPUT);
Chức năng của hàm setup() trong chương trình Arduino là gì?
Thiết lập các cấu hình ban đầu, chạy một lần khi khởi động
Vòng lặp chính của chương trình, chạy liên tục.
Dùng chương trình và chờ lệnh.
Điều khiển các chân vào ra.
Câu lệnh nào sau đây tạo ra khoảng thời gian trễ là 1 giây?
digitalRead(pin);
digitalWrite(pin, LOW);
pinMode(pin, OUTPUT);
delay(1000);
Vòng lặp chính của chương trình Arduino được thực hiện trong hàm nào?
etup()
loop()
main()
init()
Arduino IDE sử dụng ngôn ngữ lập trình nào?
Java
Python
C/C++
Ruby
Chức năng của hàm delay() trong Arduino là gì?
Chạy chương trình nhanh hơn.
Tạm dừng chương trình trong một khoảng thời gian nhất định.
Điều chỉnh tín hiệu đầu ra.
Khởi động lại chương trình.
Để viết chương trình cho Arduino, bạn cần lưu tệp với phần mở rộng nào?
ino
.cpp
.c
.hex
Tệp chương trình trong Arduino IDE được gọi là gì?
Project
Sketch
Script
Applet
Khi nhấn nút "Upload" trong Arduino IDE, chương trình sẽ được:
Lưu lại trên máy tính.
Biên dịch và tải lên bo mạch Arduino.
Chạy ngay trên máy tính.
Đưa vào thư mục dự án.
Arduino Uno có bao nhiêu chân số (digital pins)?
14
10
12
13
Chân nào dưới đây là chân dương nguồn trên Arduino Uno?
GND
A0
D13
VIN
Chân D13 trên Arduino Uno thường được sử dụng để kết nối với
Đèn LED tích hợp sẵn.
Cảm biến nhiệt độ.
Nút nhấn.
Màn hình LCD.
Chân nào trên Arduino Uno có thể được sử dụng cho cả cổng vào ra số và PWM?
A5
A1
D11
D2
Chân nào trên Arduino Uno có thể sử dụng cho giao tiếp UART (serial)?
D10 và D11
D2 và D3
A0 và A1
D0 và D1
Chân nào dưới đây có thể cung cấp điện áp 5V cho các thiết bị ngoại vi?
5V
GND
VIN
D7
Để kết nối Arduino Uno với máy tính qua USB, bạn sử dụng chân nào?
TX và RX
USB Port
VIN và GND
D0 và D1
Chân nào dưới đây là chân nối đất (ground) trên Arduino Uno?
D0
3.3V
5V
GND
Chân nào trên Arduino Uno có thể được sử dụng để cấp nguồn từ pin ngoài?
VIN
D13
A0
D7
Chân nào trên Arduino Uno có thể được sử dụng cho giao tiếp SPI?
A0, A1, A2, A3
D2, D3, D4, D5
D10, D11, D12, D13
D6, D7, D8, D9
Chức năng của chân RESET trên Arduino Uno là gì?
Đặt lại bo mạch, khởi động lại chương trình từ đầu.
Tắt bo mạch.
Chuyển đổi chế độ hoạt động.
Kết nối với máy tính.
Chân nào trên Arduino Uno có thể được sử dụng cho giao tiếp 12C?
D10 và D11
D2 và D3
A4 và A5
D12 và D13
Lệnh nào dưới đây dùng để khỏi tạo màn hình LCD 16x2 trên
lcd.begin(16, 2);
lcd.init();
lcd.start(16, 2);
lcd.setup(16, 2);
Để di chuyển con trỏ đến vị trí cột 0, dòng 1 trên LCD, bạn sử dụng lệnh nào?
lcd.moveCursor(0, 1);
lcd.cursor(0, 1);
lcd.goto(0, 1);
lcd.setCursor(0, 1);
Lệnh nào dưới đây dùng để xóa toàn bộ nội dung trên màn hình LCD?
lcd.erase();
lcd.clear();
lcd.delete();
lcd.reset();
Để in chuỗi ký tự "Hello, World!" lên màn hình LCD, bạn sử
lcd.print("Hello, World!");
lcd.show("Hello, World!");
lcd.write("Hello, World!");
Icd.display("Hello, World!");
Lệnh nào dùng để tắt đèn nền của màn hình LCD?
lcd.off();
lcd.noBacklight();
lcd.lightOff();
lcd.dim();
Để bật lại đèn nền của màn hình LCD sau khi đã tắt, bạn sửdụng lệnh nào?
lcd.backlight();
lcd.on();
lcd.lighton();
lcd.bright();
Để di chuyển toàn bộ nội dung trên màn hình LCD sang phải, bạn sử dụng lệnh nào?
lcd.shiftRight();
lcd.scrollDisplayRight();
lcd.moveRight();
lcd.shiftDisplayRight();
Để dừng việc di chuyển nội dung trên màn hình LCD, lệnh nào sau đây là đúng?
lcd.stopScroll();
lcd.noAutoscroll();
lcd.haltScroll();
lcd.endScroll();
Lệnh nào dưới đây dùng để chuyển một byte dữ liệu vào IC 74HC595?
digitalWrite(dataPin, HIGH);
shiftln(dataPin, clockPin, MSBFIRST, data);
shiftOut(dataPin, clockPin, MSBFIRST, data);
analogWrite(dataPin, data);
Lệnh nào dưới đây dùng để đặt giá trị logic thấp (LOW) cho chân latchPin của IC 74HC595?
digitalWrite(latchPin, LOW);
digitalWrite(latchPin, HIGH);
shiftOut(latchPin, clockPin, MSBFIRST, 0);
analogWrite(latchPin, 0);
Để đẩy dữ liệu từ thanh ghi dịch vào các chân đầu ra của IC 74HC595, bạn sử dụng lệnh nào?
digitalWrite(latchPin, HIGH);
digitalWrite(clockPin, HIGH);
shiftOut(dataPin, clockPin, MSBFIRST, 0);
analogWrite(latchPin, HIGH);
Trong quá trình sử dụng IC 74HC595, bạn cần bao nhiêu chân trên Arduino để điều khiển nó?
3
4
2
5
Để truyền dữ liệu qua IC 74HC595 theo thứ tự từ MSB đến LSB, bạn sử dụng lệnh nào?
shiftOut(dataPin, clockPin, LSBFIRST, data);
shiftOut(dataPin, clockPin, MSBFIRST, data);
shiftIn(dataPin, clockPin, MSBFIRST, data);
digitalWrite(dataPin, data);
Lệnh nào sau đây dùng để khởi tạo chân điều khiển cho IC 74HC595?
analogWrite(dataPin, 255);
pinMode(dataPin, INPUT);
digitalWrite(dataPin, HIGH);
pinMode(dataPin, OUTPUT);
LED 7 thanh có thể hiển thị được bao nhiêu ký tự số?
10
7
16
8
Để hiển thị số 8 trên LED 7 thanh, bạn cần bật bao nhiêu đoạn LED?
8
6
7
Trong mạch điều khiển LED 7 thanh, IC 74HC595 có thể được sử dụng để làm gì?
Điều khiển nhiều LED 7 thanh với ít chân I/O trên Arduino.
Tăng cường độ sáng của LED 7 thanh.
Giảm điện áp cho LED 7 thanh.
Tăng số lượng đoạn LED có thể bật cùng lúc.
Để điều khiển động cơ DC quay, bạn cần điều chỉnh gì?
Kết nối đất (GND) của động cơ.
Tốc độ quay của trục động cơ.
Cường độ dòng điện cấp cho động cơ.
Điện áp hoặc xung PWM cung cấp cho động cơ.
Để thay đổi hướng quay của động cơ DC, bạn có thể sử dụng cấu trúc nào?
Mạch H-Bridge.
Bộ điều chỉnh điện áp.
Biến trở.
Tụ điện.
Lệnh nào dưới đây dùng để điều chỉnh tốc độ của động cơ DC bằng chân PWM?
digitalRead(pin);
pinMode(pin, OUTPUT);
digitalWrite(pin, HIGH);
analogWrite(pin, value);
Lệnh nào dưới đây dùng để dừng động cơ DC ngay lập tức?
analogWrite(pin, 0);
digitalWrite(pin, LOW);
pinMode(pin, INPUT);
digitalRead(pin);
Động cơ bước được điều khiển bằng cách nào?
Điều khiển từng bước thông qua tín hiệu số trên các cuộn dây.
Cấp điện áp trực tiếp lên động cơ.
Điều chỉnh dòng điện cấp cho động cơ.
Điều khiển thông qua bộ giảm tốc.
Để điều khiển động cơ bước, lệnh nào sau đây thường được sử dụng trong Arduino?
tepper.step(steps);
analogWrite(pin, steps);
digitalWrite(pin, HIGH);
pinMode(pin, OUTPUT);
Để điều chỉnh tốc độ của động cơ bước, bạn cần làm gì?
Thay đổi tốc độ gửi xung điều khiển.
Điều chỉnh điện áp cung cấp.
Thay đổi hướng quay của động cơ.
Điều chỉnh dòng điện cấp cho động cơ.
Để đảo chiều quay của động cơ bước, bạn cần làm gì?
Thay đổi điện áp cung cấp.
Tăng tần số xung điều khiển.
Đảo thứ tự gửi xung điều khiển.
Giảm tốc độ gửi xung điều khiển.
Động cơ bước thường được sử dụng trong các ứng dụng nào?
Điều khiển nhiệt độ.
Điều khiển vị trí chính xác.
Điều khiển dòng điện lớn.
Điều khiển tốc độ cao.
Động cơ servo thường được điều khiển thông qua tín hiệu nào?
DC (dòng điện trực tiếp).
PWM (xung rộng điều chế).
Analog.
AC (dòng điện xoay chiều).
Để điều khiển góc quay của động cơ servo, bạn sử dụng lệnh nào ?
servo.rotate(angle);
analogWrite(pin, angle);
digitalWrite(pin, HIGH);
servo.write(angle);
Lệnh nào dưới đây dùng để dừng động cơ servo?
servo.end();
servo.detach();
servo.stop();
servo.reset();
Để khởi tạo một động cơ servo, bạn cần sử dụng lệnh nào?
servo.attach(pin);
servo.begin(pin);
servo.init(pin);
servo.setup(pin);
Lệnh nào dưới đây dùng để thiết lập ngắt ngoài trên chân số 22
attachInterrupt(2, ISR, FALLING);
interrupt(2, ISR, RISING);
attachInterrupt(digitalPinToInterrupt(2), ISR, RISING);
setInterrupt(2, ISR, CHANGE);
Trong ngắt ngoài, hàm ISR là gì?
Hàm khởi tạo ngắt.
Hàm xử lý khi ngắt xảy ra.
Hàm kết thúc ngắt.
Hàm thiết lập ngắt.
Để tắt ngắt ngoài trên một chân, lệnh nào sau đây là đúng?
disableInterrupt(2);
interruptDisable(2);
detachInterrupt(digitalPinToInterrupt(2));
removeInterrupt(2);
Ngắt ngoài có thể được kích hoạt bởi các sự kiện nào sau đây?
RISING, FALLING, CHANGE
HIGH, LOW, RISING
UP, DOWN, CHANGE
ON, OFF, TOGGLE
LED 7 thanh loại anot chung (AC) hoạt động như thế nào?
Các đoạn LED sẽ sáng khi các chân tương ứng được nổi với một điện trở
Các đoạn LED sẽ sáng khi các chân tương ứng được cấp điện áp dương (VCC).
Các đoạn LED sẽ sáng khi các chân tương ứng được nối đất (GND)
Các đoạn LED sẽ sáng khi tất cả các chân đều được nối đất (GND)
Để hiển thị số 1 trên LED 7 thanh loại anot chung, bạn cần thực hiện điều gì?
Đặt điện áp thấp (LOW) cho các chân B và C.
Đặt điện áp cao (HIGH) cho các chân B và C.
Đặt điện áp thấp (LOW) cho tất cả các chân.
Đặt điện áp cao (HIGH) cho tất cả các chân.
Khi sử dụng LED 7 thanh loại anot chung, chân chung (anot) thường được kết nối với:
VCC (điện áp dương).
GND (điện áp âm)
Một điện trở kéo xuống (pull-down resistor).
Một điện trở kéo lên (pull-up resistor).
Để tắt toàn bộ các đoạn của một LED 7 thanh loại anot chung, bạn cần:
Đặt điện áp thấp (LOW) cho tất cả các chân điều khiển đoạn.
Đặt điện áp cao (HIGH) cho tất cả các chân điều khiển đoạn.
Ngắt kết nối chân anot khỏi nguồn điện.
Kết nối các chân điều khiển đoạn với GND.
Khi lập trình Arduino để điều khiển LED 7 thanh loại anot chung, bạn cần chú ý điều gì?
Đảm bảo rằng các chân điều khiển được đặt ở mức thấp (LOW) để sáng LED.
Đảm bảo rằng các chân điều khiển được đặt ở mức cao (HIGH) để sáng LED.
Kết nối chân anot với GND thay vì VCC.
Sử dụng điện trở kéo lên trên các chân điều khiển đoạn.
Để hiển thị ký tự "A" trên LED 7 thanh loại anot chung, các đoạn nào cần được kích hoạt?
B, C, F, G
A, B, C, D, E, F
A, C, D, E, G
A, B, C, E, F, G
Ký tự "C" trong hệ hexa (hexadecimal) cần các đoạn nào trên LED 7 thanh loại anot chung sáng lên?
A, D, E, F
A, B, C, D
B, D, E, G
A, E, F, G
Để hiển thị ký tự "F" trên LED 7 thanh loại anot chung, các đoạn nào cần được kích hoạt?
A, B, E, F, G
A, E, F, G
A, C, D, E, F
B, C, E, F, G
Câu lệnh nào dùng để đọc giá trị cảm biến siêu âm HC-SR04?
digitalRead(trigPin);
analogRead(echoPin);
pulseIn(echoPin, HIGH);
tone(pin, 1000);
Hàm map(sensorValue, 0, 1023, 0, 100); trả về kết quả gì?
Nhân đôi giá trị cảm biến
Quy đổi giá trị cảm biến từ 0-1023 sang thang 0-100
Giới hạn giá trị trong 0-100
Làm tròn giá trị đến 100
Khi muốn in ký tự xuống dòng trên Serial, ta dùng lệnh nào?
Serial.newline();
Serial.print();
Serial.write();
Serial.println();
Lệnh analogWrite(5, 0); có tác dụng gì?
Tắt tín hiệu PWM tại chân D5
Phát tín hiệu mức cao
Xuất tín hiệu 100%
Kích hoạt chân digital
Khi đọc giá trị cảm biến LDR, giá trị analogRead(A0) sẽ tăng khi nào?
Không phụ thuộc ánh sáng
Khi ánh sáng yếu đi
Khi không có ánh sáng
Khi ánh sáng mạnh hơn
Hàm random(0,10); sẽ trả về giá trị trong khoảng nào?
0-9
0-10
1-10
1-9
Khi dùng millis() để tính thời gian, kiểu dữ liệu trả về là gì?
unsigned long
int
float
char
Trong giao tiếp I2C, địa chỉ thiết bị phụ thuộc vào yếu tố nào?
Tốc độ xung SCL
Cấu hình phần cứng (chân A0, A1, A2)
Điện áp nguồn
Kiểu dữ liệu truyền
Khi điều khiển động cơ DC bằng transistor NPN, cực nào nối với Arduino?
Cực âm nguồn
Chân Collector
Chân Emitter
Chân Base
Hàm Serial.available() trả về kiểu dữ liệu nào?
int
float
char
bool
Khi sử dụng cảm biến DHT11, độ ẩm được đọc bằng hàm nào?
dht.begin();
dht.readTemperature();
dht.readHumidity();
analogRead(A0);
Lệnh lcd.setCursor(0,1); có ý nghĩa gì trên LCD 16x2?
Đặt con trỏ tại cột 2, hàng 1
Đặt con trỏ tại cột 1, hàng 2
Đặt con trỏ tại cột 0, hàng 0
Xóa dòng đầu tiên
Nếu bạn quên gọi lcd.begin(16, 2); trong setup(), chương trình sẽ gặp vấn đề gì?
CD hiển thị ký tự rác.
LCD không hiển thị gì.
LCD chỉ hiển thị dòng đầu tiên.
LCD sẽ hiển thị nhưng không đúng vị trí.
Nếu code gọi lcd.print("Hello, World!"); khi con trỏ nằm ở cột 10 của dòng thứ nhất, kết quả sẽ như thế nào?
Chữ "Hello, World!" sẽ bị cắt ngắn.
Chữ "Hello, Wor" sẽ hiển thị, còn lại sẽ bị tràn xuống dòng dưới.
Toàn bộ chuỗi được hiển thị trên một dòng.
hi "Hello, W" được hiển thị trên dòng đầu.
Đoạn code Icd.backlight(); lcd.noBacklight(); sẽ làm gì?
Bật đèn nền và ngay lập tức tắt nó.
Không có tác dụng vì chúng xung đột nhau.
Đèn nền sẽ nhấp nháy.
LCD sẽ reset..
Nếu lcd.setCursor(-1,-1); được gọi, điều gì xảy ra?
LCD hiển thị ký tự rác.
Arduino reset.
Không có gì xảy ra, không có lỗi được báo.
Gây ra lỗi runtime.
Khi dùng shiftOut(dataPin, clockPin, MSBFIRST, 255); với IC 74HC595, kết quả là gì?
Tất cả các đầu ra của IC đều ở mức cao.
Tất cả các đầu ra của IC đều ở mức thấp.
Chỉ đầu ra đầu tiên ở mức cao
Chỉ đầu ra cuối cùng ở mức cao.
Nếu latch Pin vẫn ở mức cao khi gọi shiftOut(), điều gì sẽ xảy ra?
Dữ liệu sẽ bị hỏng.
Dữ liệu không được cập nhật vào đầu ra.
IC sẽ reset.
Không có gì xảy ra.
Trong mạch sử dụng IC 74HC595, việc không đặt chân OE (Output Enable) vào mức thấp sẽ dẫn đến kết quả nào?
Không có đầu ra nào từ IC
Các đầu ra đều ở mức cao.
Các đầu ra đều ở mức thấp.
Các đầu ra sẽ dao động.
Nếu chương trình cố gắng sử dụng cùng một latch Pin cho hai IC 74HC595 khác nhau, điều gì sẽ xảy ra?
Chỉ có một IC hoạt động.
Cả hai IC sẽ nhận cùng một dữ liệu đầu ra.
Dữ liệu đầu ra sẽ bị xung đột.
Arduino sẽ reset.
Để chuyển một byte dữ liệu 0b10101010 vào IC 74HC595, bạn cần đặt latchPin ở mức nào trước và sau khi gọi shiftOut()?
LOW cả trước và sau.
HIGH trước và LOW sau.
LOW trước và HIGH sau.
HIGH cả trước và sau.
Nếu bạn gọi digitalWrite(ledPin, HIGH); liên tục trong một vòng lặp không có delay, điều gì sẽ xảy ra với đèn LED?
LED sẽ nhấp nháy nhanh.
LED sẽ sáng liên tục
LED có thể bị hỏng do quá nhiệt.
Không có hiệu ứng gì với LED.
Điều gì xảy ra nếu một đoạn code gọi analogWrite(ledPin, 128); mà ledPin không hỗ trợ PWM?
LED sẽ sảng với cường độ tối đa.
LED sẽ sáng với cường độ yếu hơn.
LED sẽ không sáng.
Arduino sẽ báo lỗi compile.
Sau khi thực hiện setup(), trạng thái mặc định của nút buttonForward sẽ như thế nào khi chưa được nhấn?
void setup() {
pinMode (motorPini, OUTPUT);
pinMode (motorPin2, OUTPUT);
pinMode (speedPin, OUTPUT);
pinMode (buttonForward, INPUT_PULLUP);
pinMode (buttonReverse, INPUT_PULLUP);
pinMode (buttonSpeedUp, INPUT_PULLUP);
pinMode (buttonSpeed Down, INPUT PULLUP);
}
HIGH
LOW
UNDEFINED
OUTPUT
Nếu nút button Forward được nhấn, động cơ DC sẽ quay như thế nào?
if (digitalRead (buttonForward) == LOW) {
digitalWrite (motorPinl, HIGH);
digitalWrite (motorPin2, LOW);
analogWrite (speedPin, speed);
Quay ngược
Quay thuận
Không quay
Quay với tốc độ 0
Khi nút buttonReverse được nhấn, chân nào sẽ được cấp điện áp cao?
if (digitalRead (buttonReverse) == LOW) {
digitalWrite (motorPinl, LOW);
digitalWrite(motorPin2, HIGH);
analogWrite (speedPin, speed);
motorPin2
motorPinl
speedPin
buttonReverse
Nếu tốc độ hiện tại là 250 và nút buttonSpeedUp được nhấn, tốc độ mới sẽ là bao nhiêu?
if (digitalRead (buttonSpeedUp) == LOW) {
speed min (speed + 10, 255);
delay(100); // Chồng này phím
}
0
260
10
255
Chân nào sau đây được sử dụng để đọc giá trị nhiệt độ từ cảm biến LM35?
#include <LiquidCrystal.h>
// Khai báo chân sử dụng cho LCD const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // Khai báo chân đọc dữ liệu từ cảm biến nhiệt
//độ
const int tempPin A0; // Chân A0 đọc dữ //
liệu analog từ LM35
A0
11
5
12
Chân nào sau đây được sử dụng để đọc giá trị nhiệt độ từ cảm biến LM35?
#include <LiquidCrystal.h>
// Khai báo chân sử dụng cho LCD const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); // Khai báo chân đọc dữ liệu từ cảm biến nhiệt
//độ
const int tempPin A0; // Chân A0 đọc dữ //
liệu analog từ LM35
11
A0
5
12
Mục đích của lệnh lcd.begin(16, 2); là gì?
void setup() {
lcd.begin(16, 2); // Khởi động màn hình LCD
kích thước 16x2
pinMode (tempPin, INPUT); // Cài đặt chân //
nhiệt độ là INPUT
}
Khởi tạo kết nối I2C cho LCD
Thiết lập độ sáng màn hình LCD
Khởi tạo màn hình LCD với kích thước 16 cột và 2 dòng
Cấu hình tốc độ làm mới màn hình LCD
Giá trị millivolts được tính như thế nào?
void loop() {
int value = analogRead (tempPin);
float millivolts = (value / 1024.0) * 5000;
float celsius millivolts / 10;
lcd.setCursor(0, 0); lcd.print("Temp: ");
lcd.print(celsius);
lcd.print("C"); delay(1000);
}
Chia giá trị ADC cho 5000
Nhân giá trị đọc được với 10
Chia giá trị đọc được cho 1024
Chuyển đổi giá trị ADC thành millivolts
Kết quả của đoạn code trên là gì?
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(celsius);
lcd.print("C");
delay(1000);
Cài đặt nhiệt độ cảnh báo trên LCD
Lưu giá trị nhiệt độ vào bộ nhớ
Gửi nhiệt độ đo được đến máy tính
Hiển thị nhiệt độ đo được lên màn hình LCD
Hàm displayNumber(int num) được dùng vào mục đích gì?
void displayNumber (int num) {
int digits [4];
// Tách số thành các chữ số riêng biệt
for (int i=0; i < 4; i++) {
}
digits[i] = num %10;
num = 10; //
Hiển thị từng chữ số trên LED 7 thanh
for (int digit 0; digit < 4; digit++) {
// Kích hoạt chân chữ số hiện tại
digitalWrite (digitPins [digit], LOW);
// Đặt các đoạn LED theo chữ số
for (int segment = 0; segment < 7; segment++) {
digitalWrite (segments (segment] !numbers [digits [digit]] [segment]); // Anot
//chung nên đảo giá trị }
delay(5); / Độ trễ ngắn để chữ số có
/ digitalWrite (digitPins [digit], HIGH);
}
Gửi số nguyên đến máy tính qua cổng Serial.
Hiển thị số nguyên dưới dạng chuỗi trên LCD.
Chuyển đổi số nguyên thành số nhị phân.
Tách số nguyên thành các chữ số và hiển thị chúng trên LED 7 thanh.
Câu lệnh num % 10 trong vòng lặp có mục đích gì?
void displayNumber (int num) {
int digits [4];
// Tách số thành các chữ số riêng biệt
for (int i = 0; i < 4; i++) {
digits[i] = num %10;
num = 10; }
// Hiển thị từng chữ số trên LED 7 thanh
for (int digit 0; digit < 4; digit++) {
// Kích hoạt chân chữ số hiện tạ
i digitalWrite(digitPins [digit], LOW);
// Đặt các đoạn LED theo chữ số for
(int segment = 0; segment < 7; segment++) {
digitalWrite (segments [segment], !numbers [digits [digit)) (segment));
// Anot chung nên đảo giá trị
delay(5); // Độ trễ ngắn để chữ số có }
//thể nhìn thấy rõ }
digitalWrite (digitPins [digit], HIGH); }
Chia num cho 10.
Tính toán số dư của num khi chia cho 10.
Nhân num với 10.
Tách lấy chữ số cuối cùng của số nguyên.
Tại sao lại có lệnh digitalWrite(digitPins digit], HIGH); ở cuối vòng lặp cho từng chữ số, biết led 7 thanh là loại Anot chung void displayNumber (int num) { int digits [4]; // Tách số thành các chữ số riêng biệt for (int i = 0 i < 4 ; i++) { } digits[i] = num % 10; num l = 10 ; // Hiển thị từng chữ số trên LED 7 thanh for (int digit 0; digit < 4; digit++) { // Kích hoạt chân chữ số hiện tại digitalWrite (digitPins [digit], LOW); // Đặt các đoạn LED theo chữ số for (int segment 0; segment < 7; segment++) { digitalWrite (segments [segment], !numbers [digits (digit]] [segment]); // Anot //chung nên đảo giá trị // Độ trễ ngắn để chữ số có delay(5); // thể nhìn thấy rõ digitalWrite (digitPins [digit], HIGH); } }
Để tắt chân điều khiển chữ số hiện tại trên LED 7 thanh.
Để bật chân điều khiển chữ số hiện tại trên LED 7 thanh.
Để reset trạng thái của chân điều khiển.
Để cung cấp điện áp cao cho LED 7 thanh.
Mục đích của lệnh digitalWrite(latch, HIGH); ngay sau lệnh shiftOut(data, clock, LSBFIRST, i); là gì? #define clock 11 //Chân clock #define latch 12 //Chân chốt dữ liệu #define data 13 // Chân dữ liệu void setup() //---- { } pinMode(latch, OUTPUT); pinMode (clock, OUTPUT); pinMode(_data, OUTPUT); void loop()// ( for (int i = 1 i < 256 ii << 1) { } digitalWrite(latch, LOW); shiftOut(data, clock, LSBFIRST, i); digitalWrite(latch, HIGH); delay(1000); }
Reset lại chân latch để chuẩn bị cho lần truyền tiếp theo.
Bảm bảo rằng dữ liệu vừa được gửi được lưu giữ vào các thanh ghi của IC 74HC595.
Bật tất cả các đầu ra của IC 74HC595.
Đặt tất cả các chân của IC 74HC595 về mức cao.
Mục đích của lệnh digitalWrite(latch, HIGH); ngay sau lệnh shiftOut(data, clock, LSBFIRST, i); là gì? #define clock 11 //Chân clock #define latch 12 //Chân chốt dữ liệu #define data 13 // Chân dữ liệu void setup() //---- { } pinMode(latch, OUTPUT); pinMode (clock, OUTPUT); pinMode(_data, OUTPUT); void loop()// ( for (int i = 1 i < 256 ii << 1) { } digitalWrite(latch, LOW); shiftOut(data, clock, LSBFIRST, i); digitalWrite(latch, HIGH); delay(1000); }
ảm bảo rằng dữ liệu vừa được gửi được lưu giữ vào các thanh ghi của IC 74HC595.
Reset lại chân latch để chuẩn bị cho lần truyền tiếp theo.
Bật tất cả các đầu ra của IC 74HC595.
Đặt tất cả các chân của IC 74HC595 về mức cao.
Sau khi gọi hàm tachso() với giá trị a là 1234, giá trị của number[2] sẽ là bao nhiêu?
void tachso (int a) {
//Hàng nghìn number [0]=a/1000;
//Hàng trăm number [1]=(a%1000)/100;
//Hàng chục number [2]=(a%100)/10;
//Hàng đơn vị number [3]=(a%100)%10
1
2
4
3
Giá trị trả về của hàm tachso() có ý nghĩa gì?
void tachso (int a) }
//Hàng nghìn
number [0]=a/1000;
//Hàng trăm
number [1]=(a%1000)/100;
//Hàng chục number
[2]=(a%100)/10;
//Hàng đơn vị
number [3]=(a%100)%10;
return 0;
}
Trả về 0 để báo hiệu hàm kết thúc không có lỗi.
Trả về số dư của a khi chia cho 10.
Trả về giá trị không đúng vì hàm được khai báo là void.
Trả về giá trị không đúng vì hàm được khai báo là void.
Khi nút bấm được kết nối tới chân 7 được nhấn, trạng thái của LED nối với chân 11 sẽ như thế nào?
//Khai Báo biến
int buttonPin 7;
//Chân 7 nối tới nút bấm
int LED 11;
// Chân 11 nối tới LED
int buttonState;
void setup() {
pinMode (buttonPin, INPUT);
pinMode (LED, OUTPUT); }
void loop() {
buttonState digitalRead(buttonPin);
if (buttonState == 0) digitalWrite(LED, LOW);
else
digitalWrite(LED, HIGH);
}
LED sẽ tắt.
LED sẽ sáng.
LED sẽ nhấp nháy.
Trạng thái của LED khôing thsy
Câu lệnh pinMode(buttonPin, INPUT); trong hàm setup() có mục đích gì?
//Khai Báo biển
int buttonPin 7;
//Chân 7 nối tới nút bấm
int LED 11;
// Chân 11 nối tới
LED int buttonState;
void setup() {
pinMode (buttonPin, INPUT);
pinMode (LED, OUTPUT);
} void loop() {
buttonState digitalRead (buttonPin); }
if (buttonState == 0) digitalWrite(LED, LOW);
else
digitalWrite(LED, HIGH);
}
Thiết lập chân buttonPin để đọc tín hiệu đầu vào từ nút bấm
Thiết lập chân buttonPin để gửi tín hiệu đầu ra.
Kích hoạt chức năng PWM trên chân buttonPin.
Kết nối chân buttonPin với nguồn điện.
Chức năng của INPUT_PULLUP trong pinMode(btOn, INPUT_PULLUP); là gì?
#define bton 6
#define btOff 3
#define led 13
void setup() {
// Thiết lập chân vào ra
pinMode (bton, INPUT PULLUP);
pinMode (btoff, INPUT_PULLUP);
pinMode (led, OUTPUT);
void loop() {
if (digitalRead(btOff) LOW) ( digitalWrite(led, LOW);
//LED OFF }
else
{ if (digitalRead(bton) == LOW) ( digitalWrite(led, HIGH);
//LED ON } } }
Kết nối chân btOn với nguồn điện.
Kích hoạt một điện trở kéo lên bên trong, giúp chân đọc giá trị HIGH khi không có tín hiệu.
Thiết lập chân btOn để gửi tín hiệu đầu ra.
Giảm độ nhạy của chân btOn đối với nhiều.
Khi nào LED nối với chân 13 sẽ sáng?
#define bton 6
#define btoff 3
#define led 13
void setup() {
} // Thiết lập chân vào ra
pinMode (bton, INPUT PULLUP);
pinMode (btOff, INPUT_PULLUP);
pinMode (led, OUTPUT);
void loop() { if (digitalRead(btOff) == LOW) { digitalWrite(led, LOW);
//LED OFF }
else
{ digitalWrite(led, HIGH); //LED ON } } } i
f (digitalRead(bton) == LOW) {
Khi cả hai nút bấm btOn và btOff đều không được nhấn.
Khi nút bấm kết nối với chân btOff và btOn cùng được nhấn.
Khi nút bấm kết nối với chân btên được nhấn và btOff không được nhấn.
Khi không có nút bấm nào được nhấn.
Khi lập trình quét LED ma trận, việc quên đặt digitalWrite(latchPin, LOW); trước khi ghi dữ liệu gây ra hiện tượng gì?
LED sáng mở
LED nhấp nháy nhanh
LED hiển thị sai hoặc không đổi trạng thái
Không ảnh hưởng
Trong chương trình điều khiển LCD, nếu gọi lcd.begin() sau lcd.print(), kết quả là gì?
LCD hiển thị sai ký tự
LCD không hiển thị nội dung
Hiển thị bình thường
Lỗi biên dịch
Đoạn mã sau có tác dụng gì?
if (digitalRead(2) = HIGH)
digitalWrite(13, !digitalRead(13));
Không hoạt động
LED luôn sáng
LED luôn tất
Nhấn nút D2 thì LED 13 đào trạng thái
Khi dùng PWM điều khiển độ sáng LED, việc dùng analogWrite(led, 1023); sẽ?
Sáng yếu
Sáng tối đ
Không hợp lệ, vì PWM chỉ nhận 0-255
Gây lỗi biên dịch
rong chương trình sau, LED 13 sáng bao lâu?
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(1000);
0.5 giây
1 giây
1.5 giây
0.25 giây
Khi cảm biến LM35 được nối vào A0, công thức tính nhiệt độ đúng là gì?
Temp = analogRead(A0)/100;
Temp = (analogRead(A0) 5.0/1023) 100;
Temp = analogRead(A0) * 10;
Temp = analogRead(A0);
Khi giao tiếp UART, nếu tốc độ baud của Arduino và máy tính không khớp, điều gì xảy ra?
Tự điều chỉnh baudrate
Không thể truyền dữ liệu
Chương trình bị treo
Dữ liệu hiển thị sai hoặc lỗi
Trong chương trình điều khiển động cơ dùng L298N, đảo hai chân IN1 và IN2 sẽ gây ra điều gì?
Động cơ dừng
Động cơ quay ngược chiều
Động cơ quay nhanh hơn
Không ảnh hưởng
Lệnh attachInterrupt(0, ISR, RISING); có nghĩa là?
Gọi hàm ISR khi tín hiệu chân 2 chuyển từ LOW sang HIGH
Gọi ISR khi tín hiệu giảm
ISR gọi liên tục
ISR chạy một lần khi khởi động
Để đo tốc độ động cơ bằng Encoder, cần sử dụng kết hợp 2 phần cứng nào?
UART và SPI
ADC và PWM
Ngắt ngoài và Timer
EEPROM và PWM
