Categories
Kiến thức đầu tư

Tín Hiệu Số , Tương Tự – Analog/Digital | Bài đăng

Quảng cáo

Tại ngành điện tử nói chung , tại lập trình vi điểu khiển nói riêng, ta luôn thấy có sự có mặt của hai loại tín hiệu: Analog (tín hiệu tương tự) , Digital (tín hiệu số). Vậy nó là gì? , chức năng của nó ra sao tại việc ăn nói với vi điều khiển? Bài đăng này sẽ giúp bạn trả lời các câu hỏi trên.

Tiền đề bài đăng

Hiện trong tại những bài đăng của STDIO, tôi vẫn chưa thấy bài nào nói về hai loại tín hiệu này. Bài đăng này, tôi kỳ vọng phần nào đấy sẽ tạo điều kiện cho những bạn hiểu rõ hơn về chúng. Tôi sẽ giải thích bài đăng ngắn gọn tuy nhiên đủ đầy , dễ hiểu cho những bạn.

Đối tượng hướng tới

Toàn bộ những thành viên STDIO có niềm đam mê điện tử, đã , đang thực hiện công việc với Arduino.

Tín hiệu là gì?

Tín hiệu ở đây chính là tín hiệu điện (tránh nhầm với tín hiệu giao thông), là sự thay đổi theo thời gian của điện thế (Volt) hoặc cường độ (Ampe) của dòng diện.

ss_1

Cũng là dòng diện tuy nhiên dòng điện một chiều qua bóng đèn không hề là tín hiệu vì nó không thay đổi theo thời gian. Một vài VD về tín hiệu điện: Tín hiệu âm thanh đi qua dây loa, tín hiệu clock tại mạch RC, …

ss_8       ss_9

Như hình trên ta thấy nó giống như là cái máy morse giản đơn – Project 1 – Morse Code Translator. Nếu ta nhấn công tắc: trong điểm A, điện thế là 5V, giữ lại 1 giây ta nhả ra: điểm A không có điện thế. Ta thấy trong điểm A có sự thay đổi điện thế, hay điểm A có tín hiệu điện.

Xung điện

Tại giải quyết tín hiệu số, xung là sự thay đổi đột ngột về biên độ, pha hoặc tần số,… (thường hay là biên độ) từ đáng giá gốc lên đáng giá cao, hoặc xuống đáng giá thấp hơn, sau đấy dần (thậm chí ngay tức thì) về đáng giá gốc ban đầu. Có những bạn khi thực hiện công việc với động cơ, hay thiết bị khác sẽ bắt gặp đến định nghĩa này.

ss_2
(Nguồn: https://en.wikipedia.org)

Khi mà đã đã quảng cáo sơ về định nghĩa căn bản, chúng ta khởi đầu đi vào kỹ càng vào 2 loại tín hiệu số , tương tự.

Tín hiệu số (Digital)

Định nghĩa

Đây chính là tìn hiệu rời rạc theo biên độ. Vì tại một lúc nó chỉ có một tại hai đáng giá là 0 hoặc 1 (ứng với 0V hoặc 5V) được biểu diễn như hình dưới.

ss_3

Tại cuộc sống, VD về tín hiệu số thực sự có thể thấy là máy truyền mã morse, tín hiệu tại dây mạng, usb, …

Chức năng , cách thiết lập

Tại arduino, tín hiệu làm bóng đèn chớp tắt là tín hiệu số (rời rạc theo biên độ, liên tục về thời gian), hay tín hiệu từ nút nhấn (rời rạc theo biên độ lẫn thời gian)… Nếu như bạn mong muốn truyền dữ liệu dưới dạng {0, 1} thì hãy sử dụng tín hiệu số.

VD mẫu [1]: Chớp tắt led

int ledPin = 13;      // select the pin for the LED

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);
  // stop the program for 1000 milliseconds:
  delay(1000);
  // turn the ledPin off:
  digitalWrite(ledPin, LOW);
  // stop the program for for 1000 milliseconds:
  delay(1000);
}

Những hàm tại arduino về giải quyết tín hiệu số sẽ có tiền tố “digital” trước mỗi hàm. VD trên khá thân thuộc, chắc bạn nào cũng đã làm qua rồi. Hàm digitalWrite sẽ cài đặt đáng giá đầu ra của pin 13 (0 – 0V hay 1 – 5V). Khi hàm loop() thực hiện xong thì pin 13 cho ra một xung vuông.

ss_10

Tín hiệu tương tự

Định nghĩa

Đây chính là tín hiệu liên tục theo thời gian. Biên đô, pha hoặc tần số dòng điện thay đổi liên tục theo thời gian.

ss_4

Ở hình trên ta thấy điện thế thay đổi theo đồ thị hình sin, không hề rời rạc như tín hiệu số. Tại đời sống, tín hiệu tương tự rất nhiều như sóng âm thanh, sóng ánh dương, xung não, … Sự thay đổi của nhiệt độ, đổ ẩm, vận tốc cũng làm ra đồ thị dạng sin.

Chức năng , cách thiết lập

Khi mong muốn đo nhiệt độ, vận tốc, độ sáng… bạn không bao giờ sử dụng tín hiệu số được. Chả có nhiệt độ nào chỉ có 0oC hay 1oC. Thời điểm này, tín hiệu tương tự là cần có. Như đã nói đến ở trên, sự thay đổi của nhiệt độ làm ra đồ thị dạng sin, nên ta coi nhiệt độ là một tính hiệu analog. Đối với đo nhiệt độ bạn ko thể nào thực hiện công việc với mức điện áp từ -30V (ứng với -30oC) đến 100V (ứng với 100oC) thời điểm này ta sử dụng kỹ thuật chuẩn hóa nó về ngưỡng 0V – 5V vậy nhiệt độ biến thiên sẽ làm điện áp biến thiên tại khoảng 0V – 5V.

Nghiêm ngặt, đối với một thiết bị số, bạn cho tín hiệu tương tự vào nó sẽ không đơn giản thực hiện công việc được. Tuy nhiên vô cùng may là Arduino đã tích hợp bộ chuyển đổi ADC (Analog – Digital Converter) , DAC (Digital – Analog Converter), cho phép những bạn thực hiện công việc với tín hiệu tương tự bằng cách chuyển về tín hiệu số , trái lại.

VD mẫu [2]: Thời gian nháy đèn thay đổi theo độ sáng.

int sensorPin = A0;    // select the input pin for the potentiometer
int ledPin = 13;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);
  // turn the ledPin on
  digitalWrite(ledPin, HIGH);
  // stop the program for <sensorValue> milliseconds:
  delay(sensorValue);
  // turn the ledPin off:
  digitalWrite(ledPin, LOW);
  // stop the program for for <sensorValue> milliseconds:
  delay(sensorValue);
}

Cũng giống với code ở trên, ta chèn vào dòng

sensorValue = analogRead(sensorPin);

Cùng lúc đó sửa

delay(1000);

thành

delay(sensorValue);

Những hàm tại arduino về giải quyết tín hiệu tương tự sẽ có tiền tố “analog” trước mỗi hàm.

ss_6

       ss_5

Vì điện trở của photodiod thay đổi theo độ sáng, thực sự có thể coi là tín hiệu tương tự. Nhiều bạn sẽ khúc mắc sao phải mắc như thế mà không cho (VCC – photodiod – A1) luôn. Mắc tiếp nối như vậy bạn khó thể tính được sự biến thiên điện thế ở chân A0. Chia áp giúp những bạn tính toán được điện áp đầu vào A0 dễ hơn.

Bạn thực sự có thể áp dụng analog vào nhiều thứ như phát nhạc, clip (chém đó, arduino không có năng lực làm đâu), dò line (tại robot, cho dù sử dụng tín hiệu digital nó tiện hơn), làm đèn chớp (sáng từ từ).

So sánh tín hiệu Digital , Analog

ANALOG DIGITAL
Tín hiệu Liên tục theo thời gian, gần gũi với tự nhiên hơn. Rời rạc theo thời gian, gần gũi với máy tính , thiết bị tính toán.
Chức năng Thường hay sử dụng cho đo lường, thực hiện công việc với những thiết bị chuyên về analog. Sử dụng tại tính toán, quảng bá dữ liệu số.
Năng lực lưu giữ Lưu dưới dạng sóng, trên những thiết bị từ (băng từ, đĩa từ,…), chứa nhiều nội dung hơn. Lưu dưới dạng bit, trên những thiệt bị nhớ đắt giá (fash, rom, …), chứa ít nội dung hơn.
Quảng bá Lượng dữ liệu truyền đi nhiều hơn , ít bị lỗi. Lượng dữ liệu truyền đi tại 1 khoản thời gian gần như không có , dễ bị nhiễu.

Tham khảo

  1. https://www.arduino.cc/en/Tutorial/Blink
  2. https://www.arduino.cc/en/Tutorial/AnalogInput

Nguồn: www.stdio.vn

Leave a Reply

Your email address will not be published. Required fields are marked *