Định luật Ohm và mạch điện đơn giản
Bài 2 trong khóa Điện tử cơ bản

Định luật Ohm và mạch điện đơn giản
Công thức quan trọng nhất của điện tử
U = I × RTrong đó:
- U — điện áp (Volt)
- I — dòng điện (Ampere)
- R — điện trở (Ohm)
Từ công thức này suy ra hai dạng khác:
I = U / R (tính dòng điện khi biết áp và trở)
R = U / I (tính điện trở cần dùng)Ví dụ tính toán thực tế: chọn điện trở cho LED
LED đỏ thường cần điện áp rơi (forward voltage) khoảng 2V và dòng điện an toàn khoảng 15mA (0.015A). Nếu cấp nguồn 5V (từ Arduino), điện trở cần lắp nối tiếp để "giảm áp dư" là:
U_dư = U_nguồn - U_LED = 5V - 2V = 3V
R = U_dư / I = 3V / 0.015A = 200Ω→ Chọn điện trở 220Ω (giá trị thông dụng gần nhất, an toàn hơn vì trở lớn hơn → dòng nhỏ hơn).
Mạch điện kín — điều kiện để có dòng điện
Một mạch điện cần có đường nối liên tục, kín: nguồn (+) → tải (LED, motor...) → trở về nguồn (-). Nếu mạch bị hở (đứt dây, công tắc mở) → dòng điện = 0, không có gì hoạt động.
[Pin +] ──→ [Điện trở] ──→ [LED] ──→ [Pin -]Mạch nối tiếp (Series)
Các linh kiện nối thành một hàng, dòng điện chỉ có một đường duy nhất để đi qua tất cả.
- Điện trở tổng: R_tổng = R1 + R2 + R3 + ...
- Dòng điện: giống nhau tại mọi điểm trong mạch
- Điện áp: chia nhau theo tỉ lệ điện trở (điện trở lớn "ăn" áp nhiều hơn)
Mạch song song (Parallel)
Các linh kiện nối thành nhiều nhánh song song với nhau.
- Điện trở tổng: 1/R_tổng = 1/R1 + 1/R2 + ... (luôn nhỏ hơn điện trở nhỏ nhất)
- Điện áp: giống nhau trên mọi nhánh
- Dòng điện: chia nhau vào từng nhánh, nhánh trở nhỏ hút dòng nhiều hơn
Kiểm chứng bằng Arduino: đọc điện áp qua cầu phân áp
Cầu phân áp (voltage divider) là ứng dụng trực tiếp của định luật Ohm — dùng 2 điện trở để "chia" điện áp xuống mức an toàn cho board đọc:
// Cầu phân áp: 2 điện trở R1=10k, R2=10k chia đôi điện áp
// Input: 0-5V tại điểm giữa hai điện trở → đọc bằng analogRead
const int SENSOR_PIN = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int raw = analogRead(SENSOR_PIN); // 0-1023 (Arduino Uno 10-bit ADC)
float voltage = raw * 5.0f / 1023.0f; // quy đổi ra Volt
Serial.print("Điện áp đo được: ");
Serial.print(voltage);
Serial.println(" V");
delay(300);
}Bài tập tính toán nhanh
- Một mạch có nguồn 9V và điện trở 300Ω — dòng điện qua mạch là bao nhiêu?
- Hai điện trở 100Ω và 200Ω mắc nối tiếp với nguồn 6V — điện áp rơi trên mỗi điện trở là bao nhiêu?
- LED trắng cần 3.2V, nguồn cấp 9V, dòng mong muốn 20mA — cần điện trở giá trị bao nhiêu?
Bài tiếp theo: cách đọc giá trị điện trở qua mã màu — kỹ năng cần dùng mỗi khi lắp mạch thực tế.
Giáo án giảng dạy
Mục tiêu bài học
- Học viên giải thích được vai trò của bài Định luật Ohm và mạch điện đơn giản trong mạch điện tử cơ bản nhập môn.
- Học viên đọc được sơ đồ chân, nhận biết nguồn, GND và đường tín hiệu trước khi cấp điện.
- Học viên chạy được ví dụ mẫu, quan sát hiện tượng, rồi sửa một tham số để hiểu tác động kỹ thuật.
Kiến thức nền
Bài này đặt trong khóa Điện tử cơ bản. Phần cứng trung tâm là Arduino Uno (dùng để minh họa, không bắt buộc), cơ cấu chấp hành gồm LED, không có động cơ ở khóa này, cảm biến hoặc tín hiệu liên quan gồm không có cảm biến, tập trung vào linh kiện cơ bản: điện trở, tụ điện, transistor. Khi dạy, giáo viên nên nhấn mạnh quan hệ giữa 3 lớp: phần cứng nhận tín hiệu, chương trình xử lý logic, và cơ cấu tạo chuyển động thật.
Linh kiện và dụng cụ
| Nhóm | Chuẩn bị |
|---|---|
| Board điều khiển | Arduino Uno (dùng để minh họa, không bắt buộc) đã kiểm tra cổng nạp |
| Cơ cấu chấp hành | LED, không có động cơ ở khóa này |
| Cảm biến/tín hiệu | không có cảm biến, tập trung vào linh kiện cơ bản: điện trở, tụ điện, transistor |
| Driver/giao tiếp | không cần driver, mạch dùng trực tiếp điện trở/transistor |
| Nguồn | pin AA/AAA hoặc nguồn 5V từ Arduino/USB, dòng nhỏ an toàn cho người mới |
| Dụng cụ | Cáp USB, tua vít nhỏ, breadboard/dây jumper, đồng hồ đo điện nếu có |
Sơ đồ nối dây khuyến nghị
| Tín hiệu | Kết nối | Ghi chú kiểm tra |
|---|---|---|
| VCC logic | 5V hoặc 3.3V đúng board | ESP32 chỉ nhận GPIO 3.3V |
| GND | GND chung giữa board, driver và nguồn | Thiếu GND chung là lỗi rất thường gặp |
| PWM/Signal | Chân PWM hoặc GPIO được chỉ định trong code | Không dùng chân boot/Serial khi chưa hiểu tác dụng |
| Nguồn tải | Cấp riêng cho motor/servo | Không lấy dòng motor trực tiếp từ board |
Quy trình thực hành trên lớp (35-50 phút)
- Giáo viên giới thiệu mục tiêu và chỉ ra linh kiện thật trên bàn học.
- Học viên nối dây khi chưa cấp nguồn tải, sau đó kiểm tra chéo theo cặp.
- Upload code mẫu, mở Serial Monitor nếu bài có dữ liệu cần quan sát.
- Chạy thử ở tốc độ/tham số thấp để giảm rủi ro va chạm hoặc quá dòng.
- Học viên thay đổi một tham số: tốc độ PWM, ngưỡng cảm biến, góc servo hoặc thời gian giữ.
- Cả lớp ghi lại hiện tượng: robot nhanh/chậm hơn, lệch hướng, rung, mất line hoặc phản ứng trễ.
- Giáo viên tổng kết bằng sơ đồ "input → xử lý → output" của bài học.
Code mẫu nền tảng
const int LED_PIN = 8;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}Giải thích kỹ thuật
- Nguồn quyết định độ ổn định: motor và servo kéo dòng cao nên cần nguồn riêng, tụ lọc và dây đủ chắc.
- Tín hiệu điều khiển chỉ mang lệnh, không mang công suất. Board điều khiển gửi HIGH/LOW/PWM, driver mới cấp dòng cho tải.
- Calibration giúp robot hoạt động lặp lại được: cảm biến cần ngưỡng, servo cần góc home, motor cần bù sai lệch hai bên.
- Tách hàm làm code dễ dạy: một hàm cho đọc input, một hàm xử lý quyết định, một hàm điều khiển output.
Checklist an toàn phần cứng
- chỉ làm việc với nguồn DC thấp áp (dưới 12V); không chạm điện lưới 220V AC khi tự học.
- Kiểm tra cực dương/âm của pin bằng mắt và bằng đồng hồ đo nếu có.
- Không để dây nguồn trần chạm nhau hoặc chạm khung kim loại.
- Khi motor/servo nóng bất thường, dừng nguồn tải trước rồi mới sửa code hoặc sửa dây.
- Với pin Li-ion/LiPo, không sạc khi không giám sát và không dùng pin phồng.
Lỗi thường gặp và cách debug
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Upload lỗi | Sai board, sai port, thiếu driver USB | Chọn lại board/port, đổi cáp USB data, cài CH340 nếu cần |
| Robot không chạy | Chưa cấp nguồn tải hoặc thiếu GND chung | Kiểm tra pin, công tắc, dây GND giữa board và driver |
| Motor quay ngược | Đảo dây motor hoặc logic IN1/IN2 ngược | Đảo dây motor hoặc đổi dấu trong hàm điều khiển |
| Cảm biến đọc sai | Khoảng cách lắp chưa đúng, ngưỡng chưa chỉnh | In giá trị Serial, chỉnh trimmer/calibration rồi test lại |
| Servo rung | Nguồn yếu, cơ khí kẹt, lệnh nhảy góc quá nhanh | Dùng nguồn riêng, kiểm tra khớp, di chuyển góc theo bước nhỏ |
Bài tập trên lớp
- Hoàn thành mạch và chạy code mẫu ổn định ít nhất 3 lần liên tiếp.
- Giải thích bằng lời vai trò của từng dây: VCC, GND, signal/PWM và nguồn tải.
- Thay đổi một tham số trong code và ghi lại hiện tượng trước/sau.
Bài tập về nhà
- Viết lại kiến thức chính bằng sơ đồ khối và liên hệ với một lỗi phần cứng có thể xảy ra.
- Vẽ lại sơ đồ nối dây của bài vào vở hoặc slide nhóm.
- Chuẩn bị một câu hỏi debug cho buổi sau: "Nếu robot không chạy, em sẽ kiểm tra gì đầu tiên?"
Tiêu chí đánh giá
| Mức | Biểu hiện |
|---|---|
| Đạt | Nối dây đúng, upload được code và mô tả được hiện tượng chính |
| Khá | Tự chỉnh tham số, giải thích được tác động lên phần cứng |
| Tốt | Tách được hàm, debug có thứ tự và hỗ trợ nhóm khác kiểm tra lỗi |
| Xuất sắc | Đề xuất cải tiến về nguồn, cơ khí, thuật toán hoặc cách đo dữ liệu |
Gợi ý cho giáo viên
Với học viên mới, đừng bắt đầu bằng code dài. Hãy cho học viên chạm linh kiện, đoán chức năng, rồi mới nối dây. Khi có lỗi, yêu cầu các nhóm đọc lỗi theo thứ tự: nguồn → GND → chân tín hiệu → code → cơ khí. Cách này hình thành tư duy hardware engineering thay vì chỉ sửa mò.