Một số tập tin quan trọng của Android

Một phần của tài liệu 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 (Trang 34)

1.4.2.1 MainActivity.java

Khi một ứng dụng được tạo ra thì thông thường sẽ có một Activity để khởi chạy ứng dụng. Ở đây ta hiểu rằng MainActivity.java chính là class chứa toàn bộ source code, còn activity_main.xml chính là phần giao diện. Đối với Android khi một Activity tạo ra thì thường nó đi kèm với một Layout giao diện nào đó (tức là nó luôn được tách thành 2 phần: Phần source code riêng và phần giao diện riêng).

Đây là code mặc định của file MainActivity.java.

package com.nguyenhuy; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem;

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.Activity_main); }

@Override

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu); return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) { // as you specify a parent Activity in AndroidManifest.xml.

int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }

- R.layout.Activity_main: Trỏ đến tập tin Activity_main.xml được đặt trong

thư mục res/layout.

- Phương thức onCreate(): Là một trong số các phương thức để nạp một Activity.

1.4.2.2 AndroidManifest.xml

- Bất cứ thành phần nào được triển khai như một phần trong ứng dụng, phải được khai báo trong tập tin AndroidManifest.xml. Tệp tin này giống như một giao diện để giao tiếp giữa hệ điều hành Android và ứng dụng của bạn. Vì vậy, nếu thành phần nào bạn dùng mà không khai báo trong tập tin này, thì hệ điều hành sẽ không xem xét đến chúng.

- Đây là code mặc định củaAndroidManifest.xml.

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.nguyenhuy"

android:versionCode="1" android:versionName="1.0" >

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <Activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </Activity> </application> </manifest>

- <application>…</application>: Thẻ bao quanh các thành phần có liên quan

trong ứng dụng. Thuộc tính Android:icon sẽ trỏ đến các Icon có sẵn trong thư mục res/drawable-hdpi. Ứng dụng này sẽ sử dụng hình ic_launcher làm Icon.

- <Activity>…</Activity>: Thẻ này được sử dụng để nêu chi tiết về một

Activity. Thuộc tính android:name được sử dụng để mô tả chi tiết về tên class của một Activity. Thuộc tính android:label xác định một chuỗi ký tự được sử dụng là nhãn cho Activity đó. Nếu trong ứng dụng của bạn có nhiều Activity thì bạn sẽ phải tạo nhiều thẻ <Activity>.

- <action />: Thuộc tính Android.intent.action.main để cho Android biết rằng

- <category />: Thuộc tính Android.intent.category.launcher để cho Android biết

ứng dụng có thể được chạy từ một Icon trên thiết bị.

- @string: Sẽ được chỉ định đến file strings.xml, @string/app_name sẽ được dẫn

đến chuỗi app_name nó là HelloWord.

 Sau đây là một số thẻ khác mà chúng ta có thể sử dụng trong tập tin

AndroidManifest.xml.

- <Activity> là thẻ dành cho các Activity. - <Service> là thẻ dành cho các Services.

- <receiver> là thẻ dành cho các Broadcast Receivers. - <provider> là thẻ dành cho các Content Providers. 1.4.2.3 Strings.xml

- Strings.xml đây là tập tin được đặt trong thư mục res/values chứa tất cả các chuỗi kí tự mà ứng dụng của bạn sử dụng. Ví dụ tên của các buttons, các labels, các text mặc định bạn nên để trong tập tin này.

Code mặc định của tập tin Strings.xml:

<?xml version="1.0" encoding="utf-8"?> <resources>

<string name="app_name">NGUYENHUY</string>

<string name="hello_world">Hello world!</string>

<string name="action_settings">Settings</string> </resources>

1.4.2.4 R.java

R.java tạo ra mối liên kết giữa các tập tin Activity và các tập tin Resource (ví

dụ như giữa tập tin MainActivity.java và tập tin strings.xml). Tệp tin này được tạo ra tự động và bạn không nên thay đổi nội dung trong tệp tin này.

Sau đây là một ví dụ về nội dung của tệp tin R.java:

package com.example.radiobutton; public final class R {

}

public static final class dimen {

public static final int Activity_horizontal_margin=0x7f040000; public static final int Activity_vertical_margin=0x7f040001; }

public static final class drawable {

public static final int ic_launcher=0x7f020000; }

public static final class id {

public static final int TableLayout1=0x7f080000; public static final int action_settings=0x7f080008; public static final int rbBeDe=0x7f080005;

public static final int rbNam=0x7f080003; public static final int rbNu=0x7f080004;

public static final int rbgGioiTinh=0x7f080002; public static final int textView1=0x7f080001; public static final int tvKetQua=0x7f080007; }

public static final class layout {

public static final int Activity_main=0x7f030000; }

public static final class menu {

public static final int main=0x7f070000; }

public static final class string {

public static final int action_settings=0x7f050002; public static final int app_name=0x7f050000; public static final int hello_world=0x7f050001; }

public static final class style {

public static final int AppBaseTheme=0x7f060000; public static final int AppTheme=0x7f060001; }

}

1.4.2.5 Activity_main.xml

Activity_main.xml là một tệp tin layout nằm trong thư mục res/layout. Tệp tin

này sẽ được tham chiếu bởi ứng dụng khi tạo ra giao diện trên màn hình. Bạn sẽ phải thay đổi nội dung tệp tin này rất nhiều trong khi tạo giao diện cho ứng dụng.

Đây code mặc định của tệp tin Activity_main.xml.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/Activity_vertical_margin" android:paddingLeft="@dimen/Activity_horizontal_margin" android:paddingRight="@dimen/Activity_horizontal_margin" android:paddingTop="@dimen/Activity_vertical_margin" tools:context="com.nguyenhuy.MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> </RelativeLayout>

- RelativeLayout: Là một trong số nhiều các layout của Android.

- TextView: Là một trong nhiều thành phần của layout trong việc xây dựng giao

diện. TextView có nhiều thuộc tính như:

 android:layout_width=”wrap_content”.  android:layout_height=”wrap_content”.

1.5 Tổng quan về Led 1.5.1 Khái niệm về Led

Led (viết tắt của Light Emitting Diode,

có nghĩa là điốt phát quang) là các điốt có khả năng phát ra ánh sáng hay tia hồng ngoại, tử ngoại. Cũng giống như điốt, Led được cấu tạo từ một khối bán dẫn loại P ghép với một khối bán dẫn loại N.

Với các ưu điểm ánh sáng lớn, độ bền cao, ít tiêu tốn điện năng, Led được ứng dụng rộng rãi trên các lĩnh vực: Bảng quảng cáo ngoài trời, đồng hồ cỡ lớn đặt tại các biển quảng cáo tấm lớn trên đường cao tốc, hệ thống đèn giao thông, biển chỉ dẫn, và các sản phẩm khác như bảng chạy chữ điện tử, bảng hệ thống giờ, bảng tỷ giá, bảng chứng khoán, hệ thống xếp hàng tự động… Việc sử dụng rộng rãi thiết bị chiếu sáng bằng loại đèn này có thể giúp chúng ta tiết kiệm đuợc nhiều năng lượng.[10]

1.5.2 Lịch sử hình thành Led

Đèn Led đã có mặt từ những thập niên 60, nhưng hầu hết chỉ dùng hiển thị thời gian của đồng hồ báo thức hay dung lượng pin của máy ghi hình. Một thời gian dài, đèn Led đã không được dùng làm nguồn sáng bởi vì chúng chỉ cho ánh sáng đỏ, xanh lá cây và vàng mà không cho ánh sáng trắng.

Đến năm 1993, công ty hoá chất Nichia của Nhật Bản cho ra đời loại đèn Led xanh dương, là sự kết hợp giữa ánh sáng đỏ và xanh lá cây để là cơ sở để phát triển đèn Led cho ra ánh sáng trắng. Sự kiện này đã mở ra một lĩnh vực mới về công nghệ Led. Đèn Led dựa trên công nghệ bán dẫn ngày càng tăng về độ chiếu sáng, hiệu suất và tuổi thọ, giống như bộ vi xử lý của máy tính, phát triển ngày càng nhanh và giá thành ngày càng giảm theo thời gian.

Năm 1960: Phát minh ra đèn Led ánh sáng đỏ. Năm 1970: Phát minh ra Led 7 đoạn.

Năm 1980: Phát minh ra Led xanh lá cây.

Năm 1990: Phát minh ra Led xanh dương là cơ sở để phát triển đèn Led ánh sáng trắng.

Năm 2000: Thời điểm bùng nổ đèn Led chiếu sáng.[1]

1.5.3 Cấu tạo và nguyên lý hoạt động của đèn Led 1.5.3.1 Cấu tạo của đèn Led 1.5.3.1 Cấu tạo của đèn Led

Hình 1.8: Cấu tạo và nguyên lý hoạt động của Led.

Giống như điốt, Led được cấu tạo từ một khối bán dẫn loại P ghép với một khối bán dẫn loại N. Kích thước của các lớp bán dẫn này rất nhỏ, chỉ cỡ vài phần trăm milimet.

Vỏ bọc bên ngoài được làm bằng nhựa trong suốt hoặc có thể pha thêm chất màu tùy loại Led. Lớp vỏ này có tác dụng làm giá đỡ, bảo vệ kết cấu của đèn Led đồng thời phần chóp cầu phía trên có tác dụng hội tụ hướng ánh sáng phát ra theo một hướng với một góc mở nhất định. Led thường có một chân cực âm và một chân cực dương.

1.5.3.2 Nguyên lý hoạt động của đèn Led

Khối bán dẫn loại P chứa nhiều lỗ trống tự do mang điện tích dương nên khi ghép với khối bán dẫn N chứa các điện tử tự do thì các lỗ trống này có xu hướng chuyển động khuếch tán sang khối N. Cùng lúc khối P lại nhận thêm các điện tử (điện tích âm) từ khối N chuyển sang. Kết quả là khối P tích điện âm thiếu hụt lỗ trống và dư thừa điện tử trong khi khối N tích điện dương thiếu hụt điện tử và dư thừa lỗ trống. Ở giữa hai mặt tiếp giáp, một số điện tử bị lỗ trống thu hút và khi chúng tiến lại gần nhau, chúng có xu hướng kết hợp với nhau tạo thành các nguyên tử trung hòa.

Quá trình này có thể giải phóng năng lượng dưới dạng ánh sáng hay các bức xạ điện từ có bước sóng gần đó.

Tùy theo mức năng lượng giải phóng cao hay thấp mà bước sóng ánh sáng phát ra khác nhau tức màu sắc của Led sẽ khác nhau. Mức năng lượng và màu sắc của Led hoàn toàn phụ thuộc vào cấu trúc năng lượng của các nguyên tử chất bán dẫn.

Led thường có điện thế phân cực thuận cao hơn điốt thông thường, trong khoảng 1,5 V đến 3 V nhưng điện thế phân cực nghịch ở Led thì không cao. Do đó, Led rất dễ bị hư hỏng do điện thế ngược gây ra.[1]

 Các loại Led và điện thế phân cực thuận:

- Đỏ và vàng: 1,9 V – 2,2 V.

- Trắng, xanh lá cây, xanh dương: 3,0 V – 3,4 V.

1.5.4 Ưu nhược điểm và ứng dụng của đèn Led 1.5.4.1 Ưu nhược điểm của đèn Led 1.5.4.1 Ưu nhược điểm của đèn Led

 Ưu điểm

Tuổi thọ cao: Hiện tại đèn Led cho ánh sáng trắng có tuổi thọ lên tới 50.000 giờ sử dụng liên tục gấp 50 lần so với bóng đèn 60 W thông thường. Nếu sử dụng 10 giờ mỗi ngày, thì bóng có thể sử dụng trong 23 năm.

Lợi ích kinh tế: Đèn Led tiết kiệm 70 – 80 % năng lượng so với các loại bóng đèn thông thường.

Tốt cho thị lực của người sử dụng: Ánh sáng của đèn LED dịu mát, hiệu ứng chói mắt thấp và hoàn toàn không bị nhấp nháy như bóng đèn huỳnh quang vốn bị coi là nguyên nhân gây ra bệnh đau nửa đầu và động kinh.

Ít ảnh hưởng tới môi trường: Do phần lớn năng lượng được chuyển hóa thành quang năng, do đó hiệu ứng nhiệt của đèn Led rất thấp. Nó hoàn toàn không tỏa nhiệt ra môi trường. Các nghiên cứu khoa học cho thấy một bóng Led trung bình tỏa ra một lượng nhiệt 3,4 btu/h (tương đương với 1 W), trong khi một bóng đèn dây tóc có độ sáng tương đương tỏa ra nhiệt lượng khoảng 85 btu/h (tương đương với 25 W). Ngoài ra bóng đèn Led không chứa thủy ngân do đó sẽ ít gây hại cho môi trường hơn khi thải bỏ.

Thời gian khởi động nhanh: Không giống với bóng đèn huỳnh quang, đèn Led gần như bật sáng ngay lập tức khi được cấp điện.

Bền vững đặc biệt: Do được làm từ chất liệu nhựa cao cấp nên đèn Led có thể chịu đựng các lực va đập mạnh hoặc các ảnh hưởng bởi thời tiết như mưa, nắng,…[1]

 Nhược điểm

Chi phí sản xuất cao, lắp đặt thi công phức tạp, tốn nhiều thời gian hơn các loại bóng thông thường khác.

Tỏa nhiệt ở chân đèn, gây ảnh hưởng đến các bộ phận liền kề.

Chưa tiện dụng: Đèn Led vẫn là mặt hàng công nghệ cao phải mua từ đại lý của hãng, bộ điều khiển của hãng nào chỉ chạy với đèn Led của đúng hãng đấy mà thôi.[1]

1.5.4.2 Ứng dụng của đèn Led

Đèn Led dùng trong chiếu sáng chủ yếu sử dụng các Led phát ánh sáng trắng. Led được dùng để làm bộ phận hiển thị trong các thiết bị điện, điện tử, đèn quảng cáo, trang trí, đèn giao thông, máy chiếu bằng Led.

Nghiên cứu về các loại Led có độ sáng tương đương với bóng đèn bằng khí neon. Đèn chiếu sáng bằng Led được cho là có các ưu điểm như gọn nhẹ, bền, tiết kiệm năng lượng, tuổi thọ cao hơn so với đèn neon, đèn sợi đốt,…

Hình 1.9: Ứng dụng của đèn Led trong thực tế.

Các Led phát ra tia hồng ngoại được dùng trong các thiết bị điều khiển từ xa cho đồ điện tử dân dụng, đồ chơi trẻ em.

Ðèn Led còn được sử dụng trong nhiều lĩnh vực khác như đèn đọc, chiếu sáng bể bơi, nhất là cho chiếu sáng quảng cáo ngoài trời tại những nơi khó thay lắp, ít bị

hấp thụ bởi ánh nắng mặt trời, do có tuổi thọ cao hơn nhiều lần so với bóng đèn neon, đồng thời có nhiều màu sắc phong phú như: Đỏ, xanh lá, xanh da trời, màu hổ phách... Quảng cáo luôn là một trong các vấn đề đóng vai trò quan trọng trong sự phát triển của một công ty, doanh nghiệp hay thậm chí là của một cửa hàng. Quảng cáo tốt sẽ đem lại nhiều lợi ích to lớn. Cũng chính vì vậy mà không ngạc nhiên khi hàng năm các doanh nghiệp đã đầu tư rất nhiều vào vấn đề này. Một trong những biện pháp được ưa dùng hiện nay đó là sử dụng bảng quảng cáo bằng đèn Led, vì sự đơn giản, hiện đại, bắt mắt, chi phí hợp lý cũng như tính hiệu quả của nó. Những bảng thông tin, cổng chào hay những bảng Led quảng cáo với màu sắc sặc sỡ, bắt mắt, gây nhiều chú ý chắc hẳn đã không còn xa lạ đối với người dân, nhất là người dân đô thị.

Đèn Led thực sự là có cách đột phá mới trong công nghệ cao nói chung và trong quảng cáo nói riêng. Đó là các bảng hiệu, bảng chỉ dẫn, panel quảng cáo có sử dụng đèn Led và mạch điện tử để tạo hiệu ứng ánh sáng. Qua tìm hiểu ta thấy nhiều đặc điểm nổi bật của nó như độ bền của nó cao gấp mấy chục lần bóng đèn thường và rất ít hao điện, không gây cháy nổ, an toàn tuyệt đối, chống rung động tốt, đặc biệt là nó vẫn sáng rõ vào ban ngày. Vì vậy, có thể dùng cả những biển quảng cáo trong nhà (indoor) và ngoài trời (outdoor) cho hiệu quả cao cũng như gây sự chú ý đồng thời truyền đạt thông tin đến khách hàng và người đi đường.

Ngày nay Led còn được sử dụng để làm màn hình của tivi, latop, điện thoại và các thiết bị hiển thị khác. Ngày nay, Led còn được dùng để chiếu sang đèn đường đô thị, thay thế cho những bóng đèn cao áp.

CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG HỆ THỐNG 2.1 Tổng quát về phần cứng

2.1.1 Sơ đồ tổng quát phần cứng

Với mục đích tìm hiểu, 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 em đã xây dựng một hệ thống quang báo Led ma trận với sơ đồ khối như sau:

Hình 2.1: Sơ đồ khối tổng quát hệ thống phần cứng. 2.1.2 Chức năng của các khối

 Khối điều khiển trung tâm Atmega 32

Đây là nơi lưu giữ chương trình điều khiển chính và dữ liệu cho các mạch giải mã hàng và cột. Atmega 32 là một hệ vi xử lý 8 bit đơn chip CMOS có hiệu suất cao, công suất nguồn tiêu thụ thấp và có 32 Kbyte bộ nhớ ROM Flash xoá được/lập trình được, 2 Kbyte RAM, 1024 byte EEPROM. Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tích hợp cao.

 Khối giải mã hàng

Dùng IC 74HC138 (3 đầu vào, 8 đầu ra) để giải mã cho các hàng của bảng Led ma trận. Giải mã hàng Smartphone Android Bluetooth HC06 Khối hiển thị Led ma trận Dữ liệu hàng Dữ liệu cột Giải mã cột

Một phần của tài liệu 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 (Trang 34)