Thứ Sáu, 4 tháng 9, 2020
Sửa chữa điều hòa tận nhà tại Quảng Nam
Ưu điểm của Sửa chữa điều hòa tận nhà tại Quảng Nam: Tiện lợi, tiết kiệm thời gian, công sức
Khi điều hòa nhà bạn có vấn đề hỏng hóc, bạn gặp khó khăn để sửa chữa và khắc phục nó nhưng bạn ngại phải tháo dỡ hay di chuyển nó đến các trung tâm sửa chữa đồ điện lạnh . Điều này cho thấy sự hữu ích của Sửa chữa điều hòa tận nhà tại Quảng Nam, bạn sẽ tiết kiệm được nhiều thời gian hơn như ngoài giờ làm việc trong khi bạn được nghỉ ngơi thư giãn thì lại phải mang điều hòa tới cửa hàng để sửa và còn tiết kiệm được cả sức lực vận chuyển tới những địa điểm đó nữa.
Đảm bảo an toàn cho linh kiện, phụ tùng của chiếc điều hòa
Bạn lo lắng các linh kiện trong điều hòa sẽ bị rơi rớt và bị thay thế không đảm bảo khi bạn đem đi sửa chữa tại những trung tâm vì đa số bạn không thể ngồi lại đó theo dõi quy trình sửa chữa của họ. Hãy yên tâm khi sửa chữa tại nhà bạn có thể theo dõi các công đoạn từ tháo dỡ tới sửa chữa lại điều hòa của nhà bạn.
Gọi ngay cho chúng tôi: 0346 097 883
FB: https://www.facebook.com/shoptamky
Thứ Ba, 18 tháng 8, 2020
Kết Nôi Module PLC FX1N với Máy tính qua GX-Work2
Để kết nối PLC JLING Module FX1N hay FX2N với chương trình lập trình GX-Work 2 của Mitsubisi đối với người mới thực sự hơi khó vì chưa có ai hướng dẫn nên hôm nay mình làm bài hướng dẫn luôn. So với hàng chính hãng thì đồ Trung Quốc có ưu thể rẻ hơn gấp nhiều lần tuy chất lượng chưa tốt nhưng dẫn mới tập tành có thể dùng kết hợp với các sản phẩn để giảm giá thành. Ok bắt đầu
Đầu tiên bạn cần phải có Module FX1N PCL
Và một cáp kết nối USB UART
Có nhiều loại như nhau cả
Bạn sẽ kết nối chân như sau:
Trong PC mở GX-Work2 lên tạo mới
Phần kết nối
Nhấn đúp vào Connection1 chọn USB
Trong phần PC side I/F Serial Setting chọn RS-232C (mặc dù dùng USB)
COM Port thì dựa vào cổng USB cắm vào, tra trong phần Device Manager ở phần Port (COM & LPT)
Xong rồi Test thôi
Như vậy là đã kết nối xong, phần lập trình mình sẽ hướng dẫn sau.
Thứ Tư, 5 tháng 8, 2020
Giới thiệu Servo SG90 và cách điều khiển bằng biến trở
1. Giới thiệu
Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0o - 180o. Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,...
Độ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. Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo RC (radio-controlled). Trong thực tế, bản thân động cơ servo không phải được điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi. Động cơ servo nhận tín hiệu từ máy thu này.
2. Lắp mạch
Chuẩn bị
x1 Micro Servo
x1 Biến trở
x1 Arduino Uno
x1 Breadboard
x1 Dây cắm breadboard
Hình 3: Sơ đồ mạch breadboard
Thư viện Servo đã có sẵn trong hệ thống thư viện mặc định của Arduino nên bạn không cần phải download một thư viện mới về.
Copy và dán code sau
- #include <Servo.h> // Thư viện điều khiển servo
- // Khai báo đối tượng myservo dùng để điều khiển servo
- Servo myservo;
- int bientro = A0; // Khai báo chân analog đọc biến trở điều khiển servo
- int servoPin = 9; // Khai báo chân điều khiển servo
- void setup ()
- {
- // Cài đặt chức năng điều khiển servo cho chân servoPin
- myservo.attach(servoPin);
- Serial.begin(9600); // Mở giao tiếp Serial ở baudrate 9600
- }
- void loop ()
- {
- int value = analogRead(bientro);// Đọc giá trị biến trở
- // Chuyển giá trị analog (0-1023) đọc được từ biến trở sang số đo độ (0-180độ)
- // dùng để điều khiển góc quay cho servo
- int servoPos = map(value, 0, 1023, 0, 180);
- // Cho servo quay một góc là servoPos độ
- myservo.write(servoPos);
- Serial.println(servoPos);
- delay(100);
- }
Hướng dẫn điều khiển động cơ bước 28BYJ-48 với ULN2003
Có rất nhiều tài liệu trên mạng nói về động cơ bước. Bạn có thể google để tìm ra nó.
Nôm na, động cơ bước là một loại động cơ mà ở đó bạn sẽ có thể quy định chính xác số góc quay và động cơ bước sẽ phải quay. Không giống như Servo, động cơ bước có thể quay bao nhiêu độ tùy ý và mỗi lần quay nó sẽ quay được 1 step, 1 step ở đây là bao nhiêu còn phụ thuộc vào động cơ bước của bạn. Ví dụ, động cơ bước của bạn có 72 step thì nó sẽ cần quay 72 step để hoàn thành một vòng quay. Số step này là hằng số, nhưng bạn có thể dùng công nghệ micro step để "cải thiện" số vòng quay động cơ bước của bạn.
2
Động cơ bước 28BYJ-48
Động cơ bước sử dụng trong bài toán là động cơ bước 4 pha (thực ra là 2 pha được chia ra làm 2 ở mỗi pha ngay tại vị trí giữa) (gồm 5 dây), 4 trong 5 dây này được kết nối với 2 cuộn dây trong động cơ và 1 dây là dây nguồn chung cho cả 2 cuộn dây. Mỗi bước của động cơ quét 1 góc 5.625 độ, vậy để quay 1 vòng động cơ phải thực hiện 64 bước.
Các bạn có thể tra thêm datasheet ở đây.
3
Cần chuẩn bị
Arduino BoardBYJ48 Stepper Motor 5v
ULN2003 Board
Dây breadboard cái-cái
Arduino IDE có một thư viện hỗ trợ điều khiển động cơ bước tên là Stepper Motor, nó cực kì dễ sử dụng, chỉ việc kết nối như trên rồi nạp code, thế là xong! Nhưng mọi việc không dễ dàng như thế, chúng ta cần phải quan tâm một số điều sau:
Động cơ BYJ48 Stepper chỉ có sẵn bộ hộp số và nó cho ta đến *64 (tỉ lệ bánh răng) => nó có đến 64 * 64 = 4096 bước. Quá đã phải không nào!
sCông thức tính số bước
Số bước thật = Số bước lý thuyết * tỉ lệ bánh răng
Trong trường hợp này: Số bước thật = 64 * 64 = 4096.
Vì vậy, hãy kiểm tra datasheet để có thêm thông tin nhé!
- #include <Stepper.h>
- const int stepsPerRevolution = 4096; // hehe
- Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
- void setup() {
- myStepper.setSpeed(5);
- Serial.begin(9600);
- }
- void loop() {
- Serial.println("clockwise");
- myStepper.step(stepsPerRevolution);
- delay(500);
- Serial.println("counterclockwise");
- myStepper.step(-stepsPerRevolution);
- delay(500);
- }
Đọc nhiệt độ - độ ẩm và xuất ra màn hình LCD
1. Giới thiệu
Bài viết này sẽ hướng dẫn các bạn cách đọc nhiệt độ - độ ẩm từ cảm biến và xuất ra màn hình LCD. Hy vọng rằng qua bài viết này, bạn sẽ dần hiểu được Arduino tạo cho người dùng một sự đơn giản và tiện lợi đến mức nào.
2. Nội dung chính
Đọc dữ liệu từ cảm biến nhiệt độ - độ ẩm DHT11.
Sử dụng màn hình LCD để xuất thông tin.
3. Phần cứng cần thiết
Màn hình LCD 16 x 2
Mạch điều khiển màn hình LCD sử dụng giao tiếp I2C
Cảm biến nhiệt độ - độ ẩm DHT11
Arduino UNO R3 (hoặc tương đương)
Dây cắm breadboard
4. Cảm biến DHT11
Cảm biến DHT11 đã được tích hợp trong một mạch duy nhất, bạn chỉ việc nối dây nguồn (Vcc, GND) và dây tín hiệu (Signal) vào mạch Arduino là xong.
Thông số kĩ thuật
Điện áp hoạt động: 3-5.5V DC
Ngưỡng độ ẩm: 20 - 90%
Sai số độ ẩm: ± 5%
Ngưỡng nhiệt độ: 0 - 55oC
Sai số nhiệt độ: ± 2oC
Download và cài đặt thư viện hỗ trợ sử dụng DHT11: download tại đây
Kết nối cảm biến DHT11 với mạch Arduino
Lập trình
#include "DHT.h"
const int DHTPIN = 2; //Đọc dữ liệu từ DHT11 ở chân 2 trên mạch Arduino
const int DHTTYPE = DHT11; //Khai báo loại cảm biến, có 2 loại là DHT11 và DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin(); // Khởi động cảm biến
}
void loop() {
float h = dht.readHumidity(); //Đọc độ ẩm
float t = dht.readTemperature(); //Đọc nhiệt độ
Serial.print("Nhiet do: ");
Serial.println(t); //Xuất nhiệt độ
Serial.print("Do am: ");
Serial.println(h); //Xuất độ ẩm
Serial.println(); //Xuống hàng
delay(1000); //Đợi 1 giây
}
Sau khi upload chương trình lên mạch Arduino, bạn hãy bấm Ctrl + Shift + M để mở cửa sổ Serial Monitor và xem kết quả.
Một lưu ý nho nhỏ cho những bạn lập trình nâng cao, đó là cảm biến DHT11 sẽ "treo" (delay) chương trình của bạn trong quá trình nó đọc nhiệt độ, độ ẩm!
5. Màn hình LCD
Kết nối module màn hình với Arduino
#include <DHT.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); const int DHTPIN = 2; const int DHTTYPE = DHT11; DHT dht(DHTPIN, DHTTYPE); byte degree[8] = { 0B01110, 0B01010, 0B01110, 0B00000, 0B00000, 0B00000, 0B00000, 0B00000 }; void setup() { lcd.init(); lcd.backlight(); lcd.print("Nhiet do: "); lcd.setCursor(0,1); lcd.print("Do am: "); lcd.createChar(1, degree); dht.begin(); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(t) || isnan(h)) { // Kiểm tra xem thử việc đọc giá trị } else { lcd.setCursor(10,0); lcd.print(round(t)); lcd.print(" "); lcd.write(1); lcd.print("C"); lcd.setCursor(10,1); lcd.print(round(h)); lcd.print(" %"); } }