Đồ án tốt nghiệp bãi đỗ xe thông minh ( ĐHBK Đà Nẵng) 2020 kèm code chi tiết......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN TÓM TẮT Tên đề tài: Bãi đỗ xe thông minh Sinh viên thực hiện: Trần Anh Linh Hồ Minh Nhựt Đặng Văn Lâm Lớp: 14D1 Nội dung: Thiết kế bãi đỗ xe ô tô thông minh dạng xoay vòng đứng Đây dạng bãi đỗ xe tiện lợi, tiết kiệm diện tích, thường xây dựng bên tòa nhà văn phòng, cơng ty Nhóm đồ án thực arduino Người dùng gửi lấy xe trực tiếp thông qua thẻ từ thơng qua app SmartParking mà nhóm tự viết ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc KHOA ĐIỆN NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Trần Anh Linh Số thẻ sinh viên: 1051501321 Hồ Minh Nhựt Số thẻ sinh viên: 105150112 Đặng Văn Lâm Số thẻ sinh viên: 1051503213 Lớp: 14D1 Khoa: Điện Ngành: Kĩ thuật điện - điện tử Tên đề tài đồ án: Bãi đỗ xe thông minh Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: …………………………………… …………………………………………… …… Nội dung phần thuyết minh tính tốn: Chương 1: Tổng quan bãi đỗ xe ô tô thông minh Chương 2: Thiết kế phần khí Chương 3: Thiết kế hệ thống điều khiển Chương 4: Kết luận Các vẽ, đồ thị ( ghi rõ loại kích thước vẽ ): … ……………………………………………………………………………………… … ……………………………………………………………………………………… Họ tên người hướng dẫn: TS Phan Văn Hiền KS Trần Anh Tuấn Ngày giao nhiệm vụ đồ án: …06… /…09…./2019 Ngày hoàn thành đồ án: …08… /…12…./2019 Đà Nẵng, ngày 16 tháng 12 năm 2019 Người hướng dẫn LỜI CẢM ƠN Em xin chân thành cảm ơn tất thầy cô môn Điện công nghiệp, khoa điện, tận tình dìu dắt, giúp đỡ em suốt trình học tập trường Đại học Bách Khoa Đà Nẵng Xin cảm ơn thầy cô trực tiếp dạy bảo giúp đỡ trình thực đồ án tốt nghiệp Đặc biệt em xin trân trọng cảm ơn thầy Phan Văn Hiền thầy Trần Anh Tuấn tận tình hướng dẫn truyền đạt nhiều ý kiến thiết thực suốt trình thực đồ án Những kinh nghiệm quý báu mà thầy truyền đạt hành trang vững giúp em tự tin nghề nghiệp sau Mặc dù có nhiều cố gắng với kiến thức hạn hẹp thời gian tiếp xúc với thực tế chưa nhiều, đồ án khơng thể tránh khỏi nhiều thiếu sót Em mong có ý kiến đóng góp chân thành thầy đồ án tốt nghiệp hoàn chỉnh Em xin chân thành cảm ơn! Đà Nẵng, ngày 16 tháng 12 năm 2019 CAM ĐOAN Tôi xin cam đoan đồ án tốt nghiệp “Bãi đỗ xe thông minh” cơng trình nghiên cứu nhóm thực Những phần sử dụng tài liệu tham khảo đồ án nêu rõ phần tài liệu tham khảo Các số liệu, kết trình bày đồ án hồn tồn trung thực, sai tơi xin chịu hoàn toàn trách nhiệm chịu kỷ luật môn nhà trường đề Đà Nẵng, ngày 16 tháng 12 năm 2019 MỤC LỤC TÓM TẮT NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP LỜI CẢM ƠN i CAM ĐOAN ii MỤC LỤC iii DANH SÁCH CÁC BẢNG, HÌNH VẼ .vi MỞ ĐẦU Chương 1: TỔNG QUAN VỀ BÃI ĐỖ XE Ô TÔ TỰ ĐỘNG 1.1 Đặt vấn đề 1.1.1 Bài toán bãi đỗ xe việt nam 1.1.2 Ưu nhược điểm bãi đỗ xe ô tô tự động 1.1.2.1 Ưu điểm .4 1.1.2.2 Nhược điểm 1.2 Các bãi đỗ xe tự động giới 1.2.1 Đỗ xe tự động dùng thang máy (car lift) 1.2.2 Đỗ xe tự động dạng xếp hình .7 1.2.3 Đỗ xe tự động hệ thống xoay vòng đứng 1.2.4 Đỗ xe tự động hệ thống cycle parking 1.2.5 Đỗ xe tự động hệ thống xoay vòng ngang 1.2.6 Đỗ xe tự động hệ thống tháp xe (sky parking system) 10 1.2.7 Đỗ xe tự động hệ thống thang nâng di chuyển 10 1.2.8 Đỗ xe tự động hệ thống tầng di chuyển (plane-shuttle, super parking, flat-bi) 12 1.3 Giới thiệu bãi đỗ xe cần thiết kế 13 Chương 2: THIẾT KẾ PHẦN CƠ KHÍ BÃI ĐỖ XE TỰ ĐỘNG .15 2.1 Giới thiệu sơ 15 2.2 Hình ảnh chi tiết 15 Chương 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN BÃI ĐỖ XE TỰ ĐỘNG 19 3.1 Sơ đồ thuật toán 19 3.2 Tổng quan giải pháp cho hệ thống 24 3.2.1 Tổng quan vấn đề đặt .24 3.2.2 Giải pháp đưa 24 3.3 Lựa chọn linh kiện .30 3.3.1 Arduino UNO R3 30 3.3.2 Động bước 31 3.3.3 Driver step motor a4988 32 3.3.4 Cảm biến phát chuyển động sr505 32 3.3.5 Màn hình LCD 1602 i2c 33 3.3.6 Wifi ESP8266 NodeMCU 34 3.3.7 Module RFID RC522 35 3.4 Sơ đồ tổng quan thiết kế 37 3.5 Kết nối thiết bị .38 3.5.1 Kết nối modul đọc thẻ rfid-rc522 với Arduino 38 3.5.2 Kết nối động bước với a4988 arduino 39 3.5.3 Kết nối Wifi ESP8266 NodeMCU 39 3.5.4 Kết nối cảm biến sr505, rơle Arduino UNO R3 .39 3.5.5 Kết nối hình, i2c arduino 40 3.6 Mô tả hoạt động 40 3.6.1 Hoạt động 40 3.6.2 Hệ thống bảo vệ an toàn vận hành 41 Chương 4: ĐÁNH GIÁ ƯU NHƯỢC ĐIỂM VÀ KẾT LUẬN 42 4.1 Ưu điểm .42 4.2 Nhược điểm 45 4.3 Kết luận .45 4.3.1 Một số hình ảnh app SmartParking 46 4.3.2 Một số hình ảnh kết 49 4.3.3 Kết luận 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC 56 I Chương trình điều khiển cho Arduino 56 II Chương trình điều khiển Wifi ESP8266 NodeMCU 68 III Chương trình Android 76 IV Một số hình ảnh nối dây 93 DANH SÁCH CÁC BẢNG, HÌNH VẼ Bảng 3.1 Kết nối modul đọc thẻ RFID-RC522 với Arduino Bảng 3.2 Kết nối động bước với a4988 arduino Bảng 3.3 Kết nối Wifi ESP8266 NodeMCU Bảng 3.4 Kết nối cảm biến sr505, rơle Arduino UNO R3 Bảng 3.5 Kết nối hình, I2C Arduino Hình 1.1 Đỗ xe tự động dùng thang máy (car lift) Hình 1.2 Đỗ xe tự động dạng xếp hình Hình 1.3 Đỗ xe tự động hệ thống xoay vịng đứng Hình 1.4 Hệ thống xoay vịng tầng Hình 1.5 Hệ thống xoay vịng ngang Hình 1.6 Hệ thống tháp xe Hình 1.7 Hệ thống thang nâng di chuyển Hình 1.8 Hệ thống tầng di chuyển (Plane-shuttle, Super parking, Flat-bi) Hình 3.1 Sơ đồ tổng quang thiết kế Hình 4.1 Login Activity Hình 4.2 Register Activity Hình 4.3 Control Activity Hình 4.4 Giao diện Android Hình 4.5 Mơ hình Hình 4.6 Mạch thiết kế Hình 4.7 LCD Hình 4.8 Chng báo Hình 4.9 Arduino Hình 4.10 Module RFID RC522 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.TextView; import android.widget.Toast; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.database.ChildEventListener; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener; public class ControlActivity extends AppCompatActivity { private DatabaseReference mDatabase; Button checkBoxSlot1, checkBoxSlot2, checkBoxSlot3, checkBoxSlot4, checkBoxSlot5, checkBoxSlot6; TextView txtUserEmail; FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_control); AnhXa(); mDatabase = FirebaseDatabase.getInstance().getReference(); String email = user.getEmail(); txtUserEmail.setText(email); checkBoxSlot1.setOnClickListener(new View.OnClickListener() { @Override SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 82 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH public void onClick(View v) { mDatabase.child("Slot1").child("Status").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull final DataSnapshot dataSnapshot1) { mDatabase.child("Slot1").child("UID").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot2) { String CheckUID1 = dataSnapshot2.getValue().toString(); if(dataSnapshot1.getValue().toString().equals("0")){ mDatabase.child("Slot1").child("Status").setValue("1"); mDatabase.child("Slot1").child("UID").setValue(user.getUid()); Toast.makeText(ControlActivity.this, "Gửi xe thành công !", Toast.LENGTH_SHORT).show(); } else { if(CheckUID1.equals(user.getUid())) { mDatabase.child("Slot1").child("Status").setValue("0"); mDatabase.child("Slot1").child("UID").setValue("0"); Toast.makeText(ControlActivity.this, "Lấy xe thành công !", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ControlActivity.this, "Đây xe bạn !!!", Toast.LENGTH_SHORT).show(); } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 83 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH } }); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } }); checkBoxSlot2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDatabase.child("Slot2").child("Status").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull final DataSnapshot dataSnapshot21) { mDatabase.child("Slot2").child("UID").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot22) { String CheckUID21 = dataSnapshot22.getValue().toString(); if(dataSnapshot21.getValue().toString().equals("0")){ mDatabase.child("Slot2").child("Status").setValue("1"); mDatabase.child("Slot2").child("UID").setValue(user.getUid()); Toast.makeText(ControlActivity.this, "Gửi xe thành công !", Toast.LENGTH_SHORT).show(); } else { if(CheckUID21.equals(user.getUid())) { mDatabase.child("Slot2").child("Status").setValue("0"); SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 84 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH mDatabase.child("Slot2").child("UID").setValue("0"); Toast.makeText(ControlActivity.this, "Lấy xe thành công !", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ControlActivity.this, "Đây xe bạn !!!", Toast.LENGTH_SHORT).show(); } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } }); checkBoxSlot3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDatabase.child("Slot3").child("Status").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull final DataSnapshot dataSnapshot31) { mDatabase.child("Slot3").child("UID").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot32) { SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 85 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH String CheckUID31 = dataSnapshot32.getValue().toString(); if(dataSnapshot31.getValue().toString().equals("0")){ mDatabase.child("Slot3").child("Status").setValue("1"); mDatabase.child("Slot3").child("UID").setValue(user.getUid()); Toast.makeText(ControlActivity.this, "Gửi xe thành công !", Toast.LENGTH_SHORT).show(); } else { if(CheckUID31.equals(user.getUid())) { mDatabase.child("Slot3").child("Status").setValue("0"); mDatabase.child("Slot3").child("UID").setValue("0"); Toast.makeText(ControlActivity.this, "Lấy xe thành công !", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ControlActivity.this, "Đây xe bạn !!!", Toast.LENGTH_SHORT).show(); } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } }); checkBoxSlot4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 86 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH mDatabase.child("Slot4").child("Status").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull final DataSnapshot dataSnapshot41) { mDatabase.child("Slot4").child("UID").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot42) { String CheckUID41 = dataSnapshot42.getValue().toString(); if(dataSnapshot41.getValue().toString().equals("0")){ mDatabase.child("Slot4").child("Status").setValue("1"); mDatabase.child("Slot4").child("UID").setValue(user.getUid()); Toast.makeText(ControlActivity.this, "Gửi xe thành công !", Toast.LENGTH_SHORT).show(); } else { if(CheckUID41.equals(user.getUid())) { mDatabase.child("Slot4").child("Status").setValue("0"); mDatabase.child("Slot4").child("UID").setValue("0"); Toast.makeText(ControlActivity.this, "Lấy xe thành công !", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ControlActivity.this, "Đây xe bạn !!!", Toast.LENGTH_SHORT).show(); } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 87 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH }); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } }); checkBoxSlot5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDatabase.child("Slot5").child("Status").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull final DataSnapshot dataSnapshot51) { mDatabase.child("Slot5").child("UID").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot52) { String CheckUID51 = dataSnapshot52.getValue().toString(); if(dataSnapshot51.getValue().toString().equals("0")){ mDatabase.child("Slot5").child("Status").setValue("1"); mDatabase.child("Slot5").child("UID").setValue(user.getUid()); Toast.makeText(ControlActivity.this, "Gửi xe thành công !", Toast.LENGTH_SHORT).show(); } else { if(CheckUID51.equals(user.getUid())) { mDatabase.child("Slot5").child("Status").setValue("0"); mDatabase.child("Slot5").child("UID").setValue("0"); SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 88 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH Toast.makeText(ControlActivity.this, "Lấy xe thành công !", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ControlActivity.this, "Đây xe bạn !!!", Toast.LENGTH_SHORT).show(); } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } }); checkBoxSlot6.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDatabase.child("Slot6").child("Status").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull final DataSnapshot dataSnapshot61) { mDatabase.child("Slot6").child("UID").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot62) { String CheckUID61 = dataSnapshot62.getValue().toString(); SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 89 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH if(dataSnapshot61.getValue().toString().equals("0")){ mDatabase.child("Slot6").child("Status").setValue("1"); mDatabase.child("Slot6").child("UID").setValue(user.getUid()); Toast.makeText(ControlActivity.this, "Gửi xe thành công !", Toast.LENGTH_SHORT).show(); } else { if(CheckUID61.equals(user.getUid())) { mDatabase.child("Slot6").child("Status").setValue("0"); mDatabase.child("Slot6").child("UID").setValue("0"); Toast.makeText(ControlActivity.this, "Lấy xe thành công !", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(ControlActivity.this, "Đây xe bạn !!!", Toast.LENGTH_SHORT).show(); } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } }); mDatabase.child("Slot1").child("Status").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 90 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH if(dataSnapshot.getValue().toString().equals("1")){ checkBoxSlot1.setBackgroundColor(Color.rgb(255,0,0)); } if(dataSnapshot.getValue().toString().equals("0")){ checkBoxSlot1.setBackgroundColor(Color.rgb(0,255,0)); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); mDatabase.child("Slot2").child("Status").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if(dataSnapshot.getValue().toString().equals("1")){ checkBoxSlot2.setBackgroundColor(Color.rgb(255,0,0)); } if(dataSnapshot.getValue().toString().equals("0")){ checkBoxSlot2.setBackgroundColor(Color.rgb(0,255,0)); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); mDatabase.child("Slot3").child("Status").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if(dataSnapshot.getValue().toString().equals("1")){ checkBoxSlot3.setBackgroundColor(Color.rgb(255,0,0)); } if(dataSnapshot.getValue().toString().equals("0")){ checkBoxSlot3.setBackgroundColor(Color.rgb(0,255,0)); SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 91 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); mDatabase.child("Slot4").child("Status").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if(dataSnapshot.getValue().toString().equals("1")){ checkBoxSlot4.setBackgroundColor(Color.rgb(255,0,0)); } if(dataSnapshot.getValue().toString().equals("0")){ checkBoxSlot4.setBackgroundColor(Color.rgb(0,255,0)); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); mDatabase.child("Slot5").child("Status").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if(dataSnapshot.getValue().toString().equals("1")){ checkBoxSlot5.setBackgroundColor(Color.rgb(255,0,0)); } if(dataSnapshot.getValue().toString().equals("0")){ checkBoxSlot5.setBackgroundColor(Color.rgb(0,255,0)); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); mDatabase.child("Slot6").child("Status").addValueEventListener(new SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 92 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if(dataSnapshot.getValue().toString().equals("1")){ checkBoxSlot6.setBackgroundColor(Color.rgb(255,0,0)); } if(dataSnapshot.getValue().toString().equals("0")){ checkBoxSlot6.setBackgroundColor(Color.rgb(0,255,0)); } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } }); } private void AnhXa (){ checkBoxSlot1 = (Button) findViewById(R.id.checkBoxSlot1); checkBoxSlot2 = (Button) findViewById(R.id.checkBoxSlot2); checkBoxSlot3 = (Button) findViewById(R.id.checkBoxSlot3); checkBoxSlot4 = (Button) findViewById(R.id.checkBoxSlot4); checkBoxSlot5 = (Button) findViewById(R.id.checkBoxSlot5); checkBoxSlot6 = (Button) findViewById(R.id.checkBoxSlot6); txtUserEmail = (TextView) findViewById(R.id.textViewEmail); } } SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 93 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH IV Một số hình ảnh nối dây Arduino + Driver A4988 + Động bước SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 94 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH Arduino + NodeMCU Arduino + RFID RC522 SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 95 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH Arduino + I2C + LCD Arduino + SR505 + Speaker SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 96 ... Sang, Đặng Đại Trí 17 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 18 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH Truyền động bãi đỗ xe: động bước kéo... Trí 15 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 16 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH Trên xích gắn thêm vươn dài để treo khoang xe SVTH:... 37 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG MINH 3.4 Sơ đồ tổng quan thiết kế Hình 3.1 Sơ đồ tổng quang thiết kế SVTH: Trần Anh Luật, Hồ Đắc Quang Sang, Đặng Đại Trí 38 ĐỒ ÁN TỐT NGHIỆP – BÃI ĐỖ XE THÔNG