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 !
Thông báo
Collapse
No announcement yet.
Tìm giúp code với
Collapse
X
-
Nguyên văn bởi ngxuanlinh Xem bài viếtTì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 !
-
Nguyên văn bởi blackmoon_tt Xem bài viếtOk 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
-
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
-
Nguyên văn bởi ngxuanlinh Xem bài viếtHò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ế ?
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
-
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
-
Nguyên văn bởi ngxuanlinh Xem bài viếtCá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
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
-
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
Bài viết mới nhất
Collapse
-
Trả lời cho Tiếng Anh cho người Việtbởi tuyennhanCái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .-
Channel: Tâm tình dân kỹ thuật
hôm nay, 07:44 -
-
Trả lời cho Tiếng Anh cho người Việtbởi vi van phamCám ơn những lời chúc tốt đẹp của em.
Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.
Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....-
Channel: Tâm tình dân kỹ thuật
hôm nay, 02:00 -
-
Trả lời cho Tiếng Anh cho người Việtbởi nhathung1101Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.
Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.
Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 22:18 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.
Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:51 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.
Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:39 -
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.
Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 14:28 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietĐúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
-
Channel: Tâm tình dân kỹ thuật
21-02-2025, 20:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi mèomướpDạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
-
Channel: Tâm tình dân kỹ thuật
21-02-2025, 12:32 -
-
Trả lời cho Tiếng Anh cho người Việtbởi vi van phamNhững lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).
Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...-
Channel: Tâm tình dân kỹ thuật
20-02-2025, 21:31 -
-
Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )bởi bqvietThiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.20-02-2025, 17:22
Comment