Nghiên cứu thiết kế chế tạo bộ điều khiển led ma trận bằng smartphone chạy hệ điều hành android

124 1K 0
Nghiên cứu thiết kế chế tạo bộ điều khiển led ma trận bằng smartphone chạy hệ điều hành android

Đ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

Đồ án tốt nghiệp Khoa Điện – Điện Tử LỜI CẢM ƠN Trong trình thực đề tài: “Nghiên cứu thiết kế chế tạo điều khiển Led ma trận Smartphone chạy hệ điều hành Android” em xin chân thành cảm ơn đến quý Thầy, Cô giáo môn, khoa Điện – Điện tử tận tình giảng dạy, cung cấp cho em nhiều kiến thức suốt trình học tập trường đại học Nha Trang Xin gửi lời cảm ơn sâu sắc đến Thầy giáo Nhữ Khải Hoàn trực tiếp hướng dẫn đồ án cho em Cảm ơn Thầy tận tình bảo, hướng dẫn, cung cấp tài liệu, kinh nghiệm, học quý giá tạo điều kiện thuận lợi cho em hoàn thành đồ án Em xin chân thành cảm ơn gia đình bạn bè giúp đỡ mặt tinh thần vật chất để em hoàn thành tốt đồ án Một lần em xin kính chúc quý Thầy, Cô người mạnh khỏe, hạnh phúc ngày thành công sống Xin chân thành cảm ơn! Nha Trang, tháng 06 năm 2015 Sinh viên Nguyễn Khắc Huy GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử LỜI MỞ ĐẦU  Lý chọn đề tài Ngày với phát triển mạnh khoa học – công nghệ, đời sống người ngày nâng cao rõ rệt nhờ ứng dụng thành tựu khoa học – công nghệ Nó thúc đẩy phát triển mạnh mẽ nhiều lĩnh vực có lĩnh vực Điện – Điện tử Những điện thoại thông minh Smartphone ngày cải tiến không phục vụ nhu cầu nghe, gọi, xem phim… thay chức máy tính (PC) Ưu điểm điện thoại nhỏ gọn, vi xử lý tốc độ ngày cao, nhớ lớn, tích hợp đầy đủ ứng dụng bản, kết nối không dây Bluetooth, Wifi, 3G, sử dụng nhiều liên tục… Chính vậy, Smartphone ưa chuộng thay cho máy tính phục vụ ứng dụng Hầu hết thiết bị di động tích hợp chuẩn truyền thông Bluetooth Nếu USB giúp chuẩn hóa kết nối thiết bị ngoại vi với máy tính (PC), Bluetooth coi chuẩn không dây tiêu chuẩn giúp kết nối hầu hết thiết bị phụ trợ thông qua giao tiếp không dây tai nghe, chuột, bàn phím, máy in, loa Sử dụng Bluetooth thiết bị nhúng giúp kết nối không dây dễ dàng với máy tính, điện thoại di động, máy tính bảng, laptop Từ mở nhiều ứng dụng điều khiển, giao tiếp, kết nối hệ thống nhúng thiết bị di động Trong đề tài em sử dụng Smartphone chạy hệ điều hành Android để điều khiển Led ma trận thông qua vi điều khiển AVR Bluetooth Điều khiển Led ma trận Smartphone thuận tiện việc cập nhật liệu, tiết kiệm thời gian, tính thẩm mỹ cao, không cần sử dụng máy tính  Mục tiêu đề tài • – – Thiết kế bảng quang báo Led ma trận qua Bluetooth Phải hiển thị thông tin cần thiết, Bảng quang báo Led ma trận cập nhật nội dung truyền liệu từ Smartphone chạy hệ điều hành Android qua Bluetooth • Xây dựng giao diện điều khiển Led ma trận Smartphone Android truyền liệu cho vi điều khiển thông qua mô đun Bluetooth HC-06 GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử  Đối tượng phạm vi nghiên cứu – Đối tượng nghiên cứu Nghiên cứu mô đun Led ma trận P10 màu đỏ, mô đun Bluetooth HC-06, vi điều khiển AVR, hệ điều hành Android – Phạm vi nghiên cứu Tìm hiểu, thiết kế bo mạch điều khiển Led ma trận, ứng dụng mô đun Bluetooth HC-06, mô đun Led ma trận P10 để thiết kế bảng quang báo ma trận 32 x 128 màu đỏ, hiển thị số chữ tiếng việt có dấu truyền thông qua Bluetooth  Phương pháp nghiên cứu – Phương pháp lý thuyết: Cách cấp nguồn nguyên lý hoạt động mô đun Ledma trận, kỹ thuật điều khển Led ma trận, kỹ thuật lập trình Android Phương pháp thực nghiệm: Thiết kế, chế tạo mạch điều khiển, bảng quang báo Led ma trận, xây dựng giao diện Android cho Smartphone Kết nối, chạy thử, kiểm tra, sửa chữa hoàn thiện  Nội dung nghiên cứuNghiên cứu mô đun Led ma trận, mô đun Bluetooth HC-06 – Tìm hiểu Smartphone, nghiên cứu ứng dụng hệ điều hành Android viết giao diện điều khiển Led ma trận dựa AndroidThiết kế bảng quang báo mô đun Led ma trậnThiết kế điều khiển Led ma trận – Đánh giá kết đạt phương hướng phát triển đề tài Sản phẩm không phục vụ cho đào tạo ứng dụng vào thực tiễn xã hội Vì quang báo Led phổ biến, đáp ứng nhu cầu phát triển xã hội, tính thẩm mỹ, độ bắt mắt cao, dễ dàng cập nhật nội dung, tiện ích Led mang lại  Bố cục đồ án - Chương 1: Tổng quan hệ điều hành Android Led quang báo - Chương 2: Thiết kế phần cứng hệ thống - Chương 3: Phần mềm lập trình hệ thống - Kết luận phương hướng phát triển đề tài Mặc dù nỗ lực, cố gắng trình thực đồ án với trình độ, kiến thức, kinh nghiệm thực tế hạn chế thời gian có hạn nên tránh khỏi sai sót định Do đó, em mong muốn nhận góp GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử ý, bảo quý Thầy, Cô ý kiến đóng góp bạn bè để đồ án hoàn thiện Em xin chân thành cảm ơn! GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử MỤC LỤC Hình 1.1: Mô hình kiến trúc tảng Android Hình 1.2: Vòng đời Activity 12 Hình 1.3: Sơ đồ chuyển đổi trạng thái Service 14 Hình 1.4: Chức Intent 15 Hình 1.5: Ví dụ Notification 18 Hình 1.6: Cấu trúc hình Project Android 19 Hình 1.7: Hình ảnh Led thực tế 26 Hình 1.8: Cấu tạo nguyên lý hoạt động Led .27 Hình 1.9: Ứng dụng đèn Led thực tế 29 Hình 2.1: Sơ đồ khối tổng quát hệ thống phần cứng 31 Hình 2.2: Atmega 32 loại chân cắm 33 Hình 2.3: Atmega 32 loại chân dán 33 Hình 2.4: Cấu trúc bên vi điều khiển AVR 35 Hình 2.5: Cấu trúc nhớ vi điều khiển Atmega 32 36 Hình 2.6: Thanh ghi bit vi điều khiển Atmega 32 .37 Hình 2.7: Cấu trúc ghi trạng thái AVR 38 Hình 2.8: Hình ảnh thực tế IC 74HC595 41 Hình 2.9: Sơ đồ chân IC 74HC595 41 Hình 2.10: Ghép nối tiếp IC 74HC595 43 Hình 2.11: Hình ảnh thực tế IC 74HC138 43 Hình 2.12: Sơ đồ chân IC 74HC138 43 Hình 2.13: Nguyên tắc tạo ảnh cho Led ma trận 45 Hình 2.14: Mô đun Led ma trận P10 47 Hình 2.15: Sơ đồ chân mô đun Led P10 47 Hình 2.16: Sơ đồ nguyên lý kết nối mô đun Led P10 với vi điều khiển Atmega32 48 Hình 2.17: Sơ đồ mạch in kết nối mô đun Led P10 với vi điều khiển Atmega32 48 GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử Hình 2.18: Nguyên lý đưa liệu vào IC 74HC595 Led ma trận P10 48 Hình 2.19: Nguyên lý quét mô đun Led ma trận P10 49 Hình 2.20: Hình ảnh thực tế IC 74HC254 .49 Hình 2.21: Sơ đồ chân IC 74HC254 49 Hình 2.22: Sơ đồ nguyên lý mạch điều khiển trung tâm Atmega 32 50 Hình 2.23: Sơ đồ mạch in khối điều khiển trung tâm Atmega 32 50 Hình 2.24: Mô đun Bluetooth HC06 51 Hình 2.25: Cấu trúc khung truyền phổ biến 52 Hình 2.26: Mô hình sản phẩm thực tế 53 Hình 3.1: Giao diện phần mềm Proteus 8.0 54 Hình 3.2: Giao diện phần mềm Codevision AVR V2.05.0 .55 Hình 3.3: Lựa chọn Java Platform .57 Hình 3.4: Chọn phiên JDK phù hợp với Windowns 57 Hình 3.5: Chọn Workspace cho việc phát triển ứng dụng Android .58 Hình 3.6: Giao diện Eclipse 59 Hình 3.7: Tham chiếu đến Android SDK .60 Hình 3.8: Lựa chọn gói Android SDK (API) 60 Hình 3.9: Cài đặt Android SDK Manager 61 Hình 3.10: Chọn cài đặt Android Virtual Device 61 Hình 3.11: Cài đặt thông số cho Android Virtual Device .62 Hình 3.12: Khởi động Android Virtual Device 62 Hình 3.13: Thiết lập kích thước hình cho Android Virtual Device .63 Hình 3.14: Android Virtual Device khởi tạo .63 Hình 3.15: Giao diện Smartphone Android giao tiếp với vi điều khiển 68 GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử DANH SÁCH CÁC BẢNG BIỂU Bảng 1.1: So sánh hệ điều hành Smartphone Bảng 2.1: Chức hoạt động 74HC595 41 Bảng 2.2: Bảng giá trị logic IC 74HC138 44 GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử DANH SÁCH CÁC LƯU ĐỒ Lưu đồ 3.1: Lưu đồ thuật toán tổng quát quét Led ma trận 65 Lưu đồ 3.2: Lưu đồ thuật toán quét hàng cột Led ma trận 66 Lưu đồ 3.3: Lưu đồ thuật toán dịch chữ từ trái sang phải .67 GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp Khoa Điện – Điện Tử DANH SÁCH CÁC TỪ VIẾT TẮT PC: Máy vi tính JDK: Java Development Kit OHA: Open Handset Alliance GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy Đồ án tốt nghiệp 10 Khoa Điện – Điện Tử CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROIDLED TRONG QUANG BÁO 1.1 Tổng quan hệ điều hành Android 1.1.1 Giới thiệu hệ điều hành Android Android hệ điều hành dành cho thiết bị di động điện thoại, máy tính bảng netbooks Android phát triển Google, dựa tảng Linux kernel phần mềm nguồn mở khác Ban đầu đuợc phát triển Android Inc sau Google mua lại gần trở thành phần mềm đứng đầu liên minh OHA (với khoảng 78 thành viên bao gồm nhà sản xuất, nhà phát triển ứng dụng cho thiết bị di động dẫn đầu Google).[7] Tháng 11 năm 2007, OHA – Liên minh thiết bị cầm tay mở rộng đời với thành viên Texas Instruments, Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel T-Mobile Tháng 10 năm 2008, hệ điều hành Android thức trở thành phần mềm nguồn mở Tháng 12 năm 2008, có thêm 14 thành viên gia nhập dự án Android công bố, gồm có ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, Vodafone Group Plc Andorid phát triển nhằm cạnh tranh với hệ điều hành di động khác iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia), Samsung (Bada), WebOS (Palm) Android chiếm 75% thị phần điện thoại thông minh toàn giới vào thời điểm quý năm 2012, với tổng cộng 500 triệu thiết bị kích hoạt 1,3 triệu lượt kích hoạt ngày Sự thành công hệ điều hành khiến trở thành mục tiêu vụ kiện liên quan đến phát minh, góp mặt gọi “cuộc chiến điện thoại thông minh” công ty công nghệ.[8],[9] Android có cộng đồng phát triển ứng dụng lớn, có khoảng 70.000 ứng dụng có sẵn cho Android liên tục đuợc cập nhật Ứng dụng GVHD: Th.s Nhữ Khải Hoàn SVTH: Nguyễn Khắc Huy - String bufferString = " - if(inputString.getText().toString() != "") - "; textToSend = inputString.getText().toString(); if(inputSpeed.getText().toString() != "") - speedToSend = inputSpeed.getText().toString(); - text = bufferString + textToSend + bufferString; - Toast.makeText(getBaseContext(), "Text "+textToSend, Toast.LENGTH_SHORT).show(); - length = text.length(); - m_DataEndCode = new String[length]; - Toast.makeText(getBaseContext(), "Chieu dai chuoi "+length, Toast.LENGTH_SHORT).show(); - mConnectedThread.sendDataBeginEnd("@"); - int mod = length / 255; - int div = length % 255; - Toast.makeText(getBaseContext(), "Phan nguyen "+mod, Toast.LENGTH_SHORT).show(); - Toast.makeText(getBaseContext(), "Phan du "+div, Toast.LENGTH_SHORT).show(); - mConnectedThread.sendData(String.valueOf(mod)); - mConnectedThread.sendData(String.valueOf(div)); - Toast.makeText(getBaseContext(), "speedToSend "+speedToSend, Toast.LENGTH_SHORT).show(); - mConnectedThread.sendData(speedToSend); - convertString(text); - SystemClock.sleep(1000); - for(int j = 0; j < m_DataEndCode.length; j++) - { - if(j > 15 && j < length - 16) - Toast.makeText(getBaseContext(), "ky tu thu "+j+" m_DataEndCode "+m_DataEndCode[j], Toast.LENGTH_SHORT).show(); - mConnectedThread.sendData(m_DataEndCode[j]); - } - mConnectedThread.sendDataBeginEnd("#"); - } - }); - } - public void On_Click_Thoat(View v) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setTitle("Xác nhận?"); - builder.setMessage("Bạn có muốn thoát không?"); - builder.setIcon(R.drawable.iconcancel); - builder.setPositiveButton("Có", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - Toast.makeText(getApplicationContext(), "Chương trình thoát!", Toast.LENGTH_SHORT).show(); - finish(); - } - }); - builder.setNegativeButton("Không", new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - dialog.cancel(); - } - }); - AlertDialog dialog = builder.create(); - dialog.show(); - } - public String[] convertString( String text) - { - for(int i = 0; i < length; i++) { - switch(text.charAt(i)) { - case ' ': - m_DataEndCode[i] = "52"; - break; - case 'a': - m_DataEndCode[i] = "0"; - break; - case 'b': - m_DataEndCode[i] = "2"; - break; - case 'c': - m_DataEndCode[i] = "4"; - break; - case 'd': - m_DataEndCode[i] = "6"; - break; - case 'e': m_DataEndCode[i] = "8"; - break; case 'f': - m_DataEndCode[i] = "10"; - break; - case 'g': - m_DataEndCode[i] = "12"; - break; - case 'h': - m_DataEndCode[i] = "14"; - break; - case 'i': - m_DataEndCode[i] = "16"; - break; - case 'j': - m_DataEndCode[i] = "18"; - break; - case 'k': - m_DataEndCode[i] = "20"; - break; - case 'l': - m_DataEndCode[i] = "22"; - break; - case 'm': - m_DataEndCode[i] = "24"; - break; - case 'n': m_DataEndCode[i] = "26"; - break; case 'o': - m_DataEndCode[i] = "28"; - break; - case 'p': - m_DataEndCode[i] = "30"; - break; - case 'q': - m_DataEndCode[i] = "32"; - break; - case 's': - m_DataEndCode[i] = "34"; - break; - case 'r': - m_DataEndCode[i] = "36"; - break; - case 't': - m_DataEndCode[i] = "38"; - break; - case 'u': - m_DataEndCode[i] = "40"; - break; - case 'v': - m_DataEndCode[i] = "42"; - break; - case 'w': m_DataEndCode[i] = "44"; - break; case 'x': - m_DataEndCode[i] = "46"; - break; - case 'y': - m_DataEndCode[i] = "48"; - break; - case 'z': - m_DataEndCode[i] = "50"; - break; - case 'á': - m_DataEndCode[i] = "54"; - break; - case 'à': - m_DataEndCode[i] = "56"; - break; - case 'ả': - m_DataEndCode[i] = "58"; - break; - case 'ã': - m_DataEndCode[i] = "60"; - break; - case 'ạ': - m_DataEndCode[i] = "62"; - break; - case 'â': m_DataEndCode[i] = "64"; - break; case 'ấ': - m_DataEndCode[i] = "66"; - break; - case 'ầ': - m_DataEndCode[i] = "68"; - break; - case 'ẩ': - m_DataEndCode[i] = "70"; - break; - case 'ẫ': - m_DataEndCode[i] = "72"; - break; - case 'ậ': - m_DataEndCode[i] = "74"; - break; - case 'ă': - m_DataEndCode[i] = "76"; - break; - case 'ắ': - m_DataEndCode[i] = "78"; - break; - case 'ằ': - m_DataEndCode[i] = "80"; - break; - case 'ẳ': m_DataEndCode[i] = "82"; - break; case 'ẵ': - m_DataEndCode[i] = "84"; - break; - case 'ặ': - m_DataEndCode[i] = "86"; - break; - case 'đ': - m_DataEndCode[i] = "88"; - break; - case 'é': - m_DataEndCode[i] = "90"; - break; - case 'è': - m_DataEndCode[i] = "92"; - break; - case 'ẻ': - m_DataEndCode[i] = "94"; - break; - case 'ẽ': - m_DataEndCode[i] = "96"; - break; - case 'ẹ': - m_DataEndCode[i] = "98"; - break; - … - case '4': - m_DataEndCode[i] = "216"; - break; - case '5': - m_DataEndCode[i] = "218"; - break; - case '6': - m_DataEndCode[i] = "220"; - break; - case '7': - m_DataEndCode[i] = "222"; - break; - case '8': - m_DataEndCode[i] = "224"; - break; - case '9': - m_DataEndCode[i] = "226"; - break; - case '%': - m_DataEndCode[i] = "228"; - break; - case 'ý': - m_DataEndCode[i] = "230"; - break; - default: - break; - } } - return m_DataEndCode; - } - private BluetoothSocket createBluetoothSocket(BluetoothDevice device) throws IOException { - if(Build.VERSION.SDK_INT >= 10){ - try { - final Method m = device.getClass().getMethod("createInsecureRfcommSocketToServiceRecor d", new Class[] { UUID.class }); - return (BluetoothSocket) m.invoke(device, MY_UUID); - } catch (Exception e) { - Log.e(TAG, "Could not create Insecure RFComm Connection",e); - } - } - return device.createRfcommSocketToServiceRecord(MY_UUID); - } - @Override - public void onResume() { - super.onResume(); - Log.d(TAG, " onResume - try connect "); - BluetoothDevice device = null; - Set pairedDevices = btAdapter.getBondedDevices(); - if (pairedDevices.size() > 0) { - for (BluetoothDevice devices : pairedDevices) { - device = devices; - } } - Log.d(TAG, " onResume - try connect "+device); - try { - btSocket = createBluetoothSocket(device); - } catch (IOException e) { - errorExit("Fatal Error", "In onResume() and socket create failed: " + e.getMessage() + "."); - } - btAdapter.cancelDiscovery(); - Log.d(TAG, " Connecting "); - try { - btSocket.connect(); - Log.d(TAG, " Connection ok "); - } catch (IOException e) { - try { - btSocket.close(); - } catch (IOException e2) { - errorExit("Fatal Error", "In onResume() and unable to close socket during connection failure" + e2.getMessage() + "."); - } - } - Log.d(TAG, " Create Socket "); - mConnectedThread = new ConnectedThread(btSocket); - mConnectedThread.start(); - } - @Override - public void onPause() { - super.onPause(); - Log.d(TAG, " In onPause() "); - try - { btSocket.close(); - } catch (IOException e2) { - errorExit("Fatal Error", "In onPause() and failed to close socket." + e2.getMessage() + "."); - } - } - private void checkBTState() { - if(btAdapter==null) { - errorExit("Fatal Error", "Bluetooth not support"); - } else { - if (btAdapter.isEnabled()) { - } else { - Log.d(TAG, " Bluetooth ON "); Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); - startActivityForResult(enableBtIntent, 1); - } - } - } - private void errorExit(String title, String message){ - Toast.makeText(getBaseContext(), title + " - " + message, Toast.LENGTH_LONG).show(); - finish(); - } - private class ConnectedThread extends Thread { - private final InputStream mmInStream; - private final OutputStream mmOutStream; - public ConnectedThread(BluetoothSocket socket) { - InputStream tmpIn = null; - OutputStream tmpOut = null; - try { - tmpIn = socket.getInputStream(); - tmpOut = socket.getOutputStream(); - } catch (IOException e) { } - mmInStream = tmpIn; - mmOutStream = tmpOut; - } - @Override - public void run() { - byte[] buffer = new byte[256]; - int bytes; - while (true) { - try { - bytes = mmInStream.read(buffer); h.obtainMessage(RECIEVE_MESSAGE, bytes, -1, buffer).sendToTarget(); - } catch (IOException e) { - break; - } - } - } - public void write(String message) { - Log.d(TAG, " Data to send: " + message + " "); - byte[] msgBuffer = message.getBytes(); - try { - mmOutStream.write(msgBuffer); - } catch (IOException e) { - Log.d(TAG, " Error data send: " + e.getMessage() + " "); - } - } - public void sendDataBeginEnd(String message) { - Log.d(TAG, " Data to send: " + message + " "); - byte[] msgBuffer = message.getBytes(); - try { - mmOutStream.write(msgBuffer); - } catch (IOException e) { - Log.d(TAG, " Error data send: " + e.getMessage() + " "); - } - } - public void sendData(String message) { - Log.d(TAG, " Data to send: " + message + " "); - int bodyMessage = Integer.parseInt(message); - byte msgBuffer = (byte)(bodyMessage & 0xFF); - try { - mmOutStream.write(msgBuffer); - } catch (IOException e) { - Log.d(TAG, " Error data send: " + e.getMessage() + " "); - } - } } } - ... Tìm hiểu Smartphone, nghiên cứu ứng dụng hệ điều hành Android viết giao diện điều khiển Led ma trận dựa Android – Thiết kế bảng quang báo mô đun Led ma trận – Thiết kế điều khiển Led ma trận –... bị di động Trong đề tài em sử dụng Smartphone chạy hệ điều hành Android để điều khiển Led ma trận thông qua vi điều khiển AVR Bluetooth Điều khiển Led ma trận Smartphone thuận tiện việc cập nhật... vi nghiên cứu – Đối tượng nghiên cứu Nghiên cứu mô đun Led ma trận P10 màu đỏ, mô đun Bluetooth HC-06, vi điều khiển AVR, hệ điều hành Android – Phạm vi nghiên cứu Tìm hiểu, thiết kế bo mạch điều

Ngày đăng: 28/08/2017, 16:06

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • LỜI MỞ ĐẦU

  • MỤC LỤC

  • DANH SÁCH CÁC BẢNG BIỂU

  • DANH SÁCH CÁC LƯU ĐỒ

  • DANH SÁCH CÁC TỪ VIẾT TẮT

  • CHƯƠNG 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID VÀ LED TRONG QUANG BÁO

    • 1.1 Tổng quan về hệ điều hành Android

      • 1.1.1 Giới thiệu về hệ điều hành Android

      • 1.1.2 Đặc điểm của hệ điều hành Android

      • 1.1.3 So sánh giữa các hệ điều hành Smartphone

      • 1.2 Kiến trúc hệ điều hành Android

        • 1.2.1 Lớp ứng dụng

        • 1.2.2 Lớp khung tổ chức ứng dụng

        • 1.2.3 Lớp thư viện

          • 1.2.3.1 Library

          • 1.2.3.2 Android runtime

          • 1.2.4 Lớp nhân Linux phiên bản 2.6

          • 1.3 Các thành phần của ứng dụng Android

            • 1.3.1 Activity

              • 1.3.1.1 Khái niệm Activity

              • 1.3.1.2 Vòng đời của Activity

              • 1.3.2 Service

                • 1.3.2.1 Khái niệm Service

                • 1.3.2.2 Vòng đời của một Service

                • 1.3.3 Inten

                • 1.3.4 Broadcast Receivers

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan