Đăng bởi Để lại phản hồi

Hướng dẫn đọc giá trị biến trở theo analog của Arduino trên Tinkercad

Trong bài viết này chúng ta cùng tìm hiểu cách đọc giá trị của biến trở (loại biến trở xoay) theo analog của Arduino. Chúng ta sẽ nối một mạch đơn giản, sử dụng breadboard và code Arduino để điều khiển một đèn LED.

Trong bài hướng dẫn này, chúng ta sẽ thấy được tín hiệu đèn thay đổi dần khi xoay biến trở với các đầu vào analog của Arduino (nằm ở hai phía đối diện của board từ các chân i/o digital – đầu vào/đầu ra). Các chân analog đặc biệt này được kết nối với Bộ chuyển đổi analog sang digital (hay còn gọi là ADC -Analog Digital Converter) của Arduino. ADC sẽ chuyển đổi tín hiệu analog đến (giữa 0V và 5V) thành một dải số từ 0-1023 (số 0 vẫn được tính là một giá trị nhé).

Hãy xem Mạch mẫu chiết áp với Arduino bằng cách nhấp vào “Start Simulation” và dùng chuột xoay chiết áp.

Để thực hành dựng mạch này, bạn cần có 1 board Arduino Uno, 1 cáp USB, 1 breadboard, 1 đèn LED, 1 điện trở (bất kỳ từ 100-1K Ohm), 1 biến trở và dây nối mạch.

Tham khảo thêm: Sản phẩm Biến trở RM065 – 0.5K

Bước 1: Xây dựng mạch

Hãy nhìn vào mạch breadboard trong hình trên. Lưu ý rằng các hàng của breadboard đều được kết nối ở bên trong, do đó bạn có thể cắm các linh kiện và dây để tạo ra kết nối nhanh chóng. Nếu muốn thực hành ảo, bạn có thể mở một cửa sổ Tinkercad Circuits mới và xây dựng bản mạch của mình theo như mạch mẫu.

Đầu tiên hãy xác định các linh kiện: biến trở, đèn LED, điện trởdây nối với Arduino.

Kéo Arduino Unobreadboard từ bảng components vào bảng làm việc.

Kết nối đường dây nguồn (+)đường dây nối đất (-) của bảng mạch chính với Arduino 5Vchân đất (GND), bằng cách nhấp chuột để tạo dây.

Mở rộng đường ray nguồn và đường ray nối đất tương ứng (ở mép đối diện của bảng mạch), bằng cách tạo một dây màu đỏ giữa hai thanh nguồn và một dây màu đen giữa hai thanh đất.

Cắm đèn LED vào hai hàng breadboard khác nhau để cực âm (chân ngắn hơn) kết nối với một chân của điện trở (giá trị bất kỳ từ 100-1K Ohm). Điện trở có thể lắp theo một trong hai hướng vì nó không phân cực (khác với LED, phải được kết nối theo một chiều nhất định).

Nối chân còn lại của điện trở với đất.

Nối dây cực dương của LED (chân dài hơn) vào chân 13 của Arduino.

Kéo một biến trở từ bảng components vào bảng mạch và để các chân của nó cắm vào ba hàng khác nhau.

Nhấp chuột để tạo một dây, nối một chân biến trở bên ngoài với nguồn điện.

Kết nối chân trung tâm với chân analog A0 của Arduino.

Tạo một dây nối chân bên ngoài còn lại với đất.

Bước 2: Code với khối

Hãy sử dụng trình chỉnh sửa code để xem trạng thái của biến trở, sau thay đổi biến trở thì LED sẽ nhấp nhấp theo tốc độ khác nhau.

Nhấp vào nút “Code” để mở trình chỉnh sửa code. Các khối ký hiệu màu xám là các chú thích để ghi lại ghi chú.

Nhấp vào danh mục “variables” trong trình chỉnh sửa code.

Để lưu trữ giá trị điện trở của biến trở, hãy tạo một biến có tên sensorValue.

Kéo ra một khối “set“. Ở đầu chương trình, đặt biến sensorValue thành “read analog pin” A0.

Nhấp vào danh mục Output và kéo khối đầu tiên ra để đặt đèn LED thành HIGH.

Nhấp vào danh mục Control và kéo khối Wait, sau đó quay trở lại Variables và kéo sensorValue vào khối chờ, đồng thời điều chỉnh từ menu thành mili giây.

Bước 3: Giải thích code biến trở Arduino

Khi trình chỉnh sửa code mở, bạn có thể nhấp vào menu bên trái và chọn “Block + Text” để hiển thị code Arduino được tạo bởi các khối code này.

int sensorValue = 0;

Trước setup(), chúng ta tạo một biến để lưu trữ giá trị hiện tại được đọc từ biến trở. Nó được khai báo dạng int vì là một số nguyên.

void setup()
{
  pinMode(A0, INPUT);
  pinMode(13, OUTPUT);
}

Bên trong setup(), các chân được cấu hình bằng pinMode(). Chân A0 được cấu hình như một đầu vào, để chúng ta có thể xem trạng thái của biến trở. Chân 13 được cấu hình làm đầu ra để điều khiển đèn LED.

void loop()
{
  // read the value from the sensor
  sensorValue = analogRead(A0);

Mọi thứ ghi sau hai dấu gạch chéo // đều là phần nhận xét (dùng để ghi chú giúp chúng ta hiểu code hơn). Trong vòng lặp chính, hàm analogRead() giúp kiểm tra trạng thái của chân A0 (là một số nguyên từ 0-1023) và lưu trữ giá trị đó trong biến sensorValue.

// turn the LED on
  digitalWrite(13, HIGH);
  // pause the program for <sensorValue> millseconds
  delay(sensorValue); // Wait for sensorValue millisecond(s)
  // turn the LED off
  digitalWrite(13, LOW);
  // pause the program for <sensorValue> millseconds
  delay(sensorValue); // Wait for sensorValue millisecond(s)
}

Hàm digitalWrite(); sẽ đặt đèn LED ở trạng thái bật (HIGH)tắt (LOW). Hai trạng thái này được tách biệt bằng các khoảng thời gian tạm dừng, với hàm delay();. Thời gian chờ này không cố định, mà sẽ được đặt theo giá trị của sensorValue ở cùng thời điểm đó. Vì vậy, nếu sensorValue là 1023, chương trình sẽ tạm dừng trong 1023 mili giây khi delay(sensorValue);được thực thi. Khi ta xoay biến trở và giá trị thay đổi, thời gian của mỗi lần nhấp nháy của đèn LED do đó cũng sẽ thay đổi.

Bước 4: Khởi động mạch Analog input

Mạch này cũng có sẵn trong mục Starter của Tinkercad Circuits. Bạn có thể sử dụng nó để đọc biến trở hoặc bất kỳ loại biến trở/ đầu vào analog nào khác.

Ta có thể lấy mạch Starter này từ trong bảng components (menu -> Starters -> Arduino). Mạch này có cùng code với mạch mẫu bên trên, tuy nhiên sẽ thiếu breadboard và sử dụng đèn LED tích hợp của Uno (có dây nối vào chân 13).

Bước 5: Xây dựng mạch với board Arduino

Để thực hành thực tế, bạn sẽ cần cài đặt phần mềm Arduino và mở nó lên.

Nối dây mạch Arduino Uno bằng cách cắm các linh kiện và dây để khớp với các kết nối được hiển thị ở mạch mẫu trên Tinkercad Circuits.

Sao chép code từ cửa sổ mã và dán nó vào một bản thảo trống trong phần mềm Arduino (hoặc tải xuống và mở file bằng phần mềm). Bạn cũng có thể tìm thấy ví dụ này trong phần Tệp -> Ví dụ -> 03.Analog -> AnalogInput.

Cắm cáp USB, chọn bo mạch và cổng trong menu Tools.

Tải code lên và xoay núm biến trở để điều chỉnh tốc độ nhấp nháy của đèn LED nhé.

Nguồn: instructables.com
Lượt dịch: Fuvitech.vn

Đăng bởi Để lại phản hồi

Hướng dẫn điều khiển nút nhấn với Arduino trên Tinkercad

Hôm nay chúng ta cùng tìm hiểu cách điều khiển một nút bấm, bằng cách sử dụng đầu vào kỹ thuật số (analog input) của Arduino. Ta sẽ nối một mạch đơn giản, sử dụng breadboard và code Arduino để điều khiển một chiếc đèn LED.

Đây là bài tiếp theo trong series hướng dẫn thực hành Arduino (với Tinkercad Circuits). Ở những bài viết trước, ta đã học được cách điều khiển nhiều đèn LED. Tuy nhiên đó mới chỉ là một trong nhiều công dụng của đầu ra (output) của Arduino. Ở bài viết hôm nay, ta sẽ dựa trên kết quả output này và thêm vào một input khác. Arduino có thể được lập trình để lắng nghe các tín hiệu điện và thực hiện các hành động dựa trên các input đó.

Nút nhấn được đề cập trong bài là một loại công tắc, một thiết bị cơ dùng để kết nối hoặc ngắt mạch.

Để thực hành trên mạch vật lý, bạn sẽ cần các linh kiện:

  • 1 bảng Arduino Uno
  • 1 cáp USB
  • 1 bảng mạch (breadboard) và dây
  • 1 đèn LED
  • 1 điện trở bất kỳ từ 100-1K Ohm
  • 1 điện trở 10K Ohm
  • 1 nút bấm

Tham khảo thêm: Sản phẩm Arduino Uno R3

Bước 1: Xây dựng mạch

Đầu tiên, ta hãy cùng xem mạch mẫu và kiểm tra thử nút nhấn: Mạch mô phỏng Điều khiển nút nhấn với Arduino. Lưu ý rằng các hàng của breadboard đã được kết nối ở bên trong, vì vậy ta có thể cắm các linh kiện và dây để tạo kết nối nhanh chóng. Nếu muốn, bạn cũng có thể mở một cửa sổ Tinkercad Circuits mới và xây dựng bản mạch riêng cho mình nhé.

Trong bảng làm việc (workplane) của Tinkercad Circuits, hãy tìm các linh kiện: nút bấm, đèn LED, hai điện trở và dây nối với Arduino.

Sau đó kéo Arduino Uno và breadboard từ bảng thành phần (components) vào bảng làm việc.

Kết nối đường dây nguồn (+)đường dây nối đất (-) của bảng mạch chính với Arduino 5Vchân đất (GND), bằng cách nhấp chuột để tạo dây.

Nối đường ray nguồn và đất tương ứng ở mép đối diện của bảng mạch, bằng cách tạo một dây màu đỏ giữa hai thanh nguồn và một dây màu đen giữa hai thanh đất.

Cắm đèn LED vào hai hàng breadboard khác nhau để cực âm (chân ngắn hơn) kết nối với một chân của điện trở (giá trị bất kỳ, từ 100-1K Ohms đều được). Điện trở có thể lắp theo một trong hai hướng vì điện trở không phân cực (khác với đèn LED – phải được kết nối theo một hướng nhất định mới có thể hoạt động).

Nối chân điện trở còn lại với đất.

Nối dây cực dương của LED (chân dài hơn) vào chân 13 của Arduino.

Kéo một nút bấm từ bảng thành phần vào giữa bảng mạch và đặt ngang qua đường ngắt ở giữa, sao cho các chân của nút đều cắm vào bốn hàng bảng mạch khác nhau.

Nhấp chuột để tạo dây nối một chân nút với nguồn điện.

Kết nối chân đối diện theo đường chéo đến chân số 2 của Arduino.

Tạo và đặt một điện trở có giá trị cao (ví dụ: 10K Ohm) giữa chân nút đó và đất.

Bước 2: Điện trở kéo xuống

Bạn có thắc mắc liệu tại sao chúng ta cần một điện trở để đọc công tắc?

Ở phần còn lại, hai phía của công tắc này không được kết nối với nhau. Bạn có thể di chuyển chuột qua các chân công tắc để xem nhãn thiết bị đầu cuối (Terminal) của chúng. Công tắc thông thường sẽ ở trang thái mở (trạng thái nghỉ), đầu dây số 12 và đầu dây số 22 không được kết nối với đầu dây số 11 và đầu dây số 21 của nút bấm. Chân 2 của Arduino được kết nối thông qua một điện trở 10K với đất. Khi ta nhấn nút, các dây dẫn công tắc được kết nối, cho phép chân 2 được kết nối với nguồn 5V, vốn không có điện trở. Vì dòng điện đi theo đường có ít điện trở nhất, nên chân cắm kết nối với nguồn điện và bỏ qua các đường nối yếu (10K) với đất.

Tuy nhiên, khi không có tín hiệu nào khác (khi công tắc không được nhấn), đường nối yếu với đất trở thành đường nối duy nhất. Vì vậy, điện trở “kéo chân xuống đất”, nên nó được gọi là pull-down resistor. Nếu không có điện trở này, chân 2 sẽ không được kết nối với bất kỳ thứ gì cho đến khi nút được nhấn. Tình huống này được gọi là “floating“, và nó có thể gây ra tình trạng nhiễu do tĩnh điện và nhiễu điện từ. Tương tự như vậy, điện trở cũng có thể được sử dụng để buộc một chốt vào nguồn điện. Khi đó nó được gọi là pull-up resistor.

Ta thêm một đồng hồ đo vào bảng làm việc, sau đó nối vào chân Arduino 2 và nối đất.

Nhấp vào start simulation và nhấn (hoặc giữ) nút nhấn để quan sát tín hiệu kỹ thuật số được thu nhận bởi chân 2.

Để hiểu rõ hơn, bạn có thể xem hình minh hoạ bên trên.

Bước 3: Code với khối

Bạn hãy sử dụng trình chỉnh sửa code (code blocks editor) để xem qua tín hiệu nút bấm, sau đó dự đoán thử xem đèn LED sẽ sáng lên khi nút bấm “được nhấn” hay “không được nhấn” nhé.

Ta nhấp vào nút “Code” để mở trình chỉnh sửa. Nhấp vào danh mục Variables và tạo một biến mới, gọi là buttonState.

Kéo ra một khối “set“.

Ta sẽ lưu trữ trạng thái của nút bấm vào biến buttonState. Nhấp vào danh mục Input Block, kéo khối “read digital pin” ra và đặt vào khối “set” sau từ “to”.

Vì nút bấm của chúng ta được kết nối với Arduino trên chân 2, hãy thay đổi từ menu của khối “read digital pin” thành 2. Bây giờ, các khối của bạn sẽ là  “set buttonState to read digital pin 2”, nghĩa là đặt biến buttonState để đọc trạng thái nút nhấn.

Nhấp vào danh mục Control và kéo ra một khối if then/else.

Ta cấu hình để nó thực hiện việc đánh giá xem buttonState có phải là giá trị HIGH hay không, bằng cách sử dụng khối so sánh toán học (Math comparator block). Cụ thể , ta kéo khối so sánh toán học vào câu lệnh if để kiểm tra xem biến buttonState có bằng HIGH không.

Ta muốn đèn LED sẽ sáng lên nếu nút được nhấn, ngược lại, đèn sẽ tắt. Trong danh mục Output block, hãy tìm khối “set built-in LED to HIGH”. Ta sẽ thử thêm các khối này vào câu lệnh if để đèn chỉ sáng khi nhấn nút ấn. “set built-in LED” nên ở trạng thái “HIGH” khi buttonState ở trạng thái “HIGH” – còn không thì “set built-in LED” nên ở trạng thái “LOW“.

Bước 4: Giải thích code Arduino

Khi trình chỉnh sửa code mở, ta có thể nhấp vào menu ở bên trái và chọn “Block + Text” để hiển thị code Arduino được tạo bởi các khối.

Trước setup(), chúng ta tạo một biến để lưu trữ trạng thái hiện tại của nút. Nó được khai báo bằng int bởi vì là số nguyên.

Bên trong hàm setup, các chân được cấu hình bằng pinMode(). Chân 2 được cấu hình như một đầu vào để chúng ta có thể xem được trạng thái của nút nhấn. Chân 13 được cấu hình làm đầu ra để điều khiển đèn LED.

Sau dấu gạch chéo // là một comment, chỉ để ghi chú cho chương trình. Trong vòng lặp chính, hàm digitalRead() sẽ kiểm tra trạng thái của chân 2 (sẽ là 5V (HIGH) hoặc là tiếp đất (LOW)) và lưu trữ trạng thái đó trong biến buttonState đã tạo ở trên.

Bên dưới các hàng comment là câu lệnh if để kiểm tra xem liệu buttonState có phải là HIGH hay không (“==” là một toán tử so sánh, không nên nhầm lẫn với “=” là một toán tử gán ). Nếu đúng, đèn LED sẽ được đặt thành HIGH (trạng thái bật). Nếu không, các code bên trong else { sẽ được thực thi. Khi đó đèn LED sẽ được đặt thành LOW (trạng thái tắt). Câu lệnh If có thể tồn tại một mình, hoặc với nhiều câu lệnh else khác .

Bước 5: Mạch nút nhấn Starter

Mạch này cũng có sẵn trong Tinkercad Circuits. Bạn có thể sử dụng nó khi muốn đọc tín hiệu nút bấm (hoặc các loại công tắc hoặc digital input khác)

Ta lấy mạch và code trong bảng component (menu thả xuống -> Starters -> Arduino). Bộ mạch Starter này có cùng code với mạch mẫu, tuy nhiên không có bảng mạch và sử dụng đèn LED tích hợp sẵn của Uno (dây nối vào chân 13).

Bước 6: Xây dựng mạch với board Arduino

Khi thực hành thực tế, ta nối dây mạch Arduino Uno bằng cách cắm các linh kiện và dây để khớp với các kết nối được hiển thị trong mạch mẫu (trên Tinkercad). Sau đó sao chép code từ cửa sổ code và dán vào một bản thảo trống trong phần mềm Arduino (hoặc tải xuống và mở file bằng Arduino). Bạn cũng có thể tìm thấy ví dụ này trong phần mềm Arduino ở mục File -> Examples -> 02.Digital -> Button.

Tiếp theo, cắm cáp USB, chọn bo mạch và cổng trong menu Tools của phần mềm.

Cuối cùng, tải lên code và xem đèn LED có sáng khi nhấn nút không nhé. ?

Nguồn: instructables.com
Lượt dịch: Fuvitech.vn

Đăng bởi Để lại phản hồi

Hướng dẫn làm đèn LED RGB với Arduino trên Tinkercad

Bài viết sẽ giúp bạn tìm hiểu cách điều khiển đèn LED nhiều màu, bằng cách sử dụng đầu ra analog của Arduino. Cụ thể, chúng ta sẽ kết nối LED RGB với Arduino Uno, sau đó soạn một chương trình đơn giản để thay đổi màu sắc của đèn.

Nếu muốn thực hành ảo, bạn có thể sử dụng phần mềm mô phỏng Tinkercad Circuits.

Tham khảo thêm: Mạch đèn LED RGB trên Tinkercad.

Nếu muốn thực hành thực tế với Arduino Uno, bạn sẽ cần:

  • 1 cáp USB
  • 1 máy tính có cài đặt phần mềm Arduino (hoặc plugin cho web editor)
  • 1 Arduino Uno và dây
  • 1 đèn LED RGB
  • 1 điện trở bất kỳ (từ 100 – 1K Ohm)

Tham khảo thêm: Sản phẩm Arduino Uno R3

Màu Additive (còn gọi là light-based color) gồm có ba màu cơ bản là: đỏ, xanh lá và xanh lam. Khi trộn ba màu này ở các mức độ khác nhau ta có thể tạo ra hầu hết các màu khác. Đèn LED đổi màu cũng hoạt động theo cách này, tuy nhiên chúng đều nằm chung trong cùng một gói nhỏ, được gọi là LED RGB. Gói này có bốn chân, một chân cho mỗi màu và một chân nối đất (hoặc nguồn), tùy thuộc vào cách lắp. Các loại này được gọi là “cực âm chung” và “cực dương chung“.

Bước 1: Xây dựng mạch

Trong bảng component của Tinkercad Circuit, ta kéo ra một Arduino và breadboard mới. Nối Arduino 5V với thanh nguồn và Arduino GND với thanh đất.

Thêm một LED RGB và đặt lên trên bốn hàng khác nhau của breadboard. Đèn LED RGB trong trình mô phỏng có một cực âm chung, ở chân thứ hai của nó, vì vậy ta đấu dây hàng (hoặc chân) này xuống đất.

Thêm ba điện trở và di chuyển chúng sang các hàng trên breadboard cho ba chân LED còn lại, bắc cầu qua khe trung tâm của breadboard thành ba hàng riêng biệt ở phía bên kia.

Kết nối dây từ các đầu còn lại của điện trở, và đến ba chân Arduino PWM, được đánh dấu bằng dấu “~”.

Làm gọn mạch bằng cách cách điều chỉnh màu sắc và tạo các chỗ uốn cho dây.

Có thể là bạn sẽ muốn gộp chung và sử dụng một điện trở duy nhất trên chân cắm chung, tuy nhiên đừng làm vậy nhé. Mỗi đèn LED cần có điện trở riêng vì chúng không dùng chính xác cùng một lượng dòng điện với nhau.

Bước 2: Code mix màu

Trong Tinkercad Circuits, bạn có thể dễ dàng tạo code bằng cách sử dụng các block. Ta sẽ sử dụng trình chỉnh sửa code để kiểm tra hệ thống dây điện và điều chỉnh màu sắc của đèn LED.

Nhấp vào nút “code” để mở trình chỉnh sửa code.

Bạn có thể chuyển đổi giữa code mẫuchương trình của mình bằng cách chọn bảng Arduino tương ứng trong bảng làm việc (workplane).

Kéo khối đầu ra LED RGB vào một chương trình trống và điều chỉnh menu để khớp với các chân đã kết nối trước đó (11, 10 và 9).

Chọn một màu và nhấp “Start Simulation” để xem đèn LED RGB sáng lên. Nếu màu hiển thị không đúng, ta sẽ cần phải hoán đổi hai chân màu (trong hệ thống dây hoặc trong code).

Bạn có thể tạo nhiều đèn màu hơn, bằng cách sao chép khối đầu ra RGB (nhấp phải chuộc -> duplicate) và thay đổi màu sắc; sau đó thêm một số khối chờ vào giữa. Nếu sáng tạo hơn, bạn có thể thực hiện đếm ngược hoặc thay đổi màu sắc theo một bài hát ưa thích. Tuy nhiên, hãy lưu ý với khối lặp (repeat block) rằng, bất kỳ thứ gì bạn đưa vào bên trong khối sẽ được lặp lại một số lần nhất định.

Bước 3: Giải thích code Arduino

Khi mở trình sửa code, nhấp vào menu bên trái và chọn “Blocks + Text” để hiển thị code Arduino (được tạo bởi các khối code).

Sau khi setup các chân làm đầu ra, ta có thể thấy code có sử dụng hàm analogWrite() (như trong bài Hướng dẫn điều chỉnh độ sáng đèn LED). Code ghi mỗi chân (trong số ba chân) với một giá trị độ sáng khác nhau, dẫn đến màu sắc được pha trộn với nhau.

Bước 4: Xây dựng mạch với board Arduino

Nối dây mạch Arduino Uno bằng cách cắm các linh kiện và dây để khớp với sơ đồ trên Tinkercad Circuits. Nếu đèn LED RGB được sử dụng có cực dương chung thì chân thứ hai phải được nối với nguồn (thay vì nối đất) và các giá trị độ sáng 0-255 sẽ đảo ngược. Sao chép code từ cửa sổ code và dán vào một bản thảo trống trong phần mềm Arduino (hoặc tải xuống và mở file bằng Arduino).

Sau đó, cắm cáp USB, chọn bo mạch và cổng trong menu Tools của phần mềm.

Cuối cùng, tải lên mã và xem đèn LED của bạn thay đổi màu sắc nhé. ?

Nguồn: instructables.com
Lượt dịch: Fuvitech.vn

Đăng bởi Để lại phản hồi

Hướng dẫn làm đèn LED thay đổi độ sáng với Arduino trên Tinkercard

Hôm nay chúng ta sẽ cùng tìm hiểu cách điều chỉnh độ sáng của đèn LED, bằng cách sử dụng một trong những output analog của Arduino. Theo như bài hướng dẫn trước đó (Hướng dẫn làm đèn LED nhấp nháy), bạn đã biết cách sử dụng các chân I/O của Arduino để gửi tín hiệu “LOW”, “HIGH” đến LED. Tuy nhiên không chỉ vậy, một trong số các chân này còn có khả năng phát tín hiệu mờ. Chúng được đánh dấu trên Arduino Uno bằng dấu “~” bên cạnh số chân. Chúng ta sẽ kết nối LED đến một trong những chân đặc biệt này, sau đó soạn một chương trình đơn giản để điều chỉnh độ sáng của đèn.

Bạn có thể thực hành ảo mạch này bằng cách sử dụng phần mềm mô phỏng Tinkercad Circuits.

Tham khảo thêm: Mạch đèn LED mờ trên Tinkercad.

Nếu muốn thực hành thực tế với bảng Arduino Uno, bạn sẽ cần:

  • 1 cáp USB
  • 1 máy tính có cài đặt phần mềm Arduino (hoặc plugin cho web editor)
  • 1 bảng mạch và dây
  • 1 đèn LED
  • 1 điện trở bất kỳ (từ 100 – 1K Ohm)

Tham khảo thêm: Sản phẩm Điện Trở 1 W – 10K Ohm – 5%

Bước 1: Mạch LED trên breadboard

Đèn LED được mắc nối tiếp với điện trở giữa chân số 9 của Arduino và chân đất. Các hàng của breadboard đều được nối với nhau ở bên trong, do đó chúng ta có thể cắm linh kiện và dây vào các lỗ để tạo kết nối nhanh chóng. Nhìn vào hình trên, bạn sẽ thấy các đường nối sau:

  • Nguồn (+) và đất (-) của bảng mạch nối đến Arduino 5V và chân đất (GND)
  • Cực âm của LED (chân ngắn hơn) nối đến một chân của điện trở
  • Chân điện trở còn lại nối với đất
  • Cực dương của LED (chân dài hơn) nối đến chân 9 của Arduino

Bước 2: Xây dựng code điều chỉnh độ sáng LED

Trên Tinkercad Circuits, hãy nhấn nút Start Simulation để xem đèn LED mờ và sáng lên nhé.

Chương trình này có thể được tạo từ các khối code (code block) hoặc bằng ngôn ngữ lập trình Arduino. Ta nhấp vào Code Editor để mở trình chỉnh sửa code block.

Bắt đầu với một khối điều khiển có chức năng đếm. Ta đặt để khối đếm lên năm. Sau đó, nhấp vào menu bên cạnh “for” và chọn “rename variable…” để đổi tên thành “brightness” – độ sáng. Điều chỉnh các giá trị “from” và “to” thành “0” và “255” tương ứng.

Bên trong vòng lặp đếm, ta thêm khối output để đặt một trong các chân đặc biệt (~) và điều chỉnh nó thành chân 9. Di chuyển đến Variables và kéo khối brightness đến khối output để đặt chân 9 thành giá trị hiện tại của brightness (độ sáng). Giá trị này sẽ thay đổi trong quá trình vòng lặp đếm (counting loop) chạy.

Thêm khối wait (chờ) và đặt nó thành 30 mili giây. Khối này tạo ra khoảng thời gian duy trì nhỏ giữa các mức độ sáng, để ta có có thể nhìn thấy rõ hiệu ứng trước khi độ sáng tiếp tục thay đổi. Thời lượng của khối này dùng để điều chỉnh tốc độ của hiệu ứng.

Vòng lặp đếm mà ta đã tạo sẽ làm đèn LED có hiệu ứng sáng dần, từ tối đến sáng. Để làm LED tối dần trở lại, ta phải tạo một vòng lặp đếm khác. Ta có thể kéo một vòng lặp đếm mới vào trình chỉnh sửa hoặc sao chép vòng lặp hiện tại và thay đổi chiều đếm, từ 255 xuống 0.

Bước 3: Giải thích code Arduino điều chỉnh độ sáng 

Trong trình sửa code (code editor), ta có thể nhìn thấy code Arduino được tạo bởi các khối mã.

/*
  Fade
  This example shows how to fade an LED on pin 9
  using the analogWrite() function.

  The analogWrite() function uses PWM, so if  you
  want to change the pin you're using, be  sure to
  use another PWM capable pin. On most  Arduino,
  the PWM pins are identified with   a "~" sign,
  like ~3, ~5, ~6, ~9, ~10 and ~11.
*/

Phần đầu tiên này là một comment, mô tả những gì chương trình thực hiện. 

int brightness = 0;

void setup()
{
  pinMode(9, OUTPUT);
}

Phần chính của chương trình bắt đầu với việc tạo một biến tên là brightness và đặt giá trị bằng 0. Sau đó, bên trong hàm setup (), chân 9 được khởi tạo như một OUTPUT (đầu ra).

void loop()
{
  for (brightness = 0; brightness <= 255; brightness += 5) {
    analogWrite(9, brightness);
    delay(30); // Wait for 30 millisecond(s)
  }
  for (brightness = 255; brightness >= 0; brightness -= 5) {
    analogWrite(9, brightness);
    delay(30); // Wait for 30 millisecond(s)
  }
}

Vòng lặp của chương trình sử dụng hai vòng lặp for để đếm lên, từ 0 đến 255.

Hàm analogWrite() nhận hai đối số là: số chân Arduino (chân 9) và một giá trị từ 0 (tắt) đến 255 (sáng).

Để thực hành thực tế trên Arduino Uno, bạn hãy sao chép code từ cửa sổ và dán vào bản thảo Arduino trống (hoặc tải code xuống và mở file bằng phần mềm Arduino).

Sau đó, cắm và tải bản thảo lên Arduino Uno và quan sát đèn LED bật và tắt nhé.

Bước 4: Mạch đèn mờ Starter

Mạch này cũng đã có sẵn ở mục Starter.

Bạn có thể sử dụng mạch và code này bất cứ lúc nào, lấy từ trong bảng components (menu -> Starters -> Arduino).

Tuy nhiên, hãy lưu ý cách nối điện trở của đèn LED: được kết nối giữa nguồn và đèn thay vì đèn và đất. Cả hai mạch này đều tạo ra các kết nối giống nhau, liên kết đèn LED với chân tín hiệu và mặt đất, thông qua một điện trở giúp hạn chế dòng điện (điện trở này sẽ hoạt động dù được gắn ở bất kỳ phía bên nào của đèn).

Bước 5: Điều chế độ rộng xung

Board Arduino chỉ có khả năng tạo ra tín hiệu kỹ thuật số (LOWHIGH), nhưng hàm analogWrite(); mô phỏng sự xuất hiện của độ sáng giữa trạng thái bậttắt, bằng cách sử dụng Điều chế độ rộng xung PWM (Pulse Width Modulation). Đèn LED sáng lên và tắt đi rất nhanh, do đó mắt chúng ta có cảm giác đèn mờ đi. Tỷ lệ thời gian đèn bật và tắt sẽ xác định mức độ sáng (hoặc mờ) của đèn.

Điều chế độ rộng xung PWM tạo ra một tín hiệu kỹ thuật số dao động, được điều khiển luân phiên cao và thấp theo mô hình lặp lại. Mỗi khoảng thời gian từ cao đến thấp đến cao được gọi là một chu kỳ.

Bạn có thể sẽ thấy tín hiệu kỹ thuật số dao động (trên các máy hiện sóng) sẽ giống trên hình bên dưới.

Lưu ý rằng đối với mỗi chu kỳ, độ rộng của các phần HIGH và LOW của đồ thị đang thay đổi, do đó có thuật ngữ Điều chế độ rộng xung, viết tắt là PWM.

Các chân kỹ thuật số khác trên Arduino Uno có khả năng PWM, được đánh dấu bằng ~ là: 3, 5, 6, 9, 10 và 11.

Bước 6:  Xây dựng mạch thực tế với board Arduino

Ta tùy chọn sử dụng một board Arduino Uno như hình, để xây dựng mạch breadboard theo sơ đồ bên trên. Điện trở có thể gắn theo hướng bất kỳ, vì điện trở không phân cực (không giống như LED).

Nối mạch Arduino Uno, bằng cách cắm các linh kiện và dây, sao cho giống với sơ đồ trên Tinkercad. Sao chép code từ Tinkercad Circuit và dán vào một bản thảo trống trong phần mềm Arduino (hoặc tải xuống và mở file bằng Arduino).

Cuối cùng, ta cắm cáp USB, chọn bo mạch và cổng trong menu Tools của phần mềm.

Nguồn: instructables.com
Lượt dịch: Fuvitech.vn

Đăng bởi Để lại phản hồi

Hướng dẫn làm mạch nhiều đèn LED và breadboard với arduino trên Tinkercad

Bài viết này sẽ giúp chúng ta học cách điều khiển nhiều đèn LED, bằng cách sử dụng đầu ra kỹ thuật số của Arduino và breadboard. Đây là phần mở rộng của bài hướng dẫn làm LED nhấp nháy trước đó. Cụ thể, chúng ta sẽ kết nối một vài bóng LED với Arduino Uno và xây dựng một chương trình đơn giản để bật sáng chúng.

Bước 1: Xây dựng mạch 

Build the Circuit

Các hàng của breadboard đều liên kết với nhau ở bên trong, cho phép ta kết nối các khối bằng cách cắm chúng vào cùng một hàng.

Trên ứng dụng Tinkercad, bạn hãy di chuyển con trỏ qua các điểm trong breadboard ảo để dánh dấu mối nối nhé.

Các đường ray dài, nằm dọc theo hai cạnh là để giúp dễ dàng nối nguồn và đất. Để khởi đầu cho bất kỳ mạch Arduino nào, ta cũng nên kết nối nguồn 5V và nối đất với các thanh này.

Mạch có dây như trong hình, là tương đương với mạch breadboard mẫu. Bạn có thể xây dựng các mạch này trong phần editor. Tuy nhiên nếu bạn đang thực hành xây dựng mạch thực tế (với các linh kiện) thì breadboard này cũng sẽ giống tương tư như mạch ảo.

Trong bảng components của phần mềm Tinkercad Circuits, kéo các thành phần cần thiết vào workplane để tạo lại mạch như trên hình.

Tạo dây nối chân 5V của Arduino với thanh nguồn (+) màu đỏ trên breadboard. Tương tự như vậy, GND với thanh nối đất màu đen.

Để thay đổi màu dây, chọn màu trong mục inspector hoặc sử dụng các phím số trên bàn phím để nhanh chóng chuyển đồi giữa các màu. Dây nối 5V thường là màu đỏ và dây nối đất thường là màu đen.

Đặt vị trí các đèn LED sao cho các chân nằm ở hai hàng khác nhau của breadboard.

Gắn dây vào bất kì lỗ nào nằm trên cùng một hàng tạo kết nối điện. Giống với bài trước, ta sẽ nối LEDđiện trở với chân 13chân đất.

Thêm một vài đèn LED khác vào mạch, cùng với các điện trở.  Đối với mỗi cặp như vậy, ta kết nối một đầu với đất, và đầu kia với input kỹ thuật số trên Arduino, sau đó tùy chỉnh màu dây.

Bạn có thể nhấp đúp dây để tạo các khúc cua và di chuyển để làm gọn mạch.

Bước 2: Code với khối

Trong Tinkercad Circuits, ta có thể dễ dàng sử dụng các khối code để tạo hiệu ứng mong muốn. Chọn nút “Code” để mở mục chỉnh sửa code.

Nhấn vào mục variable (biến) trong code editor.

Để điều chỉnh tốc độ hiệu ứng, hãy tạo một biến giữ vai trò là khoảng thời gian giữa các lần thay đổi trạng thái. Đặt tên cho biến là “animationSpeed”.

Ở phần đầu chương trình, hãy đặt animationSpeed theo thời gian mong muốn của bạn (tính bằng mili giây).

Kéo biến animationSpeed vào khối chờ để đặt thời gian chờ. Trong menu, ta nhớ điều chỉnh “giây” thành “mili giây” .

Sử dụng một khối đầu ra khác để đặt chân 12 tiếp theo thành “HIGH” sau đó là “LOW”, với một lần tạm dừng khác.

Nhấp phải chuột và chọn Duplicate để tạo bản sao mới của khối, với số lượng LED theo như mong muốn của bạn. Sau đó ta thay đổi số pin để tương ứng với số LED được kết nối. Cuối cùng kiểm tra code của bạn bằng cách khởi động chương trình mô phỏng.

Bước 3: Giải thích code Arduino Animation

Khi mở code editor, bạn có thể có nhấn nhấp vào menu bên trái và chọn “ Block+ Text” để hiển thị code Arduino được tạo bởi các khối code.

Trước lệnh setup(), chúng ta có thể thấy các biến đã được tạo. Chúng được khai báo bằng “int” vì là số nguyên (integer).

Bên trong setup(), các chân được cấu hình để trở thành đầu ra (thay vì là đầu vào) bằng cách sử dụng Pinmode().

Code bên trong vòng lặp sử dụng digitalWire() để đặt các chân “ HIGH” và “LOW” (bật và tắt), và thời gian tạm dừng ở giữa (bằng mili giây).

Bởi vì chúng ta đã tạo biến “animationSpeed” , nếu ta thay đổi giá trị biến này khi chương trình bắt đầu, nó sẽ ảnh hưởng đến tất cả vị trí khác trong toàn bộ chương trình. Vì vậy, trong trường hợp này, việc thay đổi biến “animationSpeed” sẽ kiểm soát các lần dừng cũng như tốc độ tổng thể của animation.

Bước 4: Xây dựng mạch Arduino với board Arduino

Build a Physical Arduino Circuit (Optional)

Để lập trình với board Arduino Uno, bạn cần cài đặt phần mềm Arduino Uno, sau đó mở nó lên.

Nối dây mạch Arduino Uno bằng cách cắm linh kiện và dây dẫn để khớp với các kết nối được hiển thị trong sơ đồ Tinkercad.

Sao chép code từ cửa sổ code của Tinkercad và paste vào một bản thảo trống trong phần mềm Arduino (hoặc tải xuống và mở file bằng Arduino).

Cắm cáp USB chọn board và cổng trong menu Tools của phần mềm.

Tải code lên và xem LED của bạn có nhấp nháy theo mẫu đã được tạo trước đó không nhé.

Đây là toàn bộ bài hướng dẫn cách làm nhiều đèn LED và breadboard với arduino trên Tinkercad. Bạn hãy thực hành và đón chờ các bài hướng dẫn khác thú vị hơn nhé.

Nguồn: instructables.com
Lượt dịch: fuvitch.vn