Mách bạn Tín Hiệu Số Và Tương Tự – Analog/Digital – Đà Nẵng Cho Thuê

Các hàm trong Arduino về giải quyết và xử lý tín hiệu số sẽ có tiền tố digital. Ví dụ hàm digitalWrite sẽ thiết lập giá trị đầu ra của pin 13 ( 0 – 0 v hay 1 – 5 v ). Khi hàm loop ( ) triển khai xong thì pin 13 cho ra một xung vuông .

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

Khái niệm

Đây là tín hiệu liên tục theo thời hạn, biên độ, pha hoặc tần số dòng điện đổi khác liên tục theo thời hạn .Bạn đang xem : đầu vào tựa như là gì

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

Công dụng và cách cài đặt

Khi muốn đo nhiệt độ, tốc độ, độ sáng … không hề dùng tín hiệu số được, nhiệt độ không đúng mực có 0 oC hay 1 oC, lúc này tín hiệu tựa như là thiết yếu .
Như đã đề cập ở trên, sự biến hóa của nhiệt độ tạo ra đồ thị dạng sin, xem nhiệt độ là một tín hiệu analog. Đối với đo nhiệt độ không hề thao tác với mức điện áp từ – 30 v ( ứng với – 30 oC ) đến 100 v ( ứng với 100 oC ) do đó cần dung kỹ thuật chuẩn hóa về ngưỡng 0 v – 5 v, vậy nhiệt độ biến thiên sẽ làm điện áp biến thiên trong khoảng chừng 0 v – 5 v .
Đọc thêm : Đầu tư bất động sản là gì ? Các mô hình góp vốn đầu tư bất động sảnĐối với một thiết bị số, tín hiệu tựa như sẽ không thuận tiện thao tác được, trường hợp Arduino đã tích hợp bộ chuyển đổi ADC ( Analog – Digital Converter ) và DAC ( Digital – Analog Converter ), được cho phép những thao tác với tín hiệu tương tự như bằng cách chuyển về tín hiệu số và ngược lại .

Ví dụ 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 milliseconds: delay(sensorValue); // turn the ledPin off: digitalWrite(ledPin, LOW); // stop the program for for milliseconds: delay(sensorValue); }

Cũng giống với code ở trên, thêm dòng: sensorValue = analogRead(sensorPin);

Đồng thời sửa delay ( 1000 ) ; thành delay ( sensorValue ) ;
Các hàm trong arduino về giải quyết và xử lý tín hiệu tương tự như sẽ có tiền tố analog trước mỗi hàm .
Sơ đồ Arduino Uno v3Sơ đồ Arduino Uno v3
Arduino DIY
Đề xuất riêng cho bạn : Tổng hợp Chobball – Blog Tổng Hợp Chia Sẻ Kiến Thức, Tin Tức Công NghệVì điện trở của photodiod đổi khác theo độ sáng, hoàn toàn có thể xem là tín hiệu tương tự như. Vì sao phải mắc như vậy mà không cho vào ( VCC – photodiod – A1 ), chính do mắc tiếp nối đuôi nhau như vậy sẽ không dễ chiều được sự biến thiên điện thế ở chân A0. Chia áp giúp thống kê giám sát được điện áp nguồn vào A0 dễ hơn .

Có thể áp dụng analog vào nhiều ứng dụng như dò đương (trong robot, mặc dù dùng tín hiệu digital tiện hơn), làm hiệu ứng đèn chớp (sáng từ từ).

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

Download code mẫu

Download code mẫu của bài viết danangchothue.com/io/iy5g1B1 hoặc sao chép bên dưới :

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 ) ; }

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 milliseconds : delay ( sensorValue ) ; / / turn the ledPin off : digitalWrite ( ledPin, LOW ) ; / / stop the program for for milliseconds : delay ( sensorValue ) ; }

Tham khảo

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