Thông báo

Collapse
No announcement yet.

Tìm giúp code với

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

  • Tìm giúp code với

    Tình hình là nhóm mình phải làm đề tài tốt nghiệp về ngôi nhà thông minh nhưng nhóm mình đang mắc ở khâu tìm code. Bạn nào có code về điều chỉnh tự động nhiệt độ, ánh sáng dòng AVR thì giúp mình với nhé. Cám ơn nhiều !

  • #2
    Nguyên văn bởi ngxuanlinh Xem bài viết
    Tình hình là nhóm mình phải làm đề tài tốt nghiệp về ngôi nhà thông minh nhưng nhóm mình đang mắc ở khâu tìm code. Bạn nào có code về điều chỉnh tự động nhiệt độ, ánh sáng dòng AVR thì giúp mình với nhé. Cám ơn nhiều !
    Ok có code cho bạn đây.Nhưng về phải sửa lại chút thôi.Lâu không lôi ra xem.Mạch làm chạy thành công rồi.Hiện giờ mình cũng đang làm một board avr:Gồm báo động+password+nhiệt độ+đồng hồ.Nếu bạn có hứng thú thì liên hệ với mình.Anh em thảo luận.Mình ở hà nội.Thấy hay thanks mình cái rồi để lại nick mình gửi code cho.

    Comment


    • #3
      Nguyên văn bởi blackmoon_tt Xem bài viết
      Ok có code cho bạn đây.Nhưng về phải sửa lại chút thôi.Lâu không lôi ra xem.Mạch làm chạy thành công rồi.Hiện giờ mình cũng đang làm một board avr:Gồm báo động+password+nhiệt độ+đồng hồ.Nếu bạn có hứng thú thì liên hệ với mình.Anh em thảo luận.Mình ở hà nội.Thấy hay thanks mình cái rồi để lại nick mình gửi code cho.
      Cám ơn bạn nhiều, bạn có thể cho mình sdt + nick của bạn để nhóm mình trao đổi không ? Thanks you very much

      Comment


      • #4
        Hòm thư của mình là thuongtruongkhocliet@gmail.com
        À quên cho mình hỏi là bạn dùng phần mềm gì để chạy mô phỏng thế ?

        Comment


        • #5
          Nguyên văn bởi ngxuanlinh Xem bài viết
          Hòm thư của mình là thuongtruongkhocliet@gmail.com
          À quên cho mình hỏi là bạn dùng phần mềm gì để chạy mô phỏng thế ?
          Mod oi sao em khong go tieng viet duoc,Sr a.Truoc luc update dien dan van go ok ma???hix
          Minh moi tim dc file code cua no thoi.Ban ve cu doc code roi ve mo phong nhe.Cung don gian ma.
          Code day ban:
          /************************************************** ***
          Project : do nhiet do su dung cam bien DS18B20
          Version : lastet
          Date : 5/21/2010
          Company : d2dtvt2
          Comments: bai thuc hanh nhom 2

          Chip type : ATmega8
          Program type : Application
          Clock frequency : 11.059200 MHz
          Memory model : Small
          External RAM size : 0
          Data Stack size : 256
          ************************************************** ***/
          #asm
          .equ __w1_port=0x15
          .equ __w1_bit=0
          #endasm

          /* Use an 2x16 alphanumeric LCD connected
          to PORTC as follows:

          [LCD] [STK500 PORTC HEADER]
          1 GND- 9 GND
          2 +5V- 10 VCC
          3 VLC- LCD contrast control voltage 0..1V
          4 RS - 1 PC0
          5 RD - 2 PC1
          6 EN - 3 PC2
          11 D4 - 5 PC4
          12 D5 - 6 PC5
          13 D6 - 7 PC6
          14 D7 - 8 PC7
          */
          /***---KHAI BAO SU DUNG LCD---***/
          #asm
          .equ __lcd_port=0x12
          #endasm
          /***---KHAI BAO SU DUNG THU VIEN CO SAN TRONG CODEVISION---***/
          #include <C:\cvavr2\inc\lcd.h>
          #include <C:\cvavr2\inc\ds18b20.h>
          #include <C:\cvavr2\inc\delay.h>
          #include <C:\cvavr2\inc\mega8.h>
          #include <C:\cvavr2\inc\stdio.h>
          /***---KHAI BAO BIEN SU DUNG---***/
          char lcd_buffer[33];
          #define MAX_DEVICES 8
          unsigned char rom_code[MAX_DEVICES][9],a;
          unsigned char m, temph=40,templ=10,tempb;
          /***---HAM CHINH------***/
          #define up PINC.1
          #define down PINC.2
          #define ok PINC.3
          #define bip PIND.3
          /*---------------------*/
          void mao_dau()
          {
          /************************************************** ************/
          lcd_gotoxy(0,0);
          lcd_putsf("NHIET DO PHONG:");
          lcd_gotoxy(4,1);
          lcd_putchar(0xDF);
          lcd_gotoxy(5,1);
          lcd_putsf("C");
          /************************************************** ************/
          }
          /*----BIP BIP BIP-----*/
          void beep()
          {
          for(m=0;m<=9;m++)
          {
          bip = 0;
          delay_ms(100);
          bip = 1;
          delay_ms(100);
          }
          }
          unsigned char key()
          {
          if(PINC.1==0)
          {
          delay_ms(200);
          return 1; // phim 1 bam
          }

          if(!PINC.2)
          {
          delay_ms(200);
          return 2; // phim 2 bam
          }

          if(!PINC.3)
          {
          delay_ms(200);
          return 3; // phim 3 bam
          }

          return 0; //khong co phimnao bam

          }
          void set_temph()
          {
          lcd_gotoxy(0,0);
          lcd_putsf("dat nguong tren");
          while(1)
          {
          switch(key())
          {
          case 1:
          a = (m++)%100;lcd_gotoxy(8,1);
          lcd_putchar(a/100+48);
          lcd_putchar((a%100)/10+48);
          lcd_putchar(a%10+48);
          break;
          case 2:
          a = (m--)%100;
          lcd_gotoxy(8,1);
          lcd_putchar(a/100+48);
          lcd_putchar((a%100)/10+48);
          lcd_putchar(a%10+48);
          break;
          case 3:
          temph = a;
          lcd_clear();
          mao_dau();
          goto exit;
          break;
          }
          }
          exit:;
          }
          void set_templ()
          {
          lcd_gotoxy(0,0);
          lcd_putsf("dat nguong duoi");
          while(1)
          {
          switch(key())
          {
          case 1:
          a = (m++)%100;lcd_gotoxy(8,1);
          lcd_putchar(a/100+48);
          lcd_putchar((a%100)/10+48);
          lcd_putchar(a%10+48);
          break;
          case 2:
          a = (m--)%100;
          lcd_gotoxy(8,1);
          lcd_putchar(a/100+48);
          lcd_putchar((a%100)/10+48);
          lcd_putchar(a%10+48);
          break;
          case 3:
          templ = a;
          lcd_clear();
          mao_dau();
          goto exit;
          break;
          }
          }
          exit:;
          }
          void main()
          {
          unsigned char i,devices;
          int temp;
          DDRB=0xff;
          DDRD=0xff;
          PORTB.0=0xff;
          delay_ms(100);
          PORTB.0=0x00;
          delay_ms(100);
          PORTB.0=0xff;
          delay_ms(100);
          PORTB.0=0x00;
          delay_ms(1000);
          w1_init();
          lcd_init(16);
          lcd_gotoxy(0,0);
          lcd_putsf(" Do va canh bao ");
          delay_ms(2000);
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("Blackmoon_tt");
          delay_ms(2000);
          lcd_clear();
          /************************************************** ************/
          devices=w1_search(0xf0,rom_code);
          lcd_puts(lcd_buffer);
          lcd_clear();
          mao_dau();
          while (1)
          { //lcd_clear();
          if(key()==1) set_temph();
          if(key()==2) set_templ();
          for (i=0;i<1;i++)
          {
          lcd_gotoxy(1,1);
          temp=ds18b20_temperature(&rom_code[i][0]);
          tempb = temp;
          lcd_putchar(temp/100+48);
          lcd_putchar((temp%100)/10+48);
          lcd_putchar(temp%10+48);
          delay_ms(10);
          };
          /*nhiet do mac dinh luc dau la 10-40*/
          if(tempb<=templ) beep();
          if(tempb>=temph) beep();
          };
          }

          Comment


          • #6
            Cám ơn bạn nhiều, à mà code của bạn bắt buộc dùng cho loại AT mega 8 hay bất cứ loại nào thuộc dòng AVR đều được ? Bạn cho mình hỏi thêm là nhiệm vụ chủ yếu của mạch ĐK của bạn là gì ? Mạch của mình làm các công việc như sau :
            - Mình chia ra các Master và Slave kết nối với máy tính chủ, các slave sẽ có nhiệm vụ thu thập nhiệt độ trong phòng đề từ đó kích hoạt máy lạnh/lò sưởi. Ngoài ra còn điều chỉnh chiếc rèm cửa để đón gió tự nhiên

            Comment


            • #7
              Nguyên văn bởi ngxuanlinh Xem bài viết
              Cám ơn bạn nhiều, à mà code của bạn bắt buộc dùng cho loại AT mega 8 hay bất cứ loại nào thuộc dòng AVR đều được ? Bạn cho mình hỏi thêm là nhiệm vụ chủ yếu của mạch ĐK của bạn là gì ? Mạch của mình làm các công việc như sau :
              - Mình chia ra các Master và Slave kết nối với máy tính chủ, các slave sẽ có nhiệm vụ thu thập nhiệt độ trong phòng đề từ đó kích hoạt máy lạnh/lò sưởi. Ngoài ra còn điều chỉnh chiếc rèm cửa để đón gió tự nhiên
              Oái lại còn thêm giao tiếp với máy tính thì bạn phải tìm hiểu thêm nhé.code này mới chỉ là giao tiếp giữa atmega8 và con DS18b20 thôi.Thu nhiệt độ rồi gửi về vi điều khiển.Đây chính là cái I2C đấy bạn.Bạn dùng atmega nào cũng được. atmega16 cũng được nhưng mà lãng phí chân.Nếu có nhiều tác vụ thì dùng atmega16 để điều khiển thêm các cái phụ trợ bên ngoài.

              Còn về vấn đề kéo rèm hay kích hoạt lò sưởi thì đơn giản thôi.Bạn chỉ cần dùng vdk để điều chỉnh role đóng cắt nguồn cho mạch phụ trợ bên ngoài.VD như là mạch điều khiển động cơ để kéo rèm chẳng hạn.Nếu chỉ là đang làm đồ án môn học thì chỉ cần lắp cái led để minh họa tín hiệu điều khiển thôi.Chứ có ai bắt điều khiển cả lò sưởi thật đâu.nếu làm để lắp ở nhà cho vui thì làm thêm cho hay.heh

              Comment


              • #8
                Bạn có code phần điều chỉnh cường độ sáng hay bật/tắt đèn không ? Mình đang "bí" phần đấy quá

                Comment


                • #9
                  Bạn điều khiển theo cổng ra ý.VD như bật tắt đèn nhé.từ chân vdk đưa tín hiệu mở transistor.Transistor có nhiệm vụ mở để cấp nguồn cho role.Role có nguồn thì đóng mạch-->Bật đèn or ngược lại.Còn điều chỉnh sáng tối.Theo mình nghĩ bạn nên tìm hiểu cách điều khiển công suất

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X