Thông báo

Collapse
No announcement yet.

Làm Đồng hồ để bàn với DS1307 và Mega8!

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

  • #46
    Nguyên văn bởi Le Thi Bich Xem bài viết
    ơ thế chỉnh bằng cái gì anh?
    lại phải tăng áp thôi vì càng nhiều led trên một chu kỳ quét thì tỷ lệ thời gian sáng trên thời gian tắt của môt led càng giảm
    em mới nảy ra ý kiến thế này:
    đằng nào cũng phải thiết kế thêm một mức điện áp nữa(nếu điểu chỉnh áp)vậy thay vì đặt vào anot một điện áp >5V ta đặt vào katot của led điện áp <0V vậy là khắc phục được hiện tượng sáng lờ mờ
    (em nghĩ thế nhưng chưa thấy ai làm thế nên cứ là hỏi các bác cái đã)
    Điện áp thay đổi thì chỉ cần dùng LM317 thay cho mấy em 78x thôi có gì đâu mà phức tạp hả em?
    Còn cái ...."sáng kiến" của em dùng nguồn âm??? Em đã tính đến "hậu quả" của thêm nguồn âm trong mạch chưa? Em vẽ lại mạch xem dòng chảy từ Anot qua LED rồi nó chảy đi đâu nếu có nguồn âm nhé??!! Hi. Sáng kiến với tối kiến là gần nhau lắm đó em nhé. hahaha
    Nỏ biết chữ mần răng ký được??!! Thôi nhé.

    Comment


    • #47
      Nguyên văn bởi thangktvta Xem bài viết
      Điện áp thay đổi thì chỉ cần dùng LM317 thay cho mấy em 78x thôi có gì đâu mà phức tạp hả em?
      Còn cái ...."sáng kiến" của em dùng nguồn âm??? Em đã tính đến "hậu quả" của thêm nguồn âm trong mạch chưa? Em vẽ lại mạch xem dòng chảy từ Anot qua LED rồi nó chảy đi đâu nếu có nguồn âm nhé??!! Hi. Sáng kiến với tối kiến là gần nhau lắm đó em nhé. hahaha
      A Thắng lại nhầm nữa rồi
      em bảo là "ý kiến" chứ có dám bảo là sáng kiến đâu cơ chứ
      ơ nhưng mà được mà
      Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.

      Comment


      • #48
        mà mình vẫn chưa hiểu? ( các bạn thông cảm, đọc nhiều hoa mắt quá ) sao mà phải tăng áp với cả tăng dòng làm gì, ở đây ta dùng phương pháp quét led, tất cả các led đâu có sáng cùng lúc, mà thay phiên nhau sáng, vì thế dòng đâu có lớn ???
        *** Thành viên không biết gì về điện ***

        Comment


        • #49
          Nguyên văn bởi AVR_VN Xem bài viết
          mà mình vẫn chưa hiểu? ( các bạn thông cảm, đọc nhiều hoa mắt quá ) sao mà phải tăng áp với cả tăng dòng làm gì, ở đây ta dùng phương pháp quét led, tất cả các led đâu có sáng cùng lúc, mà thay phiên nhau sáng, vì thế dòng đâu có lớn ???
          Dòng ở đây là dòng chảy qua mỗi led bạn ạ. Khi bạn thực hiện quét led bạn có thể thay đổi chu kỳ xung, thay đổi độ rộng xung. Đó là cách thực hiện nhưng cái gốc của vấn đề chính là thay đổi dòng qua led. Ban đầu tôi cũng thực hiện việc thay đổi chu kỳ và độ rộng xung bằng các hàm delay và tính tóan chu kỳ lệnh. Tuy nhiên, sau một thời gian làm việc tôi kết luận rằng dùng timer sẽ cho kết quả khác biệt. LED sáng đều và đẹp. Vì vậy bây giờ tôi thường để riêng 1 timer để quét LED.
          AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
          Xem thêm tại Online Store ---> Click here
          Mob: 0982.083.106

          Comment


          • #50
            Nguyên văn bởi VNarmy Xem bài viết
            Dòng ở đây là dòng chảy qua mỗi led bạn ạ. Khi bạn thực hiện quét led bạn có thể thay đổi chu kỳ xung, thay đổi độ rộng xung. Đó là cách thực hiện nhưng cái gốc của vấn đề chính là thay đổi dòng qua led. Ban đầu tôi cũng thực hiện việc thay đổi chu kỳ và độ rộng xung bằng các hàm delay và tính tóan chu kỳ lệnh. Tuy nhiên, sau một thời gian làm việc tôi kết luận rằng dùng timer sẽ cho kết quả khác biệt. LED sáng đều và đẹp. Vì vậy bây giờ tôi thường để riêng 1 timer để quét LED.
            Cái này hay quá bác nhỉ, em thấy...thèm rồi đây. Em lập trình kém lắm nên toàn cố gắng khắc phục và tối ưu phần cứng thôi. Bác có thể nói sơ sơ phuơng pháp này được không? Thanks bác nhiều!
            Nỏ biết chữ mần răng ký được??!! Thôi nhé.

            Comment


            • #51
              Nguyên văn bởi VNarmy Xem bài viết
              Dòng ở đây là dòng chảy qua mỗi led bạn ạ. Khi bạn thực hiện quét led bạn có thể thay đổi chu kỳ xung, thay đổi độ rộng xung. Đó là cách thực hiện nhưng cái gốc của vấn đề chính là thay đổi dòng qua led. Ban đầu tôi cũng thực hiện việc thay đổi chu kỳ và độ rộng xung bằng các hàm delay và tính tóan chu kỳ lệnh. Tuy nhiên, sau một thời gian làm việc tôi kết luận rằng dùng timer sẽ cho kết quả khác biệt. LED sáng đều và đẹp. Vì vậy bây giờ tôi thường để riêng 1 timer để quét LED.
              ơ nhưng anh dùng times thì cũng chỉ để chuẩn hóa thời gian quét chứ có giải quyết được vấn đề tỷ lệ đóng cắt cho mỗi led trong một chu kỳ đâu nhỉ, anh chỉ giáo cho tụi em vài đường đi!..
              Thiết kế chế tạo các loại máy xoáy nắp, chiết rót định lượng dùng trong dược phẩm và thực phẩm.

              Comment


              • #52
                Chào các bác. Em có 1 vấn đề là không viết làm sao cho thứ nó chạy được.
                nếu khai báo "rtc_get_date(&ngay,&thang,&nam) '' thì được nhưng ko có thứ
                ,nếu khai bao "rtc_get_day(&thu,&ngay,&thang,&nam) " thì báo lỗi.
                Mong các bác giúp !
                Và cách nào khác ko ?

                Comment


                • #53
                  Nguyên văn bởi atmega_88 Xem bài viết
                  Chào các bác. Em có 1 vấn đề là không viết làm sao cho thứ nó chạy được.
                  nếu khai báo "rtc_get_date(&ngay,&thang,&nam) '' thì được nhưng ko có thứ
                  ,nếu khai bao "rtc_get_day(&thu,&ngay,&thang,&nam) " thì báo lỗi.
                  Mong các bác giúp !
                  Và cách nào khác ko ?
                  Bạn sử dụng CodevisionAVR hả? Trong đó làm gì có hàm rtc_get_day mà chỉ có rtc_get_date thôi. Hàm này chỉ đọc được ngày, tháng, năm. Nếu muốn đọc cả thứ phải dùng hàm rtc_get_byte trong thư viện ds1307.h để đọc giá trị tại ô nhớ 0x03 của ds1307.

                  Comment


                  • #54
                    Dùng " rtc_get_time(&h,&m,&s);
                    rtc_get_byte (&thu,&ngay,&thang,&nam);"ah ?
                    bạn hướng dẫn chút ko ?
                    Mình thay nhưng ko được. h,m,s,ngay, thang, nam ok rùi còn mỗi cái thứ.

                    Comment


                    • #55
                      Nguyên văn bởi atmega_88 Xem bài viết
                      Dùng " rtc_get_time(&h,&m,&s);
                      rtc_get_byte (&thu,&ngay,&thang,&nam);"ah ?
                      bạn hướng dẫn chút ko ?
                      Mình thay nhưng ko được. h,m,s,ngay, thang, nam ok rùi còn mỗi cái thứ.
                      Trong DS1307 rõ ràng có cả "thứ" nhưng mà hàm của codevisionAVR nó không đưa ra. Muốn lôi cả thứ ra nữa thì cần phải sửa mấy cái code của nó trong thư viện DS1307, công việc cần làm là thêm 1 biến "thứ" vào các hàm rtc_get_date() và rtc_set_date(),...

                      Comment


                      • #56
                        "" void rtc_get_day(unsigned char *day,unsigned char *date,unsigned char *month,unsigned char *year)
                        {
                        i2c_start();
                        i2c_write(0xd0);
                        i2c_write(4);
                        i2c_start();
                        i2c_write(0xd1);
                        *day=bcd2bin(i2c_read(1));
                        *date=bcd2bin(i2c_read(1));
                        *month=bcd2bin(i2c_read(1));
                        *year=bcd2bin(i2c_read(0));
                        i2c_stop();
                        }

                        void rtc_set_day(unsigned char day,unsigned char date,unsigned char month,unsigned char year)
                        {
                        i2c_start();
                        i2c_write(0xd0);
                        i2c_write(4);
                        i2c_write(bin2bcd(day));
                        i2c_write(bin2bcd(date));
                        i2c_write(bin2bcd(month));
                        i2c_write(bin2bcd(year));
                        i2c_stop();
                        } ""
                        hiểu ý anh nhưng khi làm đã thấy nhẩy thứ nhưng nó có cả thứ 9. anh giúp em cho đúng quy luật với.

                        Comment


                        • #57
                          hề hề, thêm 1 biến *day nữa nhưng mà cái dòng I2c_write(4) kia phải chuyển thành write(3) chứ?
                          Attached Files
                          Last edited by mrcuongcon; 18-10-2010, 17:41.

                          Comment


                          • #58
                            oh, em thử rùi bước đầu hiệu quả để hết tuần đã.

                            Comment


                            • #59
                              Hi,
                              Vụ đồng hồ này cũng xôm tụ nhỉ, tui cũng có một sản phẩm liên quan đến đồng hồ nhưng mà tui làm với VĐK PIC. Hiện tại đồng hồ này đang điều khiển chuông báo cho xưởng làm việc. Ở trạng thái hoạt động bình thường sẽ hiển thị giờ/phút/giây trong vòng 10 giây sau đó hiển thị Thứ, ngày, tháng mỗi cái 2 giây rồi trở lại hiển thị giờ. Khi thời gian đúng với thời gian cài đặt trong bảng thời gian biểu thì sẽ báo chuông, tùy vào mỗi thời điểm mà tín hiệu rung chuông khác nhau. Đồng hồ cho phép đặt thời gian qua 4 phím bấm, thời khóa biểu thì được fix cứng trong code do thao tác nhập thời khóa biểu sẽ khó cho người dùng với lại thời khóa biểu mỗi năm thay đổi có 1 lần, chỉ cần cắm dây cáp lập trình vào update lại là xong. Tui nghĩ nếu làm đồng hồ thì nên kết hợp với việc gì đó sẽ thú vị hơn còn để hiển thị giờ thì thôi mua u nó cái của Trung Quốc có 90K mà chạy ngon lành.
                              Có một ứng dụng liên quan đến đồng hồ mà tui chưa có thời gian làm đó là hẹn ngày kỵ giỗ của ông bà... vì do ngày giỗ là ngày âm lịch mà mọi phương tiện hẹn giờ như ĐTDĐ, PC đều chỉ hỗ trợ lịch dương lịch nên mỗi năm lại mỗi khác không ứng dụng được. Thuật toán lịch âm thì tui đã sưu tầm được rồi nhưng hiện tại chưa máu me vụ này lắm nên chưa tiến hành.
                              Bác nào quan tâm đến giải pháp dùng PIC thì cùng trao đổi cho vui, nếu đây là luồng của Atmega fan thì chắc tui chỉ đóng góp đến đây thôi.
                              Thân ái.
                              Đường đến những ngày vinh quang không còn xa
                              Con đường chúng ta... chúng ta đã chọn.

                              Comment


                              • #60
                                hic đang làm về cái đó mà thấy bích nói vậy thấy nản quá .khó vậy ah .có ai làm được chưa .giúp mình với !!!!!!

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X