Chức năng các khối

Một phần của tài liệu mạch điều khiển các thiết bị trong nhà (Trang 29 - 42)

Phần II. Thiết kế phần cứng

I. Sơ đồ khối và chức năng các khối

2. Chức năng các khối

2.1. Khối nguồn

- Nguồn đầu vào là nguồn xoay chiều được đưa qua biến áp sau đó cho qua cầu chỉnh lưu đưa vào chân IN của IC7805 để lấy ra nguồn 5V cung cấp cho toàn mạch.

2.2. Khối điều khiển Khối

nguồn Khối điều

khiển Khối xử lý

trung tâm Khối hiển thị

Khối truyền thông

cấp nguồn để hoạt động. Khi nhấn OFF1 thì chân B1 của VĐK được nối xuống mass

=> tắt quạt.

+ Khi ON2 được nhấn, chân B2 của V ĐK được nối xuống mass => Tivi được bật. Khi nhấn OFF2 thì chân B3 của VĐK được nối xuống mass => tắt Tivi.

+ Khi nhấn ON3, chân B4 của VĐK được nối xuống mass => đèn được cấp nguồn và sáng. Khi nhấn OFF3 thì chân B5 của VĐK đợc nối xuống mass => đèn tắt.

+ Khi nhấn ON4, chân B6 của VĐK được nối xuống mass => máy bơm được cấp nguồn và hoạt động. Khi nhấn OFF4 thì chân B7 của VĐK đợc nối xuống mass =>

máy bơm ngừng hoạt động.

2.3. Khối xử lý trung tâm

2.4. Khối truyền thông

- Khối này có tác dụng là cầu nối để truyền tín hiệu giữa VĐK và máy tính qua RS232.

Max232 có tác dụng tương thích nguồn giữa VĐK với máy tính.

2.5. Khối hiển thị

Lưu đồ vi điều khiển

// MO TA PHAN CUNG: DUNG PIC 16F876A - THACH ANH 4 MHz // : Dau vao PortB su dung cac phim nhan lam nhiem vu ON, OFF

// : Dau vao RA0 ket noi voi cam bien nhan biet thiet bi da hoat dong hay chua

// : Dau ra PortC su dung 4 led mo phong 4 thiet bi

#include <16f876A.h>

#include <def_876A.h>

#device *=16 ADC=8

#FUSES NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT

#use delay(clock=4000000)

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=9) char ma;

void RDA_ISR();

#INT_RDA

VOID RDA_ISR(){

{

delay_us(500);

output_high(pin_a5); // Bat quat }

} {

if((ma==0x70)||(rb1==0)) {

delay_us(500);

output_low(pin_a5); // Tat quat }

} {

if((ma==0x74)||(rb2==0)) {

delay_us(500);

output_high(pin_a3); // Bat Tivi }

} {

if((ma==0x76)||(rb3==0)) {

delay_us(500);

output_low(pin_a3); //Tat Tivi }

} {

if((ma==0x64)||(rb4==0)) {

delay_us(500);

output_high(pin_a2); // Bat Den }

} {

if((ma==0x65)||(rb5==0)) {

delay_us(500);

output_low(pin_a2); //Tat den }

} {

if((ma==0x6d)||(rb6==0)) {

delay_us(500);

output_high(pin_a1); // Bat may bom }

if((ma==0x6e)||(rb7==0)) {

delay_us(500);

output_low(pin_a1); //Tat may bom }

} }

// Chuong trinh chinh main()

{

set_tris_a(0b000001);

set_tris_b(0b11111111);

set_tris_c(0x80);

enable_interrupts(int_RDA);

enable_interrupts(global);

while(true)

{ if(ra0==0) {putc('y');delay_ms(5);}

else {}

} }

Giao diện người dùng

Dim tv As Boolean Dim i As Long Dim j As Long Dim path

'******************* Mo cong ****************************

Private Sub cmdopenport_Click() On Error GoTo loi

If MSComm1.PortOpen Then MSComm1.PortOpen = False Me.MSComm1.CommPort = 1

MSComm1.PortOpen = True

Me.lblPortstatus.Caption = "Status: Port da duoc mo !"

Me.frmcong.Enabled = True Me.frmden.Enabled = True Me.frmmaybom.Enabled = True Me.frmquat.Enabled = True

Me.lblPortstatus.Caption = "Status: Chua co Port nao duoc mo !"

Me.frmden.Enabled = False Me.frmmaybom.Enabled = False Me.frmquat.Enabled = False Me.frmtivi.Enabled = False

End Sub

Private Sub Form_Load() path = App.path

If Right(path, 1) <> "\" Then path = path & "\"

Me.frmden.Enabled = False Me.frmmaybom.Enabled = False Me.frmquat.Enabled = False Me.frmtivi.Enabled = False End Sub

'********************* Dieu khien may bom ************************

Private Sub cmdonmaybom_Click()

If cmdonmaybom = True Then MsgBox "kiem tra du lieu truoc khi truyen"

Me.tmrmaybom.Enabled = True MSComm1.Output = Chr(&H6D) Me.tmrmaybom.Interval = 100 End Sub

Private Sub cmdoffmaybom_Click()

If cmdoffmaybom = True Then MsgBox "kiem tra du lieu truoc khi truyen"

Me.tmrmaybom.Enabled = True MSComm1.Output = Chr(&H6E) Me.tmrmaybom.Interval = 0 End Sub

'********************* Dieu khien quat ************************

Private Sub cmdonq_Click()

If cmdonq = True Then MsgBox "kiem tra du lieu truoc khi truyen"

Me.tmrquat.Enabled = True MSComm1.Output = Chr(&H71) Me.tmrquat.Interval = 10

End Sub

Private Sub cmdoffq_Click()

If cmdoffq = True Then MsgBox "kiem tra du lieu truoc khi truyen"

Me.tmrquat.Enabled = True MSComm1.Output = Chr(&H70) Me.tmrquat.Interval = 0

End Sub

tmrxuly.Enabled = False

If cmdonden = True Then MsgBox "kiem tra du lieu truoc khi truyen"

MSComm1.Output = Chr(&H64)

Me.imgDen.Picture = LoadPicture(path & 11 & ".bmp") tmrxuly.Enabled = True

End Sub

Private Sub cmoffden_Click() tmrxuly.Enabled = False

If cmoffden = True Then MsgBox "kiem tra du lieu truoc khi truyen"

MSComm1.Output = Chr(&H65)

Me.imgDen.Picture = LoadPicture(path & 10 & ".bmp") tmrxuly.Enabled = True

End Sub

'********************* Dieu khien tivi ************************

Private Sub cmdontv_Click()

If cmdontv = True Then MsgBox "kiem tra du lieu truoc khi truyen"

MSComm1.Output = Chr(&H74)

WindowsMediaPlayer1.URL = path & "Proud of You.MPE"

End Sub

Private Sub cmdofftv_Click()

If cmdofftv = True Then MsgBox "kiem tra du lieu truoc khi truyen"

MSComm1.Output = Chr(&H76) WindowsMediaPlayer1.Close End Sub

Private Sub Timer1_Timer()

Me.lblht.Caption = Mid(lblht.Caption, 2) & Mid(lblht.Caption, 1, 1) End Sub

Private Sub tmrmaybom_Timer() j = j + 1

If j = 3 Then j = 1

Me.imgmaybom.Picture = LoadPicture(path & j & ".JPG") End Sub

Private Sub tmrQuat_Timer() i = i + 1

If i = 6 Then i = 1

Me.imgQuat.Picture = LoadPicture(path & i & ".bmp") End Sub

If MSComm1.InBufferCount <> 0 Then dulieunhan = MSComm1.Input

End If

If dulieunhan = "" Then

txtnhan.Text = "thiet bi khong hoat dong"

Else

txtnhan.Text = "thiet bi da hoat dong"

End If End Sub.

của các thầy cô giáo trong khoa Điện-Điện tử và đặc biệt được sự giúp đỡ của thầy Phạm Ngọc Hưng khoa Công nghệ thông tin, chúng em đã hoàn thành đề tài của mỡnh. Qua đõy phần nào cũng giỳp bạn đọc được hiểu rừ về ứng dụng của Ghộp nối máy tính và giao diện trong thực tế, đồng thời hiểu được những kiến thức cơ bản của môn Visuabasic6.0.

Qua quá trình thiết kế, chế tạo không thể tránh khỏi những sai sót và khuyết điểm. Vì vậy chúng em rất mong được sự đóng góp ý kiến của các thầy cô và các bạn để đề tài được hoàn thiện hơn.

Một phần của tài liệu mạch điều khiển các thiết bị trong nhà (Trang 29 - 42)

Tải bản đầy đủ (PDF)

(42 trang)