Thông báo

Collapse
No announcement yet.

mạch hẹn giờ tắt mở các thiết bị điện dân dụng

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • mạch hẹn giờ tắt mở các thiết bị điện dân dụng

    có ai biết mạch dùng để điều khiển hẹn thời gian tắt mở các thiết bị điện dân dụng không chỉ em với. em đang rất cần

  • #2
    Tôi có biết hehe
    Dùng VDK PIC bạn xem link này tham khảo xem có đúng với ứng dụng của bạn không nhé!
    http://www.electronics-lab.com/proje...019/index.html

    Nói chung nó gần tương tự. Nếu cần chính xác bạn phải dùng thêm con Real Time Clock.
    Hoặc nếu cần tương đối ..thôi thì đơn giản hơn. Mấy dòng lệnh là xong thôi!
    ok?
    Learn more...

    Comment


    • #3
      Trang web này cung cấp khá đầy đủ để cho bạn làm hoàn chỉnh mạch luôn đấy. Chúc các bạn thành công.

      Comment


      • #4
        hè hè , nhưng PIC đắt quá hé, sao không dùng 89 cho rồi.
        Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

        Comment


        • #5
          đã bác nào làm điều khiển quạt điện dân dụng từ xa chua ?
          Post lên cho em tham khảo với
          dung 8051 càng hay

          Comment


          • #6
            Đã thế bác Quế Dương post con 89 cho anh em zòm ti'...

            Comment


            • #7
              Nguyên văn bởi e10
              Đã thế bác Quế Dương post con 89 cho anh em zòm ti'...
              Phần này mình đã post trong dk quạt từ xa rồi đó,bạn vào mà xem nhé.
              Nếu chỉ định tgian đóng ngắt mạch điện thì chỉ cần xài hai mạch: giao tiếp 8951 và khóa BJT dk Rơle thôi là đủ.
              http://dientuvietnam.net/board/showthread.php?t=490
              Chúc thành công.
              Last edited by cuteolenpho; 28-10-2005, 09:51.

              Comment


              • #8
                #include <reg51.h>

                #include <stdio.h>
                sbit P3_7 = P3^7;
                char sec100,sec,min_dv,min_chuc,hour,flag1,temp,i,digit ,buffer[4];
                char cputick,key,delay,count1;

                char convert[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};

                void pause(int);
                void scanLED();

                void setmin();
                void sethour();

                void time();
                void timeToBuffer();
                void blink();
                void keyexe();
                void keydelay();


                void timer0int (void) interrupt 1 using 1 {
                TH0 |= 0xdc; // reload timer 0 with 0DC00H
                cputick++;
                time(); // update realtime clock

                }

                void main()
                {
                EA = 1;
                ET0 = 1; // or IE |= 0x82; /* set bit EA and Timer0 enable */
                TMOD |= 0x01; /* timer 0 run 16 bit counter */
                TR0 = 1; //or TCON |= 0x10; /* run timer 0 */
                cputick = 0;
                hour = 1;
                min_chuc = 0;
                min_dv=0;
                sec = 0;
                key = -1;
                flag1 = 0;

                count1 = 0;
                while(1)
                {
                while ( cputick < 1)
                scanLED();

                cputick = 0;

                /*------------- the following tasks execute every 10ms ------*/

                timeToBuffer();
                blink();
                keyexe();
                keydelay();

                /*-----------------------------------------------------------*/
                }
                }

                /* ****************** change constant below for other X-tal ********/
                void time ()
                /* update real-time clock */
                {
                if(hour==0 && min_chuc==0 && min_dv==0)
                {P3_7 =0;}
                else
                {
                sec100++;
                if (sec100 >= 100) /* 100 * 10 ms = 1 s */
                {sec100 = 0;
                flag1 |= 0x05; /* set bit 0, bit 2 */
                temp = 50;
                sec++;
                if (sec > 59) // sec>59 ===> 1 minute
                {sec = 0;
                flag1 |= 0x02; /* set bit 1 */
                min_dv--;

                if (min_dv <0)
                {min_dv = 9;
                min_chuc--;

                if (min_chuc <0)
                {min_chuc = 5;
                hour--;

                if(hour<0)
                {hour=0;


                }
                }
                }
                }

                }
                }
                } // end else

                void scanLED() /* scan 4-digit LED and 4-key switch, if key pressed key = 0-3
                else key = -1 */

                {
                int i;
                digit = 0x08;
                key = -1;
                for( i = 0; i < 4; i++) /* 4-DIGIT scanning */
                {
                P3 = ~digit; /* send complement[digit] */
                P1 = buffer[i]; /* send complement[segment] */
                pause(5); /* delay a while */
                P1 = 0xff; /* off LED */
                if ((P3 & 0x10) == 0) /* if key pressed P3.4 became low */
                key = i; /* save key position to key variable */
                digit>>=1; /* next digit */
                }
                }


                void timeToBuffer()
                {
                buffer[0] = convert[min_dv];
                buffer[1] = convert[min_chuc];
                buffer[2] = convert[hour%10];
                buffer[3] = convert[hour/10];

                }

                void blink()
                {
                if((flag1 & 0x04) != 0)
                {temp--;
                if (temp != 0)
                {
                buffer[1] |= 0x80; // pt nhấp nháy
                buffer[2] |= 0x80; // pt nhấp nháy
                // buffer[0] |= 0x7F; // led 1 nhấp nháy
                // buffer[1] |= 0x7F; // led 2 nhấp nháy
                }
                else( flag1 &= ~0x04);
                }
                }


                void keyexe()
                {
                if (key != -1)
                {
                if ((flag1 & 0x80) == 0) /* within 0.5 sec after 1st press
                the following execution is not allowed */
                {
                flag1 |= 0x80;
                delay = 50;

                switch(key){
                case (0): /* key position 0 */
                sethour(); /* service key 0 */
                break;
                case (1): /* key position 1 */
                setmin(); /* service key 1 */
                break;
                case (2): /* key position 2 */
                /* service key 2 */
                break;
                case (3): /* key position 3 */
                /* key 3 */
                break;
                }
                }

                }
                }

                void sethour()
                {
                hour++;
                if ( hour>24)
                hour = 0;

                }

                void setmin()
                {
                min_dv++;
                sec = 60;
                if( min_dv > 9 )
                {min_dv = 0;
                min_chuc++;
                if(min_chuc>9)
                {min_chuc=0;
                }}
                }

                void keydelay()
                {
                if ((flag1 & 0x80) !=0)
                {
                delay--;
                if(delay == 0)
                flag1 &= ~0x80;
                }
                }


                void pause(j)
                int j;
                {
                int i;
                for (i = 0; i < j; i++)
                ;
                }
                Last edited by queduong; 24-10-2005, 18:06.
                Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                Comment


                • #9
                  Trên đây là một đoạn mã hẹn giờ counter down do Quế Dương mạo muội viết trong buổi sáng hôm nay .
                  nó đã chạy ngon lành rồi , nhưng có lẽ Quế Dương sẽ viết lại đầy đủ và vẽ cả mạch điện " Đưa vào kho " mạch điện ứng dụng .
                  Phần kết nối và viết thêm mã lệnh cho điều khiển hồng ngoại hoặc các cặp điều khiển thông dụng Quế Dương sẽ chèn vào sau.
                  Tặng các bạn cái đếm lùi này đã.
                  /// Một ngày chỉ có thể giải quyết được mọi việc nếu có ... 3 ngàn 600 tay.. hé hé.

                  Bác nào rành mấy em 8051 này bổ xung thêm. " thêm mắm muối, phụ kiện giải thích giúp QD 1 tay "
                  Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                  Comment


                  • #10
                    DK quạt thì mình đã viết source .ASM rồi,ai thực sự có nhu cầu(làm đề tài liên quan ...) thì gởi mail cho mình(forward lại cho đỡ mệt...).
                    danhnguyeninfo@yahoo.com

                    Comment


                    • #11
                      Đây là cái mạch điện cho mã nguồn mình viết ở trên.

                      ( file ảnh JPG lớn quá mình nén trong file zip -- hoặc có thể xem sơ đồ trong file PDF ).
                      Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                      Comment


                      • #12
                        Nhắn tin: gởi trtie, bạn gởi vào mail tớ đi vì tin nhắn ở DTVN ko có gởi kèm file(mà paste vào thì quá kí tự cho phép).
                        Nếu bạn làm bài tập lớn của môn VXL thì có thể bỏ phần mạch dk từ xa bằng IR,set các port bằng phím nhấn cũng OK(chương trình ko thay đổi,chỉ thêm vài lệnh để chống rung thôi).
                        Last edited by cuteolenpho; 21-11-2005, 18:11.

                        Comment


                        • #13
                          Bộ Công tắc hẹn giờ tôi đã làm và đưa ra bán o 78 Hàng trống rồi, trông cũng ngon đấy, như cái ổ cắm CLIPSAN vậy có chức năng như đồng hồ real time, hẹn giờ bật hoặc tắt và cả khoảng thời gian bật hay tắt nữa. Dùng PIC 16f627. chạy chính xác cả tháng mới sai 1 phút.

                          Comment


                          • #14
                            Nguyên văn bởi vnn2005 Xem bài viết
                            có ai biết mạch dùng để điều khiển hẹn thời gian tắt mở các thiết bị điện dân dụng không chỉ em với. em đang rất cần
                            em có thề sử dụng timer hẹn thời gian bằng cơ cũng được chi cần 1 timer hai nút nhấn với 1 contactor là có thể thưc hiện đươc 5 rồi
                            anh đã sử dụng cho mạng đèn cho cty anh rồi

                            Comment


                            • #15
                              Dear NguyenThuong,
                              Vui lòng cho mình biết chi tiết hơn đươc không bạn,
                              Thanks
                              Nguyên văn bởi nguyenthuong Xem bài viết
                              em có thề sử dụng timer hẹn thời gian bằng cơ cũng được chi cần 1 timer hai nút nhấn với 1 contactor là có thể thưc hiện đươc 5 rồi
                              anh đã sử dụng cho mạng đèn cho cty anh rồi

                              Comment

                              Về tác giả

                              Collapse

                              vnn2005 Tìm hiểu thêm về vnn2005

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X