1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

hệ thống đếm công nhân ra vào xưởng

35 67 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Ý tưởng thực hiện+ Xây dựng giao diện điều khiển thiết bị trên WinForm sử dụng phần mền Visual Studio 2010 + Viết chương trình nhận lệnh và thực thi lệnh cho arduino + Xây dựng mạch mô phỏng thông qua phần mền Proteus+ Sử dụng vi điều khiển arduino uno để điều khiển hệ thống+ Xây dựng cơ sở dữ liệu trên SQL Sever 2008+ Viết chương trình điều khiển và lưu dữ liệu điều khiển vào SQL+ Hoàn thành hệ thốngPhần cứng sử dụngHệ thống gồm có :+ 01 Vi điều khiển arduino uno R3+ 03 Cảm biến hồng ngoại+ 01 Động cơ DC

LỜI MỞ ĐẦU Cùng với phát triển giới xu hướng hội nhập kinh tế quốc tế, đất nước ta đổi bước vào thời kì cơng nghiệp hóa, đại hóa, vừa xây dựng sở vật chất kỹ thuật, vừa phát triển kinh tế đất nước Điều địi hỏi phải nghiên cứu áp dụng dây chuyền, máy móc thiết bị tiên tiến đại, có khả tự động hóa cao để đưa cơng nghệ vào lĩnh vực sống Trong ngành khí tự động hóa đóng vai trị quan trọng trình phát triển đất nước Để đáp ứng nhu cầu to lớn việc phát triển ngành Cơ điện tử nói chung, địi hỏi phải có đội ngũ cán bộ, nhân viên kỹ thuật có khả năng, đủ lực trình độ chun mơn để kịp thời giải vấn đề liên quan đến kỹ thuật khí, điện-điện tử kỹ thuật phần mềm Từ thực tế trên, sinh viên ngành Công Nghệ Tự Động Hóa, từ kiến thức học, Em lựa chọn đề tài: “Xây dựng giao diện sở liệu cho hệ thống đếm công nhân vào xưởng ” Việc tạo hệ thống để thay người công việc vấn đề cần thiết Trong thời gian thực đề tài, em nhận giúp đỡ quý thầy cô bạn, đặc biệt hướng dẫn tận tình thầy giáo Th.s Lê Văn Chung em hồn thành đề tài cách tốt Em xin chân thành cảm ơn! Việc hoàn thành đề tài khơng tránh sai lầm thiếu sót Em mong phê bình, đánh giá thầy để em rút kinh nghiệm phát triển thêm đề tài Em xin chân thành cảm ơn! Sinh viên thực Nguyễn Hữu Mạnh TỔNG QUAN VỀ CÔNG NGHỆ THIẾT KẾ ĐỀ BÀI: Xây dựng giao diện CSDL cho hệ thống đếm công nhân vào xưởng Ý tưởng thực + Xây dựng giao diện điều khiển thiết bị WinForm sử dụng phần mền Visual Studio 2010 + Viết chương trình nhận lệnh thực thi lệnh cho arduino + Xây dựng mạch mô thông qua phần mền Proteus + Sử dụng vi điều khiển arduino uno để điều khiển hệ thống + Xây dựng sở liệu SQL Sever 2008 + Viết chương trình điều khiển lưu liệu điều khiển vào SQL + Hoàn thành hệ thống Phần cứng sử dụng Hệ thống gồm có : + 01 Vi điều khiển arduino uno R3 + 03 Cảm biến hồng ngoại + 01 Động DC Chương 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan ArduinoUno R3 1.1.1 Giới thiệu Arduino khởi động vào năm 2005 dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) Ivrea, Italy Cái tên "Arduino" đến từ quán bar Ivrea, nơi vài nhà sáng lập dự án thường xuyên gặp mặt Các thiết bị dựa tảng Arduino lập trình ngôn ngữ riêng Ngôn ngữ dựa ngôn ngữ Wiring viết cho phần cứng nói chung mơi trường phát triển tích hợp (IDE) chạy máy tính cá nhân Và Wiring lại biến thể C/C++ Một số người gọi Wiring, số khác gọi C hay C/C++ Sau tảng Wiring hoàn thành, nhà nghiên cứu làm việc với để giúp nhẹ hơn, rẻ hơn, khả dụng cộng đồng mã nguồn mở số nhà nghiên cứu David Cuarlielles, phổ biến ý tưởng Những nhà thiết kế Arduino cố gắng mang đến phương thức dễ dàng, không tốn cho người yêu thích, sinh viên giới chuyên nghiệp để tạo thiết bị có khả tương tác với môi trường thông qua cảm biến cấu chấp hành Thông tin thiết kế phần cứng cung cấp công khai để muốn tự làm mạch Arduino tay tự thực (mã nguồn mở) Người ta ước tính khoảng năm 2011 có 300 ngàn mạch Arduino thức sản xuất thương mại, vào năm 2013 có khoảng 700 ngàn mạch thức đưa tới tay người dùng Phần cứng Arduino gốc sản xuất công ty Italy tên Smart Projects Một vài board dẫn xuất từ Arduino thiết kế công ty Mỹ tên SparkFun Electronics Nhiều phiên Arduino sản xuất phù hợp cho nhiều mục đích sử dụng: Hình 2.1: Những phiên Arduino 1.1.2 Uno "Uno" có nghĩa tiếng Ý đặt tên để đánh dấu việc phát hành tới Arduino 1.0 Uno phiên 1.0 phiên tài liệu tham khảo Arduino Uno loại board Arduino, mơ hình tham chiếu cho tảng Arduino Arduino Uno “hội đồng quản trị” dựa ATmega328 Nó có 14 số chân đầu vào / đầu ra, đầu vào analog, 16 MHz cộng hưởng gốm, kết nối USB, jack cắm điện, tiêu đề ICSP, nút reset Nó chứa tất thứ cần thiết để hỗ trợ vi điều khiển; cần kết nối với máy tính cáp USB cấp điện cho để bắt đầu Hình 1.2: Arduino Uno Uno khác với tất phiên trước chỗ khơng sử dụng FTDI chip điều khiển USB-to-serial Thay vào đó, có tính Atmega 16U2 lập trình cơng cụ chuyển đổi USB-to-serial Phiên (R2) Uno sử dụng Atmega8U2 có điện trở kéo dòng 8U2 HWB xuống đất, làm cho dễ dàng để đưa vào chế độ DFU Phiên (R3) Uno có tính sau đây:  Thêm SDA SCL gần với pin Aref hai chân đặt gần với pin RESET, IOREF cho phép thích ứng với điện áp cung cấp  Đặt lại mạch khỏe mạnh  Atmega 16U2 thay 8U2 1.1.3 Cấu trúc, thông số Bảng 1.1: Một vài thông số Arduino UNO R3 a Vi điều khiển & nhớ Arduino UNO sử dụng vi điều khiển họ 8bit AVR ATmega8, ATmega168, ATmega328 Bộ não xử lí tác vụ đơn giản điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm trạm đo nhiệt độ - độ ẩm hiển thị lên hình LCD,… Hình 1.3: Vi điều khiển Atmega328 tiêu chuẩn 32KB nhớ Flash: đoạn lệnh lập trình lưu trữ nhớ Flash vi điều khiển Thường có khoảng vài KB số dùng cho bootloader đừng lo, cần 20KB nhớ 2KB cho SRAM (Static Random Access Memory): giá trị biến khai báo lập trình lưu Khai báo nhiều biến cần nhiều nhớ RAM Tuy vậy, thực nhớ RAM lại trở thành thứ phải bận tâm Khi điện, liệu SRAM bị 1Kb cho EEPROM (Electrically Eraseble Programmable Read Only Memory): giống ổ cứng mini – nơi đọc ghi liệu vào mà lo bị cúp điện giống liệu SRAM b Cấu tạo Hình 1.4: Arduino đời đầu Một board Arduino đời đầu gồm cổng giao tiếp RS-232 (góc phía trênbên trái) chip Atmel ATmega8 (màu đen, nằm góc phải-phía dưới); 14 chân I/O số nằm phía chân analog đầu vào phía đáy Board Arduino đưa hầu hết chân I/O vi điều khiển để sử dụng cho mạch Diecimila, Duemilanove, Uno đưa 14 chân I/O kỹ thuật số, số tạo xung PWM (điều chế độ rộng xung) chân input analog, sử dụng chân I/O số Những chân thiết kế nằm phía mặt board, thơng qua header 0.10-inch (2.5 mm) Các board Arduino Nano, Arduino-compatible Bare Bones Board Boarduino cung cấp chân header đực mặt board dùng để cắm vào breadboard Chiều dài tối đa chiều rộng Uno PCB 2,7 2,1 inch tương ứng, với kết nối USB jack điện mở rộng vượt ngồi khơng gian cũ Bốn lỗ vít cho phép gắn vào bề mặt khác: Hình 1.5: Các lỗ vít giúp cố định vị trí Arduino c Vị trí & chức chân Nếu khơng có sẵn nguồn từ cổng USB, cấp nguồn cho Arduino UNO từ chuyển đổi AC→DC pin Các chuyển đổi kết nối plug-2.1mm trung tâm tích cực vào jack cắm điện Trường hợp cấp nguồn ngưỡng làm hỏng Arduino UNO Các chân lượng:  GND (Ground): cực âm nguồn điện cấp cho Arduino UNO Khi dùng thiết bị sử dụng nguồn điện riêng biệt chân phải nối với  5V: cấp điện áp 5V đầu Dòng tối đa cho phép chân 500mA  3.3V: cấp điện áp 3.3V đầu Dòng tối đa chân 50mA  Vin (Voltage Input): để cấp nguồn cho Arduino UNO, ta nối cực dương nguồn với chân cực âm với chân GND  IOREF: điện áp hoạt động vi điều khiển Arduino UNO đo chân Và dĩ nhiên ln 5V Mặc dù không lấy nguồn 5V từ chân để sử dụng chức khơng phải cấp nguồn  RESET: việc nhấn nút Reset board để reset vi điều khiển tương đương với việc chân RESET nối với GND qua điện trở 10KΩ Các chân Input/Output: Hình 1.6: Các ngõ vào/ngõ Arduino Arduino UNO có 14 chân digital dùng để đọc xuất tín hiệu Chúng có mức điện áp 0V 5V với dòng tối đa chân 40mA Một số chân digital có chức đặc biệt sau:  chân Serial: (RX) (TX): dùng để gửi (transmit – TX) nhận (receive – RX) liệu TTL Serial Arduino Uno giao tiếp với thiết bị khác thơng qua chân Kết nối bluetooth thường thấy nói nơm na kết nối Serial khơng dây Nếu không cần giao tiếp Serial, không nên sử dụng chân không cần thiết  Chân PWM (~): 3, 5, 6, 9, 10, 11: cho phép bạn xuất xung PWM với độ phân giải 8bit (giá trị từ → 28 -1 tương ứng với 0V → 5V) hàm analogWrite() Nói cách đơn giản, điều chỉnh điện áp chân từ mức 0V đến 5V thay cố định mức 0V 5V chân khác  Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngồi chức thơng thường, chân dùng để truyền phát liệu giao thức SPI với thiết bị khác  LED 13: Arduino UNO có đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, ta thấy đèn nhấp nháy để báo hiệu Nó nối với chân số 13 Khi chân người dùng sử dụng, LED sáng Arduino UNO có chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210 -1) để đọc giá trị điện áp khoảng 0V → 5V Với chân AREF board, ta để đưa vào điện áp tham chiếu sử dụng chân analog Tức cấp điện áp 2.5V vào chân ta dùng chân analog để đo điện áp khoảng từ 0V → 2.5V với độ phân giải 10bit Đặc biệt, Arduino UNO có chân A4 (SDA) A5 (SCL) hỗ trợ giao tiếp I2C/TWI với thiết bị khác d Extension shield Góc hoạt động: 35° Khoảng cách phát hiện: ~ 30 cm LED báo nguồn LED báo tín hiệu ngõ Mức logic ngõ ra: Mức thấp - 0V: có vật cản Mức cao - 5V: khơng có vật cản Kích thước: 3.2cm x 1.4cm Hình 1.9 Cảm biến hồng ngoại Chương 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 2.1 Mô tả hệ thống 2.2 Sơ đồ khối hệ thống Khối Nguồn Khối Cảm Biến Khối Xử Lý Trung Tâm Khối Chấp hành Kết Nối Máy Tính Sơ đồ khối hệ thống 2.3 Chức khối: a.Khối nguồn Gồm linh kiện tác động đến cơng suất, dịng điện (adapter, module nguồn ) cung cấp lượng thích hợp cho mơ hình hệ thống b Khối cảm biến Là cảm biến hồng ngoại: phát vật thể truyền tín hiệu khối xử lý để mã hóa liệu Các cảm biến Hồng ngoại c Khối xử lý trung tâm Gồm Arduino Uno R3: : xử lý tín hiệu từ cảm biến xuất liệu mã hóa đến khối hiển thị, khối phân loại Hình ảnh Arduino Uno R3 d Khối chấp hành Là khối nhận tín hiệu điều khiển từ arduino thực yêu cầu e Máy tính - Nhận liệu mã thẻ gửi lên từ arduino,phân tích xử lí liệu sau lưu vào sở liệu - Nhận lệnh điều khiển từ người quản lí, xử lí lệnh điều khiển thực mã hóa liệu gửi lệnh điều khiển xuống cho khối xử lí trung tâm 2.4 Phân tích, thiết kế sơ đồ nguyên lý hệ thống Phân tích Khối nguồn mạch 220-5V Các phần mềm thiết kế a Arduino Arduino môi trường phát triển tích hợp mã nguồn mở, cho phép người dùng dễ dàng viết code tải lên board mạch, viết Java dựa ngơn ngữ lập trình phần mềm mã nguồn mở khác Phần mềm Arduino Kể từ tháng năm 2015, Arduino IDE (Intergrated Devalopment Editor – mơi trường phát triển thích hợp) phổ biến nhiều nơi với giao diện trực quan Ngôn ngữ phổ quát cho Arduino C C++ Do phần mềm phù hợp với người dùng quen thuộc ngôn ngữ Phần mềm gồm mảng thư viện phong phú như: EEPROM, Firmata, GSM, Servo, TFT, Wifi,… Và mảng thư viện ngày đa dạng nhờ đóng góp cộng đồng Arduino toàn giới b Proteus 7.10 Phần mền Proteus 7.10 Proteus phần mềm cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trình điều khiển cho họ vi điều khiển MCS-51, PIC, AVR, … Proteus phần mềm mô mạch điện tử Lancenter Electronics, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola Phần mềm bao gồm chương trình: ISIS cho phép mơ mạch ARES dùng để vẽ mạch in Proteus công cụ mô cho loại Vi Điều Khiển tốt, hỗ trợ dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 giao tiếp I2C, SPI, CAN, USB, Ethenet, ngịai cịn mơ mạch số, mạch tương tự cách hiệu Proteus công cụ chuyên mô mạch điện tử c Microsoft Visual Studio Microsoft Visual Studio môi trường phát triển tích hợp từ Microsoft Nó sử dụng để phát triển chương trình máy tính cho Microsoft Windows, trang web, ứng dụng web dịch vụ web Visual Studio sử dụng tảng phát triển phần mềm Microsoft Windows API, Windows Forms, Windows Presentation Foundation, Windows Store Microsoft Silverlight Nó sản xuất hai ngơn ngữ máy mã số quản lý Visual Studio bao gồm trình soạn thảo mã hỗ trợ IntelliSense cải tiến mã nguồn Trình gỡ lỗi tích hợp hoạt động trình gỡ lỗi mức độ mã nguồn gỡ lỗi mức độ máy Cơng cụ tích hợp khác bao gồm mẫu thiết kế hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp thiết kế giản đồ sở liệu Nó chấp nhận plug-in nâng cao chức hầu hết cấp bao gồm thêm hỗ trợ cho hệ thống quản lý phiên (như Subversion) bổ sung thêm công cụ biên tập thiết kế trực quan cho miền ngôn ngữ cụ thể cơng cụ dành cho khía cạnh khác quy trình phát triển phần mềm Visual studio 2013 Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác cho phép trình biên tập mã gỡ lỗi để hỗ trợ (mức độ khác nhau) ngơn ngữ lập trình Các ngơn ngữ tích hợp gồm có C,[1] C++ C++/CLI (thơng qua Visual C++), VB.NET (thông qua Visual Basic.NET), C thăng (thông qua Visual C#) F thăng (như Visual Studio 2010[2]) Hỗ trợ cho ngôn ngữ khác J++/J thăng, Python Ruby thông qua dịch vụ cài đặt riêng rẽ Nó hỗ trợ XML/XSLT, HTML/XHTML, JavaScript CSS Giao diện làm việc d Microsoft access: Microsoft Access hệ thống quản lý sở liệu hệ quản trị sở liệu quan hệ (tiếng Anh: relational database management system, viết tắt RDBMS) với khả giúp phát triển nhanh giải pháp lưu trữ quản lý thông tin (RAD – Rapid Application Development) Với Access, phát triển hệ thống quản trị thông tin dành cho doanh nghiệp vừa nhỏ nhanh chóng, chí Access cịn giúp cho việc quản trị liệu số mảng doanh nghiệp lớn ví dụ như: quản lý thơng tin đầu mối khách hàng, hội bán hàng, trạng thái khách hàng, thông tin đặt hàng thông tin sản phẩm v.v Access cho khả phát triển giao diện người dùng mức đơn giản để tiến hành nhập liệu lưu vào bảng (table) – nơi lưu trữ thông tin Access Giao diện làm việc Mạch nguyên lý Sơ đồ nguyên lý Proteus Nguyên lý hoạt động: Ở trạng thái bình trường, cảm biến cảm biến hồng ngoại cấp xung mức cao cho xử lý trung tâm Với xung mức cao, thông qua code lập trình, Arduino Uno R3 trì trạng Khi tác động đối tượng, dòng điện qua trở treo thông qua cảm biến cảm biến hồng ngoại tới GND Lúc này, xung mức thấp cấp cho Arduino Uno R3 Dữ liệu xử lý đưa LCD để hiển thị 2.5 Thiết kế giao diện Hình ảnh giao diện Hệ thống tơi cần: - Lable - ComboBox - button - TextBox - DateTimePicker - DataGridView 2.6Lưu đồ thuật toán giao diện phần mền thiết kế : Bắt Đầu Chọn Cổng Com,buad,data,stop Paraty Connect Disconnect Sai Nhận liệu Đúng Dữ Liệu có giao diện Thêm liệu vào giao diện Đúng Xóa liệu khổi bảng giao diện thêm vào sở liệu Disconnect Kết thúc Lưu đồ thuật toán cho hệ thống đếm Bắt đầu Chạy Chương Trình Cảm biến1 =1 Số Lượng +1 Hiển Thị Dữ liệu máy tính OFF Code – Chương trình Arduino #include #define sensor1 LiquidCrystal LCD(7,8,9,10,11,12); int soluong =0; int sensor1Status; void setup() { Serial.begin(9600); LCD.begin(16,2); pinMode(sensor1, INPUT); } void loop() { LCD.setCursor(0,0); LCD.print("soluong"); sensor1Status = digitalRead(sensor1); { if(sensor1Status==0) { soluong=soluong+1; { LCD.setCursor(1,2); LCD.print(soluong); Serial.print("@"); Serial.print(soluong); Serial.println("#"); Serial.println(""); Serial.write(soluong); delay(500); int value = soluong; Serial.print(value); delay(200); } } } } Visual 2013 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.IO.Ports; namespace dem { public partial class Form1 : Form { public Form1() { InitializeComponent(); string[] ports = SerialPort.GetPortNames(); cbocom.DataSource = ports; } public void LoadData() { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = new OleDbConnection(dem.Properties.Resources.Conn); cmd.CommandText = "select * from tbldem"; cmd.Connection.Open(); OleDbDataReader res; res = cmd.ExecuteReader(); demDataSet.tbldem.Load(res); cmd.Connection.Close(); dgv1.Refresh(); // dgv1.DataBindings } private void Form1_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'demDataSet.tbldem' table You can move, or remove it, as needed //this.tbldemTableAdapter.Fill(this.demDataSet.tbldem); LoadData(); } private void btnthem_Click(object sender, System.EventArgs e) { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = new OleDbConnection(dem.Properties.Resources.Conn); cmd.CommandText = "insert into tbldem(soluong,thoigian) values( " + Convert.ToInt16(txtsoluong.Text) + "," + "'" + dtpic.Value + "'" + ")"; cmd.Connection.Open(); cmd.ExecuteScalar(); cmd.Connection.Close(); LoadData(); } private void btnxoa_Click(object sender, System.EventArgs e) { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = new OleDbConnection(dem.Properties.Resources.Conn); cmd.CommandText = "delete * from tbldem where soluong =" + Convert.ToInt16(txtsoluong.Text); cmd.Connection.Open(); cmd.ExecuteNonQuery(); cmd.Connection.Close(); LoadData(); } private void timer1_Tick(object sender, EventArgs e) { } private void btnconnect_Click(object sender, EventArgs e) { serialPort1.PortName = cbocom.Text; serialPort1.Open(); System.Threading.Thread.Sleep(200); string s = serialPort1.ReadExisting(); txtsoluong.Text = s; } private void btndisconnect_Click(object sender, EventArgs e) { } private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { string data = serialPort1.ReadExisting(); Invoke(new MethodInvoker(() => txtsoluong.Text = data)); } } } ...Sinh viên thực Nguyễn Hữu Mạnh TỔNG QUAN VỀ CÔNG NGHỆ THIẾT KẾ ĐỀ BÀI: Xây dựng giao diện CSDL cho hệ thống đếm công nhân vào xưởng Ý tưởng thực + Xây dựng giao diện điều khiển thiết... arduino uno để điều khiển hệ thống + Xây dựng sở liệu SQL Sever 2008 + Viết chương trình điều khiển lưu liệu điều khiển vào SQL + Hoàn thành hệ thống Phần cứng sử dụng Hệ thống gồm có : + 01 Vi... ngõ ra: Mức thấp - 0V: có vật cản Mức cao - 5V: khơng có vật cản Kích thước: 3.2cm x 1.4cm Hình 1.9 Cảm biến hồng ngoại Chương 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 2.1 Mô tả hệ thống 2.2 Sơ đồ khối hệ

Ngày đăng: 21/12/2020, 21:55

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    Bước 1: Kết nối Arduino UNO R3 vào máy tính

    Bước 2: Tìm cổng kết nối của Arduino Uno R3 với máy tính

    Bước 3: Khởi động Arduino IDE

    Bước 4: Cấu hình phiên làm việc cho Arduino IDE

    Bước 5: Mở và nạp mã nguồn chương trình mẫu

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w