Bài đăng nổi bật

Cảm biến siêu âm HC-SR04 kết nối với Arduino

Thứ Hai, 7 tháng 3, 2016

Bộ thu phát tín hiệu rf 4 kênh

Chào các bạn, hôm nay mình xin giới thiệu về module thu phát rf 4 kênh PT2262
Thiết bị này có thể kết nối với arduino hoặc các thiết bị khác, điều khiển led, động cơ…từ xa, tỏng phạm vi hoạt động của bộ điều khiển, vào khoảng 50cm
Thông số kỹ thuật
-Điện áp làm việc ( V ) : DC5V
-Dòng tiêu thụ: <12mA
-Nhiệt độ hoạt động : -10 ° C đến 70 ° C
-Phạm vi hoạt động: khoảng 50cm
-Tần số hoạt động ( MHz ) : 315MHz
Rf 4 kênh có 2 phần
-          - Module thu tín hiệu
-          - Remote phát tín hiệu
Phần cứng
-1 bộ thu phát rf 4 kênh
-1 arduino uno
-4 đèn led
-4 điện trở
-1 breadboard
Tùy theo cách lập trình và cách lắp mạch với các thiết bị như thế nào thì đèn led sẽ hiển thị và thiét bị sẽ hoạt động như thế đó, sau đây mình xin giới thiệu về kết nối rf4 kênh với arduino điều khiển 4 đèn led sang theo ý muốn

Sơ đồ nối dây
Module-------------Arduino
GND-----------------GND
5V--------------------5V
D0----------------------3
D1----------------------4
D2----------------------5 
D3----------------------6

Led-----------arduino
1--------------8
2--------------9
3---------------10
4-----------------11
các bạn có thể tìm mua module và các thiết bị khác trên  http://codientuvina.com/
sau đây là video thực nghiệm của mình
https://www.youtube.com/watch?v=iQvPv1lL6Ig&feature=youtu.be
Code lập trình
int RF1 = 4;//chân D0 nối chân 4
int RF2 = 5;//chân D1 nối chân 5
int RF3 = 6;//chân D2 nối chân 6
int RF4 = 7;//chân D3 nối chân 7
//có 4 led được sử dụng trong chương trình này
int led1 = 8;
int led2 = 9;
int led3 = 10;
int led4 = 11;
//Các biến trạng thái của nút nhấn
int buttonState1 = 0;
int buttonState2 = 0;
int buttonState3 = 0;
int buttonState4 = 0;
void setup()
{
  //Khai báo kiểu chân
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(RF1, INPUT);
  pinMode(RF2, INPUT);
  pinMode(RF3, INPUT);
  pinMode(RF4, INPUT);
  Serial.begin(9600);}
  void loop()
{
  //Đọc tín hiện từ các chân D0, D1, D2, D3
  buttonState1 = digitalRead(RF1);
  buttonState2 = digitalRead(RF2);
  buttonState3 = digitalRead(RF3);
  buttonState4 = digitalRead(RF4);
  //In ra màn hình máy tính
  Serial.print("GIA TRI 1: ");
 Serial.println(buttonState1);
 Serial.print("GIA TRI 2 : ");
 Serial.println(buttonState2);
 Serial.print("GIA TRI 3 : ");
 Serial.println(buttonState3);
  Serial.print("GIA TRI 4 : ");
 Serial.println(buttonState4);
 // Nhấn nút 1
 if (buttonState2 == HIGH)
  {
    digitalWrite(led3, HIGH);
    delay(1000);
    digitalWrite(led1, HIGH);
    delay(1000);
    digitalWrite(led4, HIGH);
    delay(1000);
    digitalWrite(led2, HIGH);
    delay(1000);
  }
  else
  {
    digitalWrite(led1, LOW);
    }
    // nhấn nút 2
   if (buttonState1 == HIGH)
  {
    digitalWrite(led2, HIGH);
    delay(1000);
    digitalWrite(led4, HIGH);
    delay(1000);
    digitalWrite(led1, HIGH);
    delay(1000);
    digitalWrite(led3, HIGH);
    delay(1000);
  }
  else
  {
    digitalWrite(led2, LOW);
    }
    //nhấn nút 3
   if (buttonState3 == HIGH)
  {
    digitalWrite(led2, HIGH);
    digitalWrite(led4, HIGH);
    delay(1000);
    digitalWrite(led2, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led1, HIGH);
    digitalWrite(led3, HIGH);
    delay(1000);
    digitalWrite(led1, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led2, HIGH);
    digitalWrite(led4, HIGH);
    delay(1000);
    digitalWrite(led2, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led1, HIGH);
    digitalWrite(led3, HIGH);
    delay(1000);
  }
  else
  {
    digitalWrite(led3, LOW);
    }
    // nhấn nút 4
   if (buttonState4 == HIGH)
  {
    digitalWrite(led3, HIGH);
  }
   else
  {
    digitalWrite(led4, LOW);
    }
}

Thứ Tư, 24 tháng 2, 2016

Led 7 đoạn hiển thị số khi nhấn nút nhấn

Chào các bạn, hôm nay mình xin giới thiệu về led 7 đoạn
Led 7 đoạn là loại led có hình số 8 được ghép lại từ 7 đoạn thẳng, led 7 có nhiều tác dụng khác nhau, có thể dùng làm đồng hồ đêm ngược, đếm thời gian, đồng hồ vạn niên, hoặc đơn thuần chỉ để hiển thị số.
Sau đây là phần kết nối Led 7 đoạn với arduino uno, dùng nút nhấn
Nguyên lí hoạt động: sau khi đã lắp mạch hoàng chỉnh, đổ code vào arduino, led 7 đoạn hiển thị 0, khi ta nhấn button 1 lần, thì led hiển thị 1, cứ thế sau mỗi lần nhấn led sẽ tăng 1 số đến 9, nhấn lần 10 thì led hiển thị 0, và quay lại từ đầu

Phần cứng
- Arduino uno r3
- 1 led 7 đoạn

- 1 nút nhấn 4 chân (button)

- 1 breadboard
- 2 điện trở
- Dây cắm
Sơ đồ nối dây

code lập trình
// Đối với Led7 đơn chúng ta sẽ không sử dụng thư viện SevSeg như Led 7 tứ
const int segmentPins[8] = {6,10,9,3,4,5,7,8};  //quản lý việc hiển thị LED 7 đoạn DP,G-A (dấu chấm)

int buttonPin = 2;  // khai báo chân digital kết nối đến button

int i=0;

const byte numberal[10] = { // Chúng ta sẽ dùng kiểu mảng để khai báo 9 trạng thái của led (0-9) bằng mã nhị phân
        B11111100,  // Quy ước 1 sáng 0 tắt => các vị trí F-A sẽ sáng, G tắt, DP tắt. Led hiển thị số 0
        B01100000,  // tương tự với mã này ta sẽ được số 1
        B11011010,  // 2
        B11110010,  // 3
        B01100110,  // 4
        B10110110,  // 5
        B10111110,  // 6
        B11100000,  // 7
        B11111110,  // 8
        B11100110,  // 9
};
void setup() {   //thiết lập các chức năng chân

  for (int vitri = 0; vitri < 8; vitri++)   {
    pinMode(segmentPins[vitri], OUTPUT);
    digitalWrite(segmentPins[vitri], HIGH); 
  }
 
  pinMode(buttonPin, INPUT); // PinMode để nhận tín hiệu đầu vào từ Button

  attachInterrupt(0, tang, RISING); // Thêm một Interrupt tại chân digital 2
  // Tham khảo thêm tại http://arduino.vn/reference/attachinterrupt
 
  Serial.begin(9600); // Bật Serial ở mức baudrate 9600
 
  Sodawrite(0); //Đầu tiên là xuất số 0
}

void loop() {}

void tang(){    
  //Chỉ đếm từ 0 --> 9

Chủ Nhật, 21 tháng 2, 2016

Cảm biến mưa dùng arduino

Chào các bạn...hôm nay mình xin giới thiệu về cảm biến mưa kết nối với arduino uno, Cảm biến mưa là loại cảm biến phát hiện mưa, hoạt động tựa như da người
cảm biến mưa gồm 2 phần:
- board cảm biến dùng để cảm nhận nước mưa, được đặt ngoài trời
- bộ điều chình cần được che khuất
Thông số
- Điện áp: 5V
- Có 2 led đỏ, 1 báo nguồn, 2 báo có mưa
- Hoạt động dựa trên nguyên lý: khi không có nước trên board thì đèn trên cảm biến k sáng, và nước rơi vào tạo ra môi trường dẫn điện, đèn đỏ ở cảm biến sáng
Phần cứng
-         -  Arduino uno
-         - 1 module cảm biến mưa


Sơ đồ nối chân
Arduino-----Cảm biến
GND----------GND
VCC------------5V
D0--------------~6
Các thiết bị đều có thể mua trên  http://codientuvina.com/ 
Sau khi đổ code lập trình vảo phần mềm arduino, ta có thể xem tín hiệu báo bằng đèn cảm biến, hoặc vảo tools-serial monitor
Sau đây là video về phần kiểm tra cảm biến mưa: https://www.youtube.com/watch?v=a1Zl9HCwBeo&feature=youtu.be


Code lập trình
int rainSensor = 6; // Chân tín hiệu cảm biến mưa ở chân digital 6 (arduino)
void setup() {
  pinMode(rainSensor,INPUT);// Đặt chân cảm biến mưa là INPUT, vì tín hiệu sẽ được truyền đến cho Arduino
  Serial.begin(9600);// Khởi động Serial ở baudrate 9600
  Serial.println("Da khoi dong xong");
}

void loop() {
  int value = digitalRead(rainSensor);//Đọc tín hiệu cảm biến mưa
  if (value == HIGH) { // Cảm biến đang không mưa
    Serial.println("Dang khong mua");
  } else {
    Serial.println("Dang mua");
  }
  delay(1000); // Đợi 1 tí cho lần kiểm tra tiếp theo. Bạn hãy tham khảo bài "Viết chương trình không dùng làm delay" trên Arduino.VN để kết hợp đoạn code này và cả chương trình của bạn
}