PDA

View Full Version : Ai giúp mô phỏng đèn Giao Thông bằng C/C++ với!


haoth2
15-11-2006, 05:29 PM
Mình nhận được 1 đề tài thực tập vô cùng khó khăn là: mô phỏng hoạt động của đèn giao thông. Yêu cầu của thầy giáo là: phải có phần mềm (viết bằng C/C++ hoặc Pascal) + phần cứng (mạch, cáp máy in, đèn.., đủ thứ) để mô phỏng. Mà mình đâu phải dân kĩ thuật chuyên nghiệp đâu, nên vấn đề này vô cùng khó khăn. Mong các bạn giúp đỡ cho mình thiết kế được mạch, cũng như phần mềm. Có tài liệu hướng dẫn càng tốt. Cảm ơn nhiều!!!!!

namqn
15-11-2006, 06:13 PM
Mình nhận được 1 đề tài thực tập vô cùng khó khăn là: mô phỏng hoạt động của đèn giao thông. Yêu cầu của thầy giáo là: phải có phần mềm (viết bằng C/C++ hoặc Pascal) + phần cứng (mạch, cáp máy in, đèn.., đủ thứ) để mô phỏng. Mà mình đâu phải dân kĩ thuật chuyên nghiệp đâu, nên vấn đề này vô cùng khó khăn. Mong các bạn giúp đỡ cho mình thiết kế được mạch, cũng như phần mềm. Có tài liệu hướng dẫn càng tốt. Cảm ơn nhiều!!!!!
Bạn cần nói rõ hơn nữa về yêu cầu. Đèn giao thông có thể mô phỏng hoàn toàn bằng vi điều khiển, lẽ đương nhiên phải có chương trình cho vi điều khiển và các chương trình này có thể viết bằng hợp ngữ, hay bằng C/Pascal/Basic, hay một ngôn ngữ cấp cao nào khác. Trong trường hợp này, việc xuất hiện của cáp máy in là không cần thiết.

Tuy nhiên, nếu việc hiển thị cần được thực hiện trên máy tính thì phải có phương tiện giao tiếp giữa mạch điều khiển (phần cứng) và máy tính. Ngoài ra, người ta còn có thể mô phỏng hoạt động của đèn giao thông hoàn toàn trên máy tính, khi đó không cần có thêm phần cứng.

Vậy chính xác là bạn phải làm những gì?

Thân,

haoth2
16-11-2006, 08:40 AM
Cảm ơn anh nhiều lắm. Nói chung là đề tài thực tập của em bắt buộc phải dùng phần mềm + phần cứng để mô phỏng. mà em chẳng biết phần cứng gồm những gì và lắp ráp ra sao, còn phần mềm thì không biết viết như thế nào cả. Thầy giáo bảo là : viết chương trình mô phỏng làm sao đó cho mấy cái đèn (p.cứng) sáng lên tương tự như đèn giao thông vậy đó. Em còn mơ hồ lắm, nói cũng không rõ nữa, hic, mong anh thông cảm. Anh cố gắng hiểu và giúp em nha. Em cám ơn anh nhiều.!!!

namqn
16-11-2006, 06:53 PM
Thầy của bạn chưa nói rõ điểm này: phần mềm đó chạy trên PC hay chạy trên phần cứng (vì bản thân các vi điều khiển cũng cần có chương trình để thực hiện một chức năng nào đó, và các chương trình này cũng được gọi là phần mềm, lẽ đương nhiên).

Nếu phần mềm chạy trên PC, và phần cứng nằm ngoài PC, vậy bạn sẽ cần giao tiếp giữa máy tính và phần cứng. Nhưng không bắt buộc phần cứng bên ngoài PC phải có chương trình, vì có nhiều thiết kế chỉ cần dùng cổng song song để điều khiển trực tiếp các ngõ ra, nếu các ngõ ra đó không tiêu thụ quá nhiều năng lượng. Tôi đoán là thầy của bạn đang có ý định này, vì bạn không học kỹ thuật (và tôi đang thắc mắc là bạn học ngành gì?).

Như đã nói ở trên, bạn cũng có thể mô phỏng hoạt động chỉ với phần cứng, dùng một vi điều khiển nào đó, và không cần PC. Tất nhiên bạn vẫn có đủ phần cứng (mạch của vi điều khiển và tải) và phần mềm (chương trình cho vi điều khiển).

Thân,

PIC-NGHEO
16-11-2006, 07:18 PM
Mình nhận được 1 đề tài thực tập vô cùng khó khăn là: mô phỏng hoạt động của đèn giao thông. Yêu cầu của thầy giáo là: phải có phần mềm (viết bằng C/C++ hoặc Pascal) + phần cứng (mạch, cáp máy in, đèn.., đủ thứ) để mô phỏng. Mà mình đâu phải dân kĩ thuật chuyên nghiệp đâu, nên vấn đề này vô cùng khó khăn. Mong các bạn giúp đỡ cho mình thiết kế được mạch, cũng như phần mềm. Có tài liệu hướng dẫn càng tốt. Cảm ơn nhiều!!!!!

Lâu quá không ghé forum, hôm nay rảnh tay gởi giúp bạn haoth2, tuy nhiên bài tập được viết bằng trình Basic và chỉ mang tính cách mô phỏng đơn giản mạch lạc.

To Bang chủ F : Xin lỗi về cái vụ hót, vì PIC-NGHEO phải đi làm nên không còn thời gian quản lý SEVER, và việc Down Sever không báo cho các ban hay là PIC-NGHEO có lỗi

'************************************************* ***************
'* Ten Tui : PIC-NGHEO *
'* DE Tai : mo phong den giao thong *
'* PIC : 16F84A *
'* OSC : 4 M *
'* Ket noi PIC : Chan 4 = +5V ( chan reset) chan 5 = GND *
'* Chan 14 = +5V ( Chan nguon nuoi PIC) *
'* Chan 15 va 16 noi vao hai chan ngoai cua Thach anh 4 M *
'* chan giua cua thach anh 4M noi voi GND ( " Mat Dat") *
'* Date : 11/16/2006 *
'* Notes : Mach mang tinh cach mo phong *
'* Trinh bien dich : PICBasic Pro *
'************************************************* ***************
' Bai tap chi mang tinh cach mo phong Logic tuy nhien chi can xac dinh lai thoi gian cho thay doi hieu ung
' la co the mang ra duong pho xu dung ...Tam thoi !!!
' Huong di 1
Den_do_1 var portb.1 'Chan thu 7 cua PIC noi voi Chan + LED Do 1 qua R han dong 470 omh
Den_vang_1 var portb.2 'Chan thu 8 cua PIC noi voi Chan + LED Vang 1 qua R han dong 470 omh
Den_xanh_1 var portb.3 'Chan thu 9 cua PIC noi voi Chan + LED Xanh 1 qua R han dong 470 omh
' Huong di 2
Den_do_2 var portb.4 'Chan thu 10 cua PIC noi voi Chan + LED Do 2 qua R han dong 470 omh
Den_vang_2 var portb.5 'Chan thu 11 cua PIC noi voi Chan + LED Vang 2 qua R han dong 470 omh
Den_xanh_2 var portb.6 'Chan thu 12 cua PIC noi voi Chan + LED Xanh 2 qua R han dong 470 omh
' Chan con lai cua tat ca cac LED la chan - noi xuong GND
Trisb = %00000000 ' Dat che do All PortB = OutPut
Portb = 0 ' Tat ca ngo ra cua PortB luc dau deu = 0 -> tuong ung den tat het
' 1 = Sang den , 0 = Tat den
loop: ' Bat dau bat dien
'1-Huong 1 cam di = Huong 2 duoc di
Den_do_1 = 1 ' sang
Den_do_2 = 1 ' sang
Den_vang_1 = 0 ' tat
Den_vang_2 = 0 ' tat
Pause 500 ' Thoi gian(500ms)cho sang cua den xanh huong 2 sang -> de phong co chu'... vuot den do !
Den_do_2 = 0 ' tat
Den_xanh_1 = 0 ' tat
Den_xanh_2 = 1 ' sang
pause 6000 ' ...cho mot thoi gian luu thong, mo phong = 6000ms
'2-Huong 2 chuan bi cam di = den vang 2 sang
Den_do_1 = 1 ' sang
Den_do_2 = 0 ' tat
Den_vang_1 = 0 ' tat
Den_vang_2 = 1 ' sang
Den_xanh_1 = 0 ' tat
Den_xanh_2 = 0 ' tat
pause 1000 ' Cho'` cho ba con chuan bi ngung va chuan bi di tu hai huong mo phong = 1000ms
'3-Huong 2 cam di = Huong 1 duoc di
Den_do_1 = 1 ' Sang
Den_do_2 = 1 ' Sang
Den_vang_1 = 0 ' tat
Den_vang_2 = 0 ' tat
Pause 500 ' Thoi gian(500ms)cho sang cua den xanh huong 1 sang
Den_do_1 = 0 ' Tat
Den_xanh_1 = 1 ' sang
Den_xanh_2 = 0 ' tat
Pause 6000 ' ...cho mot thoi gian luu thong, mo phong = 6000ms
'4-Huong 1 chuan bi cam di = den vang 1 sang
Den_do_1 = 0 ' tat
Den_do_2 = 1 ' sang
Den_vang_1 = 1 ' sang
Den_vang_2 = 0 ' tat
Den_xanh_1 = 0 ' tat
Den_xanh_2 = 0 ' tat
pause 1000
Goto loop ' Quay tro lai ban dau
End

Có gởi kèm Source + Hex fileFile trong DenGiaoThong.Zip và PIC-NGHEO đã cho mạch chạy thử -> tốt !!!

haoth2
18-11-2006, 06:03 PM
Trời ơi, các anh nhiệt tình giúp đỡ quá.Em cảm ơn nhiều nha. Bây giờ em đã hiểu sơ sơ phần nào rồi.Thực ra, đề tài của em cũng đơn giản thui, nhưng mà do em chưa biết gì về kết nối giữa máy tính với các thiết bị bên ngoài đó mà, nên đâm ra khó khăn. Em đã đọc tài liệu rồi, cũng hiểu sơ sơ về cách kết nối, còn về mạch giao thông phải thiết kế như thế nào đây. Dưới đây là đề bài cụ thể của em nè:
Viết 1 phần mềm mô phỏng hoạt động của đèn giao thông kết hợp với phần cứng để cho sinh động. Cụ thể là: tại 1 ngã tư có 4 đèn, các đèn này phải hoạt động đúng như ngoài thực tế. Thêm 1 tình huống đặt ra (nâng cao) là: giả sử đèn đỏ đang bật ở tuyến đường có rất đông xe cộ, tuyến đường còn lại thì chỉ có 1,2 xe gì đấy, thì hệ thống đèn phải bật cho tuyến đường có đông xe đi trước. Tình huống trên là do máy tính đặt ra, và nhiệm vụ của mình phải thể hiện hệ thống đèn trên cả p.cứng lẫn p.mềm nữa. Không biết đề bài như vậy có ai giải quyết được không!!??? Chủ yếu là làm sao lắp được cái mạch để mô phỏng đó các anh ! Mong sự giúp đỡ!!!!!!

hpecom
19-11-2006, 09:57 PM
Như anh Nam đã nói: Nếu bạn làm mô phỏng thì có thể làm hoàn toàn trên máy tính.
Nếu đã có phần cứng kết nối với máy tình thì gọi là mô hình rồi chứ không còn là mô phỏng nữa.
Có phải bạn muốn?:
+ Làm một mô hình ngã tư có 4 trụ đèn (Đỏ - Vàng - Xanh - Số đếm lùi).
+ Dùng vi điều khiển để điều khiển trụ và giao tiếp với máy tính.
+ Máy tính dùng để cài đặt timer
+ Máy tính có thể giám sát, thu thập dự liệu và điều khiển trạm đèn. Cái này gọi là SCADA rồi :D .
Phương pháp giải quyết: (của hpecom :D)
+ Vấn đề ít xe hay nhiều xe đến ngã tư thì bạn nên làm thật luôn cho "Xinh động" không cần phải giả từ máy tính: Đặt 1 cặp LED thu phát hồng ngoại (thực tế phải chọn giải pháp khác vì hồng ngoại chỉ phát được 12m) ở các góc ngã tư rồi dùng vật gì đó đưa qua giả như xe chạy, vi điều khiển sẽ đếm những lần cản tia hồng ngoại xem như tổng số xe.

+ Đề tài của bạn sẽ bao gồm: Định thời, Giao tiếp PC, Ngắt, quét LED, xuất port.

Với những yêu cầu như trên thì đề tài của bạn không khó, có điều hơi nhiều so với người mới bắt đầu làm điện.
Nếu bạn là người đã có giải thuật lập trình thì sẽ sớm hoàn tất đề tài thôi vì tách riêng từng phần thì đều đã có trên diễn đàn, bạn chỉ tổng hợp lại thôi.

Tôi thấy đề tài của bạn rất hay, tiếc là tôi ko có thời gian để hỗ trợ bạn.
Chúc bạn sớm hoàn tất!

haoth2
23-11-2006, 07:19 PM
Cám ơn rất nhiều. Qua nhiều lần trao đổi với các anh, em đã hiểu ra được nhiều điều. Hiện tại em đã setup thành công chương trình viết bằng C, nhưng chỉ ở giai đoạn 1, chưa mô phỏng được xe cộ! Nếu làm được chuyện đó nữa thì điểm 10 là cái chắc, he he! Còn về cái mạch thì em đã biết lắp như thế nào rùi, không quá khó như em nghĩ. Hú hồn. Xin chân thành cảm ơn các anh, em nghĩ vấn đề này nên kết thúc tại đây!

tranngocduoc
07-12-2007, 05:43 PM
nếu bạn nào cần code của chương trình đèn giao thông thì bạn hãy vào website http://thitranthinhlong.auto.to/ để lấy nhé mình đã chạy rồi.chương trình này chỉ chạy được trên TC 3.0 thôi.chúc các bạn làm bài tốt

saudo
04-03-2008, 03:15 PM
Em đang làm đề tài mô phỏng đèn tín hiệu giao thông kết nối qua LPT thui, rất nhỏ thui viết chương rình chạy qua hợp ngữ bác nào rành cái này chỉ giáo giùm em một chút. mail cho em tài liệu hay gì gì đó ng_huytoan@yahoo.com

canhhg
31-05-2008, 02:13 PM
nếu bạn nào cần code của chương trình đèn giao thông thì bạn hãy vào website http://thitranthinhlong.auto.to/ để lấy nhé mình đã chạy rồi.chương trình này chỉ chạy được trên TC 3.0 thôi.chúc các bạn làm bài tốt
---------------------------------------
Huynh co code của chương trình đèn giao thông viết bằng C và mô phỏng bằng Proteus không cho đệ với. email của đệ là canhhg@yahoo.com, cảm ơn huynh nhiều nhiều!

pictd03
01-06-2008, 11:04 PM
theo mình nghĩ thì vấn đề của bạn không cần phải dùng SCADA để thu thập dữ liệu đâu, vì SCADA chỉ nên dùng cho hệ thống lớn.Việc bạn giả lập tình huống một làn đường it xe còn làn đường kia nhiều xe thì bạn chỉ việc điều chỉnh thời gian cho các đèn thôi.Tình huống của bạn chỉ nên là giả lập tức là giả sử có xảy ra tình trạng như yêu cầu đề bài cho thôi.

pictd03
01-06-2008, 11:11 PM
PIC NGHEO ơi có làm mạch giao thông với 16F877a chưa vậy, kết nối chẳng khác gi f84 phải ko PIC NGHEO
chân 13 14 noi thạch anh
chân 11, 32 nối vcc
chân 12, 31 nối gnd
6bit portb nối led
phải không PIC NGHEO
chỉ giáo giúp nha, thanks

canhhg
07-07-2008, 04:49 PM
Các bác co code của chương trình đèn giao thông viết bằng C và mô phỏng bằng Proteus không cho em với, em mới học nên không biết phải làm như nào mông lung quá mà bài thì sắp phải nộp rồi, cảm ơn các anh nhiều!

ngoc_han1989
28-11-2008, 11:15 AM
Co ai giup em voi!thay cho em thiet ke mach den giao thong o nga tu vi bang C++ nhung em khong biet.huhu

ketxanh
28-11-2008, 12:18 PM
vậy bạn có biết nhiều về vi điều khiển không vậy? bạn đã bao giờ lập trình cho vi điều khiển bằnng c++ chưa. bạn hỏi như vậy ai ma giúp bạn được. bạn phải tim hiểu rồi có gặp vấn đề gì rồi mới hỏi chứ

buihuuthinh
22-12-2009, 08:01 PM
ai có sơ đồ mạch số mô phỏng băng proteus ko . cho minh xin một cái được ko

conangirlsv
31-03-2010, 09:50 PM
Chào các bạn! Mình đang phải làm đề tài điều khiển đèn tín hiệu giao thông bằng logic mờ.
Mô phỏng hoàn toàn trên máy tính thôi. Bạn nào có code về phần này cho mình xin với.
Nếu viết bằng C++ hoặc C# thì càng tốt. Mình cảm ơn nhiều nhiều!
Email của mình là: conangirlsv@gmail.com