Trắc Nghiệm Công Nghệ 12 Kết Nối Tri Thức Điện Tử Bài 25 là nội dung quan trọng thuộc môn Công nghệ lớp 12 theo chương trình sách giáo khoa Kết nối tri thức với cuộc sống. Đây là đề ôn luyện tổng hợp năng lực ứng dụng điện tử và điều khiển thông minh, được xây dựng bởi thầy Phạm Anh Tuấn – giáo viên bộ môn Công nghệ Trường THPT Nguyễn Hiền (TP. Cần Thơ), năm 2024. Bài học tập trung vào kiến thức về tích hợp linh kiện điện tử, cảm biến, mạch điều khiển và lập trình vi điều khiển để triển khai các dự án công nghệ nhỏ như hệ thống tưới cây tự động, cảm biến môi trường,… Bộ trắc nghiệm Công nghệ điện tử 12 Kết nối tri thức này nhằm củng cố kiến thức thực tiễn và tối ưu kỹ năng tư duy công nghệ ứng dụng.
Trắc nghiệm môn Công nghệ 12 tại detracnghiem.edu.vn được thiết kế theo chuẩn đầu ra chương trình, cung cấp các câu hỏi phân loại từ mức độ nhận biết đến vận dụng cao, mỗi câu đều có lời giải chi tiết giúp học sinh hiểu bản chất vấn đề. Giao diện học tập trực quan, hỗ trợ luyện tập không giới hạn và theo dõi tiến trình học tập thông qua thống kê kết quả. Đây là công cụ học tập hiệu quả giúp học sinh chuẩn bị kỹ lưỡng cho các kỳ thi giữa học kỳ và học kỳ cuối. Trắc nghiệm ôn tập lớp 12 sẽ đồng hành cùng học sinh trên hành trình chinh phục kiến thức và kỹ năng công nghệ.
Trắc Nghiệm Công Nghệ Điện Tử 12 Kết Nối Tri Thức
Phần II – Công Nghệ Điện Tử
Bài 25: Bo mạch lập trình vi điều khiển
Câu 1. Theo sách giáo khoa, mục đích chính của việc tạo ra bo mạch lập trình vi điều khiển là gì?
A. Để tăng tốc độ xử lý của vi điều khiển lên mức tối đa.
B. Giúp việc lập trình và kết nối phần cứng trở nên đơn giản và thuận tiện hơn.
C. Để giảm giá thành của con chip vi điều khiển khi sản xuất hàng loạt.
D. Để tăng số lượng chân vào/ra cho một vi điều khiển cơ bản.
Câu 2. Trong cấu trúc của một bo mạch lập trình (Hình 25.3), khối nào có chức năng cung cấp tín hiệu xung nhịp để đồng bộ hoạt động cho vi điều khiển?
A. Khối nguồn.
B. Khối tín hiệu vào/ra.
C. Khối truyền thông.
D. Khối dao động.
Câu 3. Khối truyền thông trên bo mạch Arduino Uno thường sử dụng cổng kết nối nào để giao tiếp với máy tính?
A. Cổng HDMI.
B. Cổng mạng RJ45.
C. Cổng USB.
D. Cổng âm thanh 3.5mm.
Câu 4. Môi trường lập trình tích hợp (IDE) là gì?
A. Là phần mềm trên máy tính dùng để viết, biên dịch và nạp chương trình cho VĐK.
B. Là một bo mạch phần cứng phụ trợ giúp vi điều khiển chạy nhanh hơn.
C. Là ngôn ngữ lập trình duy nhất có thể sử dụng cho bo mạch Arduino.
D. Là một thư viện chứa các đoạn mã mẫu để người dùng sao chép.
Câu 5. Trong cấu trúc một chương trình Arduino, khối lệnh void setup() có đặc điểm gì?
A. Chứa các lệnh được thực thi lặp đi lặp lại vô tận.
B. Chứa các lệnh khởi tạo và chỉ được thực thi một lần duy nhất khi bo mạch khởi động.
C. Dùng để khai báo các biến và hằng số sẽ sử dụng trong chương trình.
D. Là khối lệnh không bắt buộc, có thể bỏ qua khi viết chương trình.
Câu 6. Hàm pinMode(pin, mode) trong Arduino IDE được sử dụng để làm gì?
A. Đọc giá trị điện áp tại một chân analog cụ thể.
B. Ghi một giá trị logic (HIGH/LOW) ra một chân digital.
C. Cấu hình một chân cụ thể là đầu vào (INPUT) hay đầu ra (OUTPUT).
D. Tạo một khoảng thời gian trễ, tạm dừng chương trình.
Câu 7. Khối lệnh void loop() trong một chương trình Arduino sẽ được thực thi như thế nào?
A. Được thực thi lặp đi lặp lại liên tục sau khi khối setup() đã chạy xong.
B. Chỉ được thực thi một lần duy nhất, ngay sau khối setup().
C. Sẽ không được thực thi nếu trong khối setup() có lỗi xảy ra.
D. Được thực thi song song và đồng thời cùng lúc với khối setup().
Câu 8. Theo sơ đồ khối trong sách giáo khoa, khối nào trên bo mạch lập trình chịu trách nhiệm cấp nguồn điện ổn định cho vi điều khiển hoạt động?
A. Khối dao động.
B. Khối truyền thông.
C. Vi điều khiển.
D. Khối nguồn.
Câu 9. Để điều khiển một đèn LED bật hoặc tắt, ta thường sử dụng hàm nào?
A. analogRead().
B. pinMode().
C. digitalWrite().
D. delay().
Câu 10. “Biên dịch” (Compile) trong quy trình lập trình có nghĩa là gì?
A. Nạp chương trình từ máy tính vào bộ nhớ của vi điều khiển.
B. Chuyển đổi mã nguồn do người dùng viết sang mã máy mà vi điều khiển có thể hiểu.
C. Kiểm tra lỗi chính tả và ngữ pháp trong các chú thích của đoạn mã.
D. Chạy thử chương trình trên một môi trường giả lập trên máy tính.
Câu 11. Chân nào trên bo mạch Arduino Uno được sử dụng để kết nối với các cảm biến cho ra tín hiệu điện áp liên tục (như cảm biến nhiệt độ, ánh sáng)?
A. Các chân Digital (PWM).
B. Các chân Analog IN.
C. Chân cấp nguồn 5V.
D. Chân RESET.
Câu 12. Mục đích của nút “RESET” trên bo mạch Arduino là gì?
A. Xóa hoàn toàn chương trình đang được lưu trong bộ nhớ của vi điều khiển.
B. Khởi động lại chương trình từ đầu, bắt đầu chạy lại từ hàm setup().
C. Ngắt kết nối giữa bo mạch và máy tính một cách an toàn.
D. Tăng tốc độ thực thi của chương trình đang chạy trên bo mạch.
Câu 13. Hàm delay(1000) sẽ làm chương trình tạm dừng trong bao lâu?
A. 1 giây.
B. 10 giây.
C. 1000 giây.
D. 1 mili giây.
Câu 14. Trên giao diện Arduino IDE (Hình 25.8), cửa sổ nào dùng để hiển thị các thông báo từ quá trình biên dịch và nạp chương trình?
A. Thanh công cụ (Toolbar).
B. Cửa sổ lập trình (Code Editor).
C. Cửa sổ thông báo (Status Bar).
D. Cửa sổ Serial Monitor.
Câu 15. Theo sách giáo khoa, đâu là một ứng dụng của bo mạch lập trình vi điều khiển được minh họa?
A. Xây dựng một trang web thương mại điện tử.
B. Thiết kế một mô hình 3D cho máy in.
C. Điều khiển độ sáng đèn LED hoặc đo độ ẩm đất.
D. Chỉnh sửa video và hiệu ứng hình ảnh.
Câu 16. Để làm một đèn LED nhấp nháy, bạn cần đặt các lệnh digitalWrite() và delay() trong khối lệnh nào?
A. Chỉ cần đặt trong setup().
B. Phải đặt trong loop().
C. Có thể đặt trong setup() hoặc loop() đều được.
D. Phải tạo một khối lệnh mới tên là blink().
Câu 17. Một học sinh muốn sử dụng chân số 13 trên bo mạch Arduino để điều khiển đèn LED. Lệnh đầu tiên cần viết trong hàm setup() là gì?
A. digitalWrite(13, HIGH);.
B. pinMode(13, OUTPUT);.
C. int ledPin = 13;.
D. delay(13);.
Câu 18. Nếu bạn nạp một chương trình trống (chỉ có void setup(){} và void loop(){}) vào bo mạch Arduino, sau đó rút cáp USB và cấp nguồn lại cho nó bằng pin, điều gì sẽ xảy ra?
A. Bo mạch sẽ không hoạt động vì không có chương trình.
B. Bo mạch sẽ chạy chương trình trống đó, tức là không làm gì cả.
C. Bo mạch sẽ tự động chạy lại chương trình “Blink” mặc định của nhà sản xuất.
D. Bo mạch sẽ báo lỗi vì không được kết nối với máy tính.
Câu 19. Khi kết nối một cảm biến vào bo mạch, bạn cần nối chân cấp nguồn của cảm biến vào chân nào trên Arduino?
A. Bất kỳ chân Digital nào.
B. Chân A0 hoặc A1.
C. Chân GND.
D. Chân 5V hoặc 3.3V.
Câu 20. Một học sinh viết code: digitalWrite(ledPin, HIGH);. Tuy nhiên, đèn LED không sáng. Lỗi có khả năng cao nhất là gì, giả sử đèn và dây nối đều tốt?
A. Học sinh đã đặt lệnh này trong hàm loop() thay vì setup().
B. Học sinh đã quên viết lệnh pinMode(ledPin, OUTPUT); trong hàm setup().
C. Giá trị HIGH không đủ điện áp để làm sáng đèn LED.
D. Bo mạch Arduino đã bị hỏng khối dao động.
Câu 21. Để đọc giá trị từ một cảm biến ánh sáng nối vào chân A0, bạn nên dùng hàm nào?
A. analogRead(A0);.
B. digitalRead(A0);.
C. pinMode(A0, INPUT);.
D. analogWrite(A0, value);.
Câu 22. Tại sao một người mới bắt đầu nên sử dụng bo mạch lập trình như Arduino thay vì tự thiết kế mạch với một chip VĐK rời?
A. Vì VĐK rời không đủ mạnh để chạy các chương trình phức tạp.
B. Vì bo mạch lập trình đã tích hợp sẵn các khối phụ trợ như nguồn, dao động, giao tiếp, giúp giảm độ phức tạp khi thiết kế.
C. Vì ngôn ngữ lập trình cho VĐK rời khó hơn rất nhiều so với ngôn ngữ của Arduino.
D. Vì VĐK rời có giá thành đắt hơn nhiều so với việc mua một bo mạch lập trình hoàn chỉnh.
Câu 23. Xem xét đoạn mã trong void loop(): { digitalWrite(7, HIGH); }. Kết quả hoạt động của đèn LED nối ở chân 7 sẽ như thế nào?
A. Đèn sẽ nhấp nháy rất nhanh.
B. Đèn sẽ bật sáng và giữ nguyên trạng thái đó.
C. Đèn sẽ không sáng vì thiếu lệnh delay().
D. Đèn sẽ bật sáng trong một khoảnh khắc rồi tắt ngay lập tức.
Câu 24. Nếu thay đổi lệnh delay(1000); trong chương trình “Blink” thành delay(100);, điều gì sẽ thay đổi?
A. Độ sáng của đèn LED sẽ yếu đi.
B. Đèn LED sẽ nhấp nháy nhanh hơn gấp 10 lần.
C. Chương trình sẽ báo lỗi vì thời gian trễ quá ngắn.
D. Không có gì thay đổi, tốc độ nhấp nháy vẫn như cũ.
Câu 25. Một dự án yêu cầu điều khiển 5 đèn LED độc lập và đọc dữ liệu từ 2 cảm biến analog. Bạn cần tối thiểu bao nhiêu chân trên bo mạch Arduino?
A. 5 chân Digital và 2 chân Analog.
B. 7 chân Digital.
C. 7 chân Analog.
D. 2 chân Digital và 5 chân Analog.
Câu 26. So sánh giữa việc dùng delay() và việc dùng hàm millis() (một hàm nâng cao không có trong bài nhưng cùng mục đích) để tạo độ trễ, ưu điểm của việc không dùng delay() là gì?
A. Giúp chương trình chạy nhanh hơn và chính xác hơn.
B. Giúp tiết kiệm bộ nhớ chương trình của vi điều khiển.
C. delay() làm “đóng băng” toàn bộ chương trình, trong khi các phương pháp khác cho phép VĐK thực hiện các công việc khác trong lúc “chờ”.
D. Không có ưu điểm nào, delay() là cách đơn giản và hiệu quả nhất.
Câu 27. Một học sinh muốn điều khiển độ sáng của một đèn LED thay vì chỉ bật/tắt. Em đó nên kết nối đèn LED vào loại chân nào trên bo mạch Arduino Uno?
A. Bất kỳ chân Digital nào từ 0 đến 13.
B. Các chân Digital có dấu ngã (~) bên cạnh, hỗ trợ PWM.
C. Bất kỳ chân Analog IN nào từ A0 đến A5.
D. Chân RX hoặc TX.
Câu 28. Một chương trình cần đo nhiệt độ môi trường một lần duy nhất khi khởi động để hiệu chuẩn, sau đó liên tục điều khiển một quạt dựa trên giá trị đọc được từ một cảm biến khác. Vị trí đặt mã lệnh hợp lý nhất là gì?
A. Toàn bộ mã lệnh đặt trong setup().
B. Toàn bộ mã lệnh đặt trong loop().
C. Mã lệnh hiệu chuẩn nhiệt độ đặt trong setup(), mã lệnh điều khiển quạt đặt trong loop().
D. Mã lệnh hiệu chuẩn nhiệt độ đặt trong loop(), mã lệnh điều khiển quạt đặt trong setup().
Câu 29. Một học sinh kết nối một động cơ điện nhỏ trực tiếp vào chân digital số 8 của Arduino và dùng digitalWrite(8, HIGH) để chạy nó. Sau vài giây, bo mạch bị nóng và khởi động lại. Nguyên nhân khả dĩ nhất là gì?
A. Tốc độ của động cơ quá nhanh so với tốc độ xử lý của Arduino.
B. Động cơ yêu cầu dòng điện lớn hơn mức mà một chân I/O của Arduino có thể cung cấp an toàn.
C. Lệnh digitalWrite() không tương thích với việc điều khiển động cơ.
D. Có lỗi trong hàm setup() khiến chương trình bị treo.
Câu 30. Phân tích vai trò của bộ ba: Arduino IDE, cáp USB, và Bootloader trên chip VĐK trong quá trình “Nạp chương trình”?
A. IDE gửi mã nguồn qua USB, Bootloader biên dịch mã nguồn đó thành mã máy.
B. IDE biên dịch mã nguồn, gửi mã máy qua USB, Bootloader chỉ có nhiệm vụ lưu mã máy đó vào bộ nhớ.
C. Cáp USB cung cấp năng lượng, IDE và Bootloader cùng nhau kiểm tra lỗi trong mã.
D. IDE biên dịch mã, Bootloader nhận mã đó qua USB và ghi vào bộ nhớ chương trình của VĐK.