Sử dụng Arduino điều khiển xe mô hình

Mình làm luận văn thạc sĩ Hệ thống thông tin về: Xây dựng hệ thống điều khiển thiết bị bằng thiết bị Epoc Emotiv trong đó có 1 phần trong thực hành đó là dùng Arduino điều khiển xe mô hình.

Cụ thể máy tính sẽ thực hiện phát lệnh tiến lui, rẽ phải trái tới xe mô hình thông qua thiết bị Arduino.

Thiết bị mình sử dụng:

– Bo mạch Arduino hoặc là Wemos R1
– Module cầu H điều khiển 2 motor L298N
– Motor động cơ giảm tốc DC

Trong quá trình mình triển khai thì mình không tài nào có thể điều khiển được motor quay theo chiều ngược lại. Ban đầu mình đấu có phần sai nhưng đó không phải là tất cả. Đấu sai nhưng vẫn quay được motor nhưng chỉ quay 1 chiều duy nhất.

Sau đó lỗi xác định có thể do việc cắm dây không đúng. Trong quá trình hỏi ở các nhóm trên Facebook và nơi bán mạch cầu H thì mình đã khắc phục được và mọi người khẳng định có thể chạy được.

Nhưng thực sự nó vẫn không chạy được như ý muốn, nó vẫn chỉ quay 1 chiều duy nhất.
Cuối cùng buộc phải mang đến quán bán cái mạch cầu H để nhờ họ xem, xem đi xem lại mãi mới phát hiện ra là do sợi dây đực cái bị đứt ngầm. Chỉ một sợi dây đứt ngầm mà dự án bị chậm mấy tháng. Nó làm mình mất ăn mất ngủ bao nhiêu hôm, không bao giờ nghĩ được ra là do sợi dây.

Cuối cùng vấn đề đã được giải quyết, mặc dù chưa cho chạy được nhưng mấu chốt đã được giải quyết, điều khiển được motor quay ngược quay xuôi thì sẽ làm được tiếp theo.

– Cách đấu mạch

+ Hai pin Ultrafire mỗi pin 3.7V, cực dương đấu vào chân 12V của mạch cầu H, cực âm đấu vào chân GND của mạch cầu H

+ Chân +5V và chân GND của mạch cầu H đấu sang cấp nguồn cho Arduino

+ 4 đường IN 1,2,3,4 của mạch cầu H nối với cổng ra 6,7,8,9 của Arduino(có thể 3,4,5,6…)

+ 4 đường OUT của mạch cầu H nối ra các cực của 2 động cơ tương ứng

– Code test

+ Quay xuôi

void setup()
{
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop()
{
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
delay(10000);//dừng 10s
}

+ Quay ngược

void setup()
{
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}
void loop()
{
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
delay(10000);//dừng 10s
}

 

Rất cám ơn sự hỗ trợ từ cộng đồng IOT cũng như nơi bán sản phẩm linhkietviet.vn. Thực sự mình cũng chịu khó tìm tòi chứ không phải động tí là hỏi, nhưng thực sự ca này là ca thực sự khó đỡ nhất và là bài học kinh nghiệm đáng giá. Các bạn đã hỗ trợ mình hết sức nhiệt tình, từ đây mình có thêm niềm tiên và cố gắng hỗ trợ ngược lại người khác nếu có thể.

Monitoring hệ thống dành cho DBA

Không phải là em ỷ lại đâu, nhưng quả thực đối với newbie thì ngay việc biết được cần phải monitor những cái gì của một Oracle database cũng là vấn đề. Em thử đưa ra một số cái nhé:
– Monitor phần dung lượng lưu trữ trên các storage, tablespace, cảnh báo khi tablespace đạt đến % lưu trữ nào đó
– Monitor memory của Oracle server (các thành phần chi tiết), cảnh báo khi memory xuống thấp hơn giá trị nào đó
– Monitor các vấn đề khác liên quan đến performance như usage CPU, IOPS
– Monitor status của Oracle instance như có ping được tới Oracle server không, Oracle instance có start hay shutdown, có kết nối được tới Oracle instance theo cổng nào đó không…
– Monitor các process đang chạy trên Oracle server, % CPU mà các process đó chiếm dụng…
– Monitor các session kết nối tới Oracle server, cảnh báo khi số lượng session đạt tới giới hạn nào đó. User nào đang kết nối tới Oralce instance, kết nối bằng chương trình gì? Cảnh báo khi có failure authentication của user nào đó…
Theo em những yêu cầu monitor trên đều là cơ bản, nhưng do kiến thức của em chỉ có vậy, nên mới dừng ở mức đó thôi. hix. Hy vọng các bác có kinh nghiệm đưa ra những gợi ý sâu hơn về những khía cạnh khác cần phải monitor, và gợi ý về giải pháp monitor software của các hãng thứ 3 giúp em (và những ai chưa biết) nhé. Em xin cảm ơn