Câp nguồn 5v vào arduino chịu được dòng bao nhiêu năm 2024
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường nói tới chính là dòng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3). Bạn sẽ bắt đầu đến với Arduino qua thứ này. Bạn có thể dùng Arduino Nano cũng được nhưng mình khuyên bạn nên dùng cái này. Show
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác. Arduino Uno được xây dựng với phân nhân là vi điều khiển ATmega328P sử dụng thạch anh có chu kì dao động là 16 MHz. Với vi điều khiển này, ta có tổng cộng 14 pin (ngõ) ra / vào được đánh số từ 0 tới 13 (trong đó có 6 pin PWM, được đánh dấu ~ trước mã số của pin). Song song đó, ta có thêm 6 pin nhận tín hiệu analog được đánh kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra / vào bình thường (như pin 0 - 13). Ở các pin được đề cập, pin 13 là pin đặc biệt vì nối trực tiếp với LED trạng thái trên board. Trên board còn có 1 nút reset, 1 ngõ kết nối với máy tính qua cổng USB và 1 ngõ cấp nguồn sử dụng jack 2.1mm lấy năng lượng trực tiếp từ AC-DC adapter hay thông qua ắc-quy nguồn. Khi làm việc với Arduino board, một số thuật ngữ sau cần được lưu ý:
Ngoài ra, board Arduino còn cung cấp cho ta các pin khác nhau như pin cấp nguồn 3.3V, pin cấp nguồn 5V, pin GND... Arduino Uno là một vi điều khiển dựa trên ATmega328P. Nó có 14 chân đầu vào/đầu ra kỹ thuật số (trong đó 6 chân có thể được sử dụng làm đầu ra PWM), 6 đầu vào tương tự, tinh thể thạch anh 16 MHz, kết nối USB, giắc cắm nguồn, header ICSP và nút reset. Mạch chứa mọi thứ cần thiết để hỗ trợ vi điều khiển, chỉ cần kết nối với máy tính bằng cáp USB hoặc cấp nguồn bằng bộ chuyển đổi AC-to-DC hoặc qua chân nguồn để bắt đầu . Sơ đồ chân Arduino Uno:Power:
Chức năng các chân đặc biệt:Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra, chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm. Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch. Uno có 6 chân đầu vào Analog từ A0 đến A5, mỗi chân cung cấp 10 bit độ phân giải (tức là 1024 giá trị khác nhau). Ngoài ra, một số chân có chức năng đặt biệt:
ĐÈN LEDĐèn led hay còn gọi là điốt phát quang, là một biến thể của diode cơ bản, nó xác định độ chênh lệch điện áp nhỏ nhất giữa Anode (+ ) và Cathode (-), led khác diode ở chỗ là tạo ra ánh sáng khi dòng điện đi qua. Đèn led cần được kết nối đúng âm dương của nguồn điện để hoạt động. Đèn led có rất nhiều màu sắc khác nhau: đỏ, vàng, xanh lá, xanh dường, trắng… Điện áp: Mỗi đèn led đều có một mức điện áp đầu vào nhất định (led 5mm dao động 1.9 – 3.2 Vol), nếu cung cấp không đủ đèn sẽ không phát sáng hoặc cung cấp nguồn lớn hơn thì cần phải sử dụng trở để giảm điện thế vào led. Nếu bạn mắc nhiều đèn led nối tiếp, song song thì cần phải tính toán mức điện áp, dòng điện cung cấp cho tất cả các led. Dòng điện: Nếu bạn cung cấp dòng điện vượt qua ngưỡng cho phép, tương đương với việc làm gia tăng nhiệt độ và làm giảm tuổi thọ của led. Dòng điện phù hợp với led 5mm thường ở mức 20mA, tối đa có thể là 30mA, chúng ta kiểm soát dòng điện bằng cách mắc một điện trở nối tiếp với đèn led,nó giúp dòng điện của led luôn ở mức cho phép. Thực hành: Điều khiển đèn LED qua ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code điều khiển bật tắt lần lượt 8 đèn LEDCÁCH 1 : ĐƠN GIẢN NHƯNG . . . DÀI DÒNG & TỐN THỜI GIAN
CÁCH 2 : SỬ DỤNG VÒNG LẶP FOR
BIẾN TRỞBiến trở là một dạng điện trở có thể thay đổi giá trị, ví dụ điện trở 10kΩ thì giá trị của nó chỉ là 10kΩ, còn biến trở 10kΩ là có thể thay đổi từ 0 ~ 10kΩ. Cấu tạo của biến trở rất đơn giản bao gồm: con chạy, cuộn dây được làm bằng hợp kim có điện trở công suất lớn, chân ngõ ra 3 chân. Biến trở được ứng dụng rộng rãi trong các mạch điện tử, được dùng để điều chỉnh sai số, điều chỉnh phân áp, phân dòng trong mạch… Ví dụ dùng để tăng giảm âm lượng trong các mạch âm thanh, tăng giảm độ sáng của đèn… Thực hành: Đọc giá trị biến trởChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code đọc giá trị điện áp qua biến trở
Kết nối theo sơ đồ sau:Điều chỉnh độ sáng của đèn led bằng biến trở với Arduino
NÚT NHẤNNút nhấn là một dạng công tắc đơn giản để đóng ngắt các thiết bị hoặc điều khiển một số hoạt động, quá trình của các thiết bị điện tử, máy móc. Hầu hết, các nút nhấn được làm bằng nhựa hoặc kim loại. Nút nhấn có 2 loại là nút nhấn thường đóng và thường mở. Cấu tạo :Nút nhấn gồm hệ thống lò xo, hệ thống các tiếp điểm thường hở – thường đóng và vỏ bảo vệ. Khi tác động vào nút nhấn, các tiếp điểm chuyển trạng thái, khi không còn tác động, các tiếp điểm trở về trạng thái ban đầu. Nguyên lí hoạt động :Nút nhấn có ba phần: Bộ truyền động, các tiếp điểm cố định và các rãnh. Bộ truyền động sẽ đi qua toàn bộ công tắc và vào một xy lanh mỏng ở phía dưới. Bên trong là một tiếp điểm động và lò xo. Khi nhấn nút, nó chạm vào các tiếp điểm tĩnh làm thay đổi trạng thái của tiếp điểm. Trong một số trường hợp, người dùng cần giữ nút hoặc nhấn liên tục để thiết bị hoạt động. Với các nút nhấn tự giữ, chốt sẽ giữ nút bật cho đến khi người dùng nhấn nút lần nữa. Thực hành: Nút nhấn và LEDChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code đọc trạng thái nút nhấn báo qua LED
CÒI BUZZ THỤ ĐỘNGCòi buzz thụ động khác với cói buzz chủ động có sẵn mạch dao động bên trong nên chỉ cần cấp nguồn là phát ra âm thanh, còn còi buzz thụ động không có bộ dao động bên trong nên khi cấp một tần số từ 2Khz – 5Khz còi sẽ phát âm thanh tùy theo tần số và thời gian, còi thụ động giúp chúng ta kiểm soát được nhiều hiệu ứng âm thanh. Thực hành: Còi buzz thụ động với ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code: Một vài nốt nhạc tìm hiểu các câu lệnh
QUANG TRỞQuang trở hay điện trở quang, photoresistor, photocell, LDR ( Light-dephendent resistor), là linh kiện điện tử được làm bằng chất đặc biệt có điện trở thay đổi giảm theo mức ánh sáng chiếu vào. Ở nơi có ít ánh sáng thì giá trị điện trở tăng cao có thể lên đến vài MΩ, còn nơi có ánh sáng mạnh thì giảm còn vài trăm Ω. Vật liệu quang trở gồm nhiều loại, ở đây ta sử dụng loại CDS (làm từ Sunfua Cadm). Quang trở hoạt động dựa trên hiệu ứng quang điện trong khối vật chất. Khi photon có năng lượng đủ lớn đập vào, sẽ làm bật electron khỏi phân tử, trở thành tự do trong khối chất và làm chất bán dẫn thành dẫn điện. Mức độ dẫn điện tùy thuộc vào số photon được hấp thụ. Tùy thuộc chất bán dẫn mà quang trở phản ứng khác nhau với bước sóng photon khác nhau. Quang trở phản ứng trễ hơn điốt quang, cỡ 10ms, nên nó tránh được thay đổi nhanh của nguồn sáng. Thực hành: Sử dụng cầu chia áp để đọc giá trị thay đổi của quang trở với Arduino.Ở đây mình sử dụng R1 là 10K, R2 là quang trở. Chuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code bật tắt LED theo giá trị quang trở
Ứ NG D Ụ NG Q U ANG TRỞ NÀY ĐỂ LÀ M ĐÈN T Ự ĐỘNG L I Ệ U CÓ ỔN? CẢM BIẾN PHÁT HIỆN LỬAKhi lửa cháy sẽ phát ra ánh sáng hồng ngoại (thường là ở dải 760-1100 nanomet), cảm biến sẽ nhận được tia hồng ngoại từ đó để phát hiện lửa. Nguyên lý hoạt động là điện trở của cảm biến phát hiện lửa sẽ tăng khi có lửa, nó chuyển tín hiệu hồng ngoại thu được thành tín hiệu điện để báo động. Thực hành: Cảm biến phát hiện lửa với ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code: Đọc giá trị analog của cảm biến trên Serial, xem sự thay đổi khi có lửa và không có lửa
Sau khi đọc được giá trị cảm biến, các bạn có thể chia khoảng giá trị ra có lửa và không có lửa, dùng lệnh if để so sánh kết quả, rồi kết nối thêm còi và đèn led để báo động (tương tự như với cảm biến quang trở). CẢM BIẾN NGHIÊNG, RUNG SW520DCác cảm biến độ nghiêng kiểu công tắc bóng này là một loại công tắc kỹ thuật số thay đổi trạng thái từ mở sang đóng dựa trên độ nghiêng của nó so với vector trường hấp dẫn của trái đất. Về mặt điện, chúng hoạt động giống như nút nhấn mà chúng ta đã sử dụng trước đây, nơi các tiếp điểm dẫn điện khi công tắc đóng và không dẫn điện khi nó mở ra. Về mặt cơ học, chúng thường bao gồm một vỏ rỗng (thường là hình trụ) và một khối tự do dẫn điện bên trong (điển hình là một đốm thủy ngân hoặc một quả cầu kim loại lăn tròn); trên một đầu của vỏ, cảm biến có hai hoặc nhiều phần tử dẫn điện bị đoản mạch khi hướng của cảm biến đến mức khối lượng tự do bên trong cuộn và tiếp xúc vật lý với chúng. Khi cảm biến ở vị trí thẳng, viên bi trong sẽ chạm 2 chân và 2 chân đó sẽ được thông với nhau. Khi cảm biến nghiêng, viên bi lăn ra khỏi sẽ làm 2 chân đứt mạch, không thông. Thực hành: Cảm biến rung với ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:
LED 7 ĐOẠNLed 7 đoạn hay Led 7 thanh (Seven Segment Display) gổm 7 thanh led đơn sắp xếp theo hình chữ “8”. Hầu hết các led 7 đoạn thực sự có 8 phân đoạn, với một dấu chấm ở phía bên phải của chữ số đóng vai trò là dấu thập phân. Mỗi đoạn được đặt tên bằng chữ từ A -> G và DP cho dấu thập phân. Mỗi phân đoạn đều có thể được điều khiển riêng lẻ, giống như một đèn LED thông thường. Có 2 loại led 7 đoạn là Anode chung và Cathode chung. Loại Cathode chung (các chân ” – ” của led được mắc chung với nhau) Chân 3 và chân 8 là 2 chân được nối chung với GND (chân âm của led), các chân dương của led được sử dụng riêng biệt, cần thanh led nào sáng chỉ cần cho cực dương của led đó được kết nối với nguồn dương. Loại Anode chung (các chân ” + ” của led được mắc chung với nhau) Chân 3 và chân 8 là 2 chân được nối chung với Vcc (chân dương của led), các chân âm của led được sử dụng riêng biệt, cần thanh led nào sáng chỉ cần cho cực âm của led đó được kết nối với nguồn âm. Thực hành: Hiển thị những con số với LED 7 đoạnChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:CÁCH 1 : VIẾT TỪNG SỐ
0 CÁCH 2 : SỬ DỤNG VÒNG LẶP FOR
1 LED 7 ĐOẠN 4 SỐLed 7 đoạn 4 số là bao gồm 4 led 7 đoạn đơn ghép lại, về cấu tạo và nguyên lý hoạt động cũng tương tự như led 7 đoạn 1 số. Thực hành: Hiển thị những con số với LED 7 đoạn 4 sốChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:‘ Các chân chữ số D1, D2, D3 và D4 của led 7 đoạn cần được kết nối với các điện trở hạn chế dòng điện, vì chúng là các đầu nối chung của các led. ‘ Code hiển thị các số 1000 đến 9999 1 giây đếm lên 1 đơn vịTải thư viện tại: https://github.com/DeanIsMe/SevSeg
2 IC 74HC595IC 74HC595 là một IC thông dụng với khả năng dịch bit và ghi nhớ tạm thời 8 bit. Vì vậy, IC 74HC595 có khả năng mở rộng thêm chân cho các board mạch vi điều khiển như Arduino
Thực hành: Điều khiển nhiều LED tiết kiệm chân Arduino hơn với IC 74HC595Chuẩn bị phần cứng:
Kết nối theo sơ đồ trang bên:Các chân 8, 11, 12 lần lượt điều khiển các chân LATCH, CLOCK, INPUT. Các chân Q0 đến Q7 nối lần lượt vào chân dương của đèn led thông qua trở. Chân Enable nối mức thấp, chân MR nối mức cao. Code dùng IC 74HC595 điều khiển bật tắt lần lượt 8 LED
3 Giải thích: Tạo vòng lặp có giá trị từ 1 đến 255, bước nhảy của vòng lặp này là dịch qua 1 bit. Số x ban đầu là 1: 0000 0001: 2^0 = 1 0000 0010: 2^1 = 2 0000 0100: 2^2 = 4 0000 1000: 2^3 = 8 0001 0000: 2^4 =16 0010 0000: 2^5 = 32 0100 0000: 2^6= 64 1000 0000: 2^7 = 128 Do đó, giới hạn vòng lặp x khi bằng 256 thì dừng. Mỗi vòng lặp bắt đầu bằng việc cài đặt cho chân LATCH có trạng thái là LOW. MSBFIRST, LSBFIRST trong hàm shifOut có nghĩa là dịch bit từ bit bên phải nhất hoặc từ bit bên trái nhất. ĐỘNG CƠ SERVO 180 ĐỘĐộng cơ servo là một dạng động cơ chỉ quay khi được điều khiển (bằng xung PWM) với góc quay nằm trong khoảng từ 0 – 180 độ. Nó không giống các loại động cơ thường chỉ cần cấp nguồn là quay liên tục. Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác. Bên trong 1 servo thường bao gồm bốn thành phần chính: động cơ DC, hộp số, biến trở và mạch điều khiển. Động cơ DC có tốc độ cao và mô-men xoắn thấp nhưng hộp số giảm tốc độ xuống đồng thời tăng mô-men xoắn lên. Chiết áp được gắn trên bánh răng cuối cùng hoặc trục đầu ra, do đó động cơ cũng quay chiết áp, tạo ra một điện áp liên quan đến góc tuyệt đối của trục đầu ra. Trong mạch điều khiển, điện áp chiết áp này được so sánh với điện áp đến từ đường tín hiệu. Nếu cần, bộ điều khiển kích hoạt mạch cầu H tích hợp cho phép động cơ quay theo hai hướng cho đến khi hai tín hiệu đạt mức chênh lệch bằng không. Thực hành: Điều khiển Servo sử dụng ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code điều khiển góc quay của Servo dùng ArduinoLink tải thư viện: https://github.com/arduino-libraries/Servo
4 CẢM BIẾN NHIỆT ĐỘ LM35Cảm biến nhiệt độ LM35 là loại cảm biến tương tự, hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Output tương ứng với mỗi mức nhiệt độ. Thực hành: Đọc giá trị nhiệt độ môi trường bằng cảm biến LM35 và ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code: Đọc giá trị nhiệt độ môi trường hiển thị ra Serial bằng cảm biến LM35 và Arduino
5 CẢM BIẾN THU HỒNG NGOẠI IR 1838 TSOP1838 + REMOTECảm biến hồng ngoại hay còn được gọi là IR Sensor, chúng là một thiết bị điện tử có khả năng đo và phát hiện bức xạ hồng ngoại trong môi trường xung quanh. Cảm biến hồng ngoại (IR Sensor) phát ra các tia vô hình đối với mắt người, vì bước sóng của nó dài hơn ánh sáng khả kiến (mặc dù nó vẫn nằm trên cùngmột phổ điện từ). Bất cứ thứ gì phát ra nhiệt (mọi thứ có nhiệt độ trên năm độ Kelvin) đều phát ra bức xạ hồng ngoại. Trên remote có 1 led hồng ngoại được sử dụng để truyền tín hiệu hồng ngoại. Tín hiệu này sẽ được nhận bởi 1 cảm biến thu hồng ngoại và chuyển thành dạng xung điện, sau đó các xung điện này sẽ được chuyển đổi thành dữ liệu được sử dụng cho các thiết bị điện tử. Remote + cảm biến thu hồng ngoại IR 1838 dùng trong các ứng dụng điều khiển các thiết bị từ xa. Module dễ dàng kết nối với vi điều khiển. Thực hành: Sử dụng cảm biến thu hồng ngoại IR 1838 để nhận tín hiệu từ remote với ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code: Nhận tín hiệu từ remote và hiển thị giá trị ra SerialLink tải thư viện: https://github.com/Arduino-IRremote/Arduino-IRremote
6 MÀN HÌNH LCD 1602Màn hình LCD với khả năng hiển thị 2 dòng với mỗi dòng 16 ký tự, có thể hiển thị các kí tự đa dạng (chữ, số, kí tự đồ họa), được ứng dụng nhiều trong các board mạch điện tử khác nhau. Sơ đồ chân của LCD:
Thực hành: Lập trình hiển thị chữ ra màn hình LCD 1602 với ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code: Hiển thị chữ ra màn hình LCD
7 Sau khi nạp code xong, các bạn có thể vặn biến trở để chỉnh độ tương phản của màn hình cho phù hợp. MẠCH ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC ULN2003 + STEP 28YJ-48Module điều khiển động cơ bước ULN2003 là một vi mạch đệm, cấu tạo từ các mảng darlington chịu được dòng điện đi qua lớn với điện áp cao. Cấu trúc bên trong bao gồm 7 cặp Transistor ghép theo phương thức darlington cực góp hở với một cực phát chung, mỗi cặp có khả năng điều khiển tải lên đến 500mA và 50V. (Transistor Darlington còn gọi là cặp Darlington, là cấu trúc hỗn hợp gồm hai transistor lưỡng cực cùng kiểu npn hoặc pnp kết nối theo cách thức để khuếch đại dòng của transistor đầu được khuếch đại thêm bởi transistor thứ hai). Động cơ bước 28BYJ-48 là động cơ bước được sử dụng phổ biến, biến đổi xung điện thành chuyển động quay cơ học rời rạc. Đó là bởi vì khi các tín hiệu điện được áp dụng, động cơ bước sẽ quay theo các gia số góc chính xác và cố định được gọi là các bước. Động cơ gồm 4 cuộn dây tạo thành vòng bao quanh rotor. Những cuộn dây này được gọi là stator, vì chúng đứng yên và tĩnh. Mỗi cuộn dây được đánh giá ở mức + 5V, giúp dễ dàng điều khiển bằng bất kỳ bộ vi điều khiển nào, chẳng hạn như Arduino. Sơ đồ động cơ bước:Sơ đồ mạch driver ULN2003Thực hành: Điều khiển động cơ bước 28YJ-48 bằng Driver ULN2003 và ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code: Điều khiển động cơ bước bằng ULN2003 và Arduino
8
9 LED MA TRẬN 8×8Led ma trận 8×8 bao gồm 64 con led được sắp xếp với nhau theo dạng ma trận, thành 8 hàng và 8 cột, tức là 16 chân. Các led đơn trong cùng một hàng được nối chung anode hoặc cathode, tương tự trong một cột các led được nối chung anode hoặc cathode, tùy mỗi loại led. Sơ đồ led ma trận 8×8:Thực hành: Điều khiển đèn led ma trận 8×8 với ArduinoChuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Code: Hiển thị hình trái tim trên led ma trận 8×8 với arduino
0 Cách 2: Sử dụng led ma trận 8×8 với IC 74HC595Chuẩn bị phần cứng:
Kết nối theo sơ đồ sau:Q0 – 9, Q1 – 14, Q2 – 8, Q3 – 12, Q4 – 1, Q5 – 7, Q6 – 2 Q7 – 5; 13 – 13, 12 – 3, 11 – 4, 10 – 10, 9 – 6, 8 – 11, 7 – 15, 6 – 16 |