LED trái tim sử dụng công nghệ mới, phát nhạc đơn âm, nhiều hiệu ứng đẹp mắt, hỗ trợ điều khiển chữ I-L-U và đường viền 3bit, có hiệu ứng sáng dần và tắt dần PWM...
Phiên bản đồng hồ sáng tạo nhất, tích hợp rất nhiều tính năng vào trong một chiếc đồng hồ. Hiển thị ngày theo dương lịch, hiển thị giờ, hiển thị nhiệt độ, 8 hiệu ứng viền nháy theo giây, hẹn giờ đa chức năng, báo giờ,...
Điều khiển động cơ bước theo tín hiệu đưa vào từ quang trở dùng avr Đăng bởi: QuocMinhBMT - Thời gian: 19-05-2015, 00:44 Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 1.769
Em hiện là sv năm I dân điện tử có chút hứng thú với lập trình avr.(mà kiến thức hạn hẹp quá @_@)
Em đang thử tìm hiểu phần lập trình để đk tấm pin mặt trời sao cho đạt hiệu suất cao nhất.
Hoạt động của nó như sau:
AVR(ATmega16) nhận tín hiệu từ 4 quang trở( quang trở dễ mua)muốn tấm pin quay theo hướng đông tây, bắc nam (vì muốn đạt hs cao nhất) thông qua adc của atmega16.
khi mà giá trị đọc được từ 2 quang trở bằng nhau thì động cơ bước ngừng quay. tất nhiên là khi giá trị 2 quang trở chênh lệch thì động cơ bước vẫn tiếp tục quay đến khi có giá trị bằng nhau.
theo như giá trị adc em mô phỏng được thì ứng với giá trị adc là 0 thì trời nắng gắt, và 1023 là trời tối.
nhưng em chưa biết lập trình để so sánh bằng 2 giá trị adc từ quang trở với nhau(vd: quang trở hướng đông tây chằng hạn) để đưa ra tín hiệu đk động cơ. trong proteus thì PC0->PC3 là đk động cơ số 1(đông tây), từ PC4->PC7 là đk đ/cơ số 2(bắc nam).
Nên em mạn phép post bài để mọi người ai tìm hiểu về mảng này cho em chút gợi ý.
Bạn chưa đăng nhập, không thể viết bình luận! Bấm vào đây để Đăng nhập hoặc Đăng ký!
Vũ Văn Thái lúc 24-05-2015, 13:48 Bạn tạo project mới có chọn tự động tạo code, xong tích vào tab ADC chọn ADC EN..., tích vào Interput, tích tiếp auto scan từ adc mấy đến adc bao nhiêu thì bạn nhập vào rồi lưu lại project là được cái này không phải hướng dẫn nữa vì trên club đã hướng dẫn rồi trong mục Học AVR
QuocMinhBMT lúc 30-05-2015, 21:35 à ad cho em hỏi: em có thêm phần hiện thị real time vào nữa, nhưng khi cho chạy mô phỏng thì nó không hiện thị đúng giá trị.em cũng có viết ct đk motơ theo giá trị adc rồi nhưng chưa biết phải lồng vào chương trình chính như thê nào để nó chạy đúng. ad hoặc a/c nào có thể giúp sửa lỗi này giúp em đc ko. http://www.mediafire.com/download/9lst8gmz4lee7f4/ct.rar
Vũ Văn Thái lúc 19-05-2015, 06:27 Bạn lên so sánh theo giá trị tương đối thôi, mô phỏng là vậy mạch thật quá mà cháy động cơ, lập trình so sánh thì đơn giản thôi cứ cho if vào trong một vòng lặp để kiểm tra, adc thì dùng ngắt auto scan trong CVAVR, vd if(adc1>5 && adc1<200)if(adc3>5&&adc3<200){ //DK dừng động cơ....} lên thiết kế thêm công tắc hành trình nữa không là cháy thật đó, vì khi trời nắng yếu nó cứ quay mãi thì chết
Vũ Văn Thái lúc 24-05-2015, 13:52 Bạn khai báo như mình viết đó là nó sẽ hiểu giá trị trong khoảng 5<ADC<200 bạn nha vì mình dùng toán tử AND mà nghĩa là phải thỏa mãn 2 điều kiện đó mới cho chạy code trong if, còn toán tử OR ký hiệu || thì nếu một trong hai thỏa mãn là TRUE
QuocMinhBMT lúc 20-05-2015, 10:33 anh có thể viết rõ hơn về đoạn so sánh giá trị được không ạ
QuocMinhBMT lúc 20-05-2015, 01:05 trong phần lập trình của em nó chỉ hiện thị được 1 số giá trị adc. theo như câu lệnh if của anh thì vdk có hiểu được các giá trị từ 5-> 200 không? ngắt auto scan là gì ạ. em tìm trong phần help của codevision ko có phần này.