Internet ©f Thing A _;_ n ESP-01 # ESP-02 # ESP-03 DH Quy Nhơn Thư viện - ĐH ESP-04 > ESP-08 l i i n i l V V D 6 NHÀ X U Ấ T BẢN TH A N H N IÊN I® pụthon TS NGUYỄN TẤT BẢO THIỆN KS PHẠM QUANG HUY VÀLẬ PTRÌNHIOT NHÀXUẴTIẢN niên 6101 THIỆU ARDUINO VÀ LẬP TRÌNH IOT TẨI LIỆU THAM KHẢO LẬP TRÌNH ĐIỂU KHIỂN TRÊN ARDUINO CHO HỆ VẠN VẬT KẾT NỖI loT Hà Quang Phúc - Phạm Quang Huy Nhà xuất Thanh Niên - 2020 STEM V0IARDUINO - HtfflNG DẪN sử DỤNG ARDUINO Trương Đình Nhơn - Lê Thị Hồng Nhung - Phạm Quang Huy Nhà xuất Thanh Niên - 2020 LẬP TRÌNH loT V0IARDUINO Lê Mỹ Hà - Phạm Quang Huy Nhà xuất Thanh Niên - 2019 GIÁO TRÌNH DO LtftfNG CẢM BIẾN Lê Chí Kiên Nhà xuất Đại học Quốc gia TP.HCM - 2013 ESPB2B6 INTERNET OF THINGS COOKBOOK Marco Schwartz Nhà xuất Packt - 2017 INTERNET OF THINGS WITH ARDUINO COOKBOOK Marco Schwartz Nhà xuất Packt - 2016 INTERNET OF THINGS WITH ARDUINO Marco Schwartz Nhà xuất Open Home Automation - 2014 CÁC TRANG W EB http://www.ladyada.net/learn/arduino/ https://circuitdigest.com/search/node/arduino https://www.allaboutcircuits.com/search7qsARDUINO https://www.electronicshub.org https://www.sparkfun.com https://www.instructables.c0m/howto/ARDUINO/ https:// teachmemicro.com I GIÚI TRIỆU ARDUINO VÀ LẬP TRÌNH IOT GIÚI THIỆU Chúc mừng bạn đến với họ sách thực hành Arduino bo mạch có giá rẻ, dễ sử dụng, ứng dụng nhiều ngành nghề Arduino kit dùng để lập trình tưdng tác với thiết bị phần cứng, bo mạch (phần cứng) thiết kế có mã nguồn mở cho phần cứng lẫn phần mềm với ngơn ngữ dễ học (C, c++), liên kết với chương trình Labview, Matlab để tận dụng sức mạnh chương trình lập trình, mơ Các phần tử ngoại vi bo mạch Arduino chuẩn hóa, với giá thành rẻ phù hợp với túi tiền cho người dùng • Arduino dễ dàng phát triển nhiều chức qua bo mạch mở rộng có tên chung Shields Bo mạch Arduino lắp ráp với linh kiện điện tử, thiết bị điện khác đủ linh hoạt chuyên gia phát triển dự án từ đơn giản phức tạp chuyên gia • Arduino thích hợp với người dùng có trình độ trải rộng từ bậc phổ thông lên đến đại học làm cho người tạo chúng phải ngạc nhiên mức độ phổ biến Đây tập sách học, khai thác sử dụng Arduino lập trình điều khiển thiết bị dân dụng cơng nghiệp LẬ P TRÌN H Đ IỀU KH IỂN VỚI ARDUINO ARDUINO DÀNH CHO NGƯỜI T ự HỌC STEM VỚI ARDUINO - HƯỚNG DẪN LẬ P TRÌNH loT VỚI ARDUINO LẬ P TRÌNH loT VĨI ARDUINO, ES P 6 & X B E E LẬ P TRINH Đ IỀU KH IEN Đ IỀU KHIỂN XA VỚI ARDUINO VÀ E S P T ự HỌC ARDUINO BẰNG HÌNH ẢNH ARDUINO VÀ LẬ P TRÌN H loT xa với sử dụng ARDUINO E S P 6 , E S P VÀ ARDUINO 10 LẬP TRÌNH loT CHO NHÀ VÀ NÔNG TR Ạ I THÔNG MINH VỚI ARDUINO 11 VI Đ IỂU KH IỂN VÀ ƯNG DỤNG-ARDUINO VÀ CẢM B IỂN 12 LẬ P TRÌNH W IFI VỔI ARDUINO 13 LẬ P TRÌNH VỚI A RD U IN O -ESP8266 TOÀN T Ậ P I tlểlTIIỆU AHDUIHO VÀ LẬP TBÌHMIOT 14 LẬ P TRÌN H V Ớ ĨA R D U IN O -ES P TỒN T Ậ P 15 LẬ P TRÌN H IOT VỚI ARDUINO VÀ R A S P B E R R Y 16 ARDUINO V À T H IẾ T BỊ B A Y 17 LẬ P TRÌN H ARDUINO VỚI M ATLAB 18 LẬ P TRÌN H ARDUINO VỔI LA B V IE W 19 XỬ KÝ ẢNH VỒI ARDUINO VÀ R A S P B E R R Y 20 T ự HỌC R A S P B E R R Y BẰNG HÌNH ẢNH 21 ARDUINO TỒN T Ậ P 22 ARDUINO DÀNH CHO NGƯỒI B Ắ T ĐẦU 23 ỨNG DỤNG ARDUINO TRO N G GIÁO DỤC S T E M 24 ARDUINO VÀ MÀN HÌNH HIỂN TH Ị 25 ARDUINO VÀ CẢM BIỂN (L Ý T H U Y Ể T -T H ự C HÀNH) Nếu tập 1, chủ yếu giới thiệu tới bạn đọc kiến thức phần cứng, phần mềm bo mạch Arduino Lập trình điều khiển thành phần mạch điện tử như: > Điều khiển LED đơn, LED đoạn, LED ma trận, LCD > Điểu khiển động DC, động servo, động bước > Điểu khiển ngõ theo yêu cầu với đầu vào cảm biến nhiệt độ, áp suất, độ ẩm, hổng ngoại, quang trở, âm thanh, siêu âm, dịch chuyển > Nhiều ứng dụng khác Thì tập 4, 5, 7, 8, hướng đến bạn đọc lập trình điều khiển xa qua mạng có dây khơng dây (Wifi) qua linh kiện chủ yếu bo mạch Arduino, bo mạch mở rộng Ethernet (Shield Ethernet) ba bo mạch chuyên dùng Wifi Xbee, ESP8266 ESP32 Thực chất tập hưống bạn đọc tới việc thiết kế hệ thống nhúng làm quen vổi việc lập trình IOT cho nhà nơng trại thơng minh trình bày chi tiết tập 10 Phần trình bày tập “LẬP TRÌNH IOT VỚI ARDUINO, ESP8266 & X B E E ” xem phần nâng cao tập linh kiện sử dụng để lập trình truyền thông không dây (Wifi) chuyên đề chủ yêu dùng ESP8266 có giá thành rẻ dễ mua so với việc dùng Xbee (trình bày tập 5) phổ biến phương Tây khó mua Việt Nam có giá thành cao ESP8266 ARDUINO VÀ LẬP THÌNH IOT 6101 THIỆU Do lập trình hệ thống nhúng hay loT liên quan tới cảm biến có nhiều loại cảm biến mà tập từ 1-10 chưa trình bày hay chưa chi tiết tủ sách S TK trình bày tập 11 “VI ĐIỀU KHIỂN VÀ ỨNG DỤNG-ARDUINO VÀ CẢM BIỂN ” Ngoài tập 11 bạn đọc hướng dẫn chi tiết cách dùng hình LCD Oled để hiển thị thơng số ngõ vào ngõ cảm biến Tập 12-20 xem chuyên đề ứng dụng Arduino Raspberry nâng cao lập trình điều khiển Tập 20-25 dành cho đối tượng người học không học chuyên ngành điện tử chí học sinh cấp chưa biết điện tử khai thác, ứng dụng Arduino điều khiển nhiều thiết bị có ích sống giúp em học sinh làm quen dần với khoa học kỹ thuật từ năm học trung học Đây tập khó biên soạn tủ sách STK Làm hướng dẫn, giải thích mạch điện lý thú sống thực tế mà em học sinh, chuyên viên kỹ thuật khác ngành nghề Công nghệ thực phẩm, Vật lý, Hóa học, Sinh học, Kiến trúc, Xây dựng nhiều hiểu lập trình với Arduino lắp ráp sản phẩm cụ thể ứng dụng đời thường Ngôn ngữ để lập trình Arduino c, nhiên người thiết kế tận dụng sức mạnh chương trình khác Matlab Labview để lập trình Việc tận dụng cơng cụ mơ Matlab lập trình đồ họa Labview giúp cho người thiết kế có thêm cơng cụ thiết kê mà lập trình trực tiếp Arduino gặp nhiều khó khăn Phần hướng dẫn liên kết khai thác Matlab Labview thiết kế dân dụng công nghiệp phần ứng dụng nâng cao với Arduino trình bày tập 20-25 • ĐỐI TƯỢNG SỬ DỤNG SÁCH Sách biên soạn cho người làm quen với Arduino, qua tập thực hành bân điều khiển Led đơn, LCD, Led ma trận, động DC, động servo, động bước muốn lập trình hệ thống nhúng lập trình loT nâng cao qua ứng dụng điều khiển thu nhận liệu từ xa qua truyền khơng dây (Wifi) s ABBU1H0 VÀ LẬPTRÌH IIO T tlổ l T IIỆD Tương ứng với tập có mã (code) chương trình với giải thích giúp người học dễ theo dõi, cho phép người có kiến thức Điện-Điện tử từ ba tới năm ngày thực hành bắt đầu khai thác sử dụng Arduino lập trình IOT Từ ý tưởng trình bày sách, bạn đọc sáng tạo thiết kế nhiều mạch ứng dụng thực tế vào sống Nội dung sách gồm phần với 10 chương phụ lục PHẦN 1: GIỚI THIỆU Chương 1: > Tổng quan hệ thống nhúng > Tổng quan IOT > Tổng quan Ardulno > Arduino Raspberry > Serlal monitor > Các linh kiện thực hành PHẦN 2: ARDUINO VÀ CẢM BIẾN Chương 2: Tổng quan cảm biến Chương 3: Thực hành với Ardulno > Bài tập 1: Đọc giá trị điện áp ngõ vào Analog > Bài tập 2: Điểu khiển tốc độ sáng tắt với biến trở > Bài tập 3: Lập trình với ngõ vào (Input) > Bài tập 4: Mạch sử dụng hal nút nhấn Led > Bài tập 6: Điều khiển Led RG B > Bài tập 7: Điều khiển Led cầu vòng > Bài tập 8: Điều khiển Led sáng dạng Chương 4: Arduino cảm biến > Arduino cảm biến Nhiệt độ-ĐỘ ẩm ^ Cảm biến tiệm cận ^ Arduino cảm biến hồng ngoại ^ Cảm biến Quang >• Cảm biến khói - đầu dị khói I AIDDIHO VÁ LẬP TRÌNH IOT 6101 THIỆU > Arduino cảm biến dịch chuyển PIR > Đo nhiệt độ, độ ẩm từ xa với bo thu phát cao tần PHẦN 3: LẬP TRÌNH IOT VỚI ARDUINO VÀ ESP8266 Chương 5: Truyền thơng có dây khơng dây Chương 6: Cấu hình cho ESP8266 Chương 7: Các tập dùng ESP8266 Chương 8: Một số tính khác ESP8266 Chương 9: s dụng Micro Python ESP8266 Chương 10: Lập trình với G P S , GSM G P R S • Hệ thống định vị tồn cầu (G P S) • Bảng thơng báo khơng dây sử dụng GSM Arduino • Gửi liệu qua G P R S Sim800l đến Thingspeak • Khắc phục cố sử dụng Sim800i • Lập trình G P S với STM32 PHỤ LỤC: GIỚI THIỆU SÁCH MỚI Một số điểm cần lưu ý sử dụng sách: • Tài liệu biên soạn phiên Arduino chạy Windows, máy tính bạn dùng hệ điều hành Linus hay Mac thực hành tập sách mà không ảnh hưởng nhiều đến việc thực hành (tham khảo thêm trang web: http://www.arduino.cc/) Bo mạch Arduino sử dụng sách Arduino UNO, người học dùng bo mạch Arduino có cổng USB khác để thực hành • Chuyên đề biên soạn lại dựa sách “ LẬP TRÌNH loT VỒI ARDUINO, ESP8266 & X B E E ” vởi chương 10 sách “LẬP TRÌNH loT VỚI ARDUINO VÀ X B E E ” tác giả thay chương “ Lập trình với G P S , GSM G P R S ” bo Wifi Xbee có giá thành cao khó mua (phản ảnh từ nhiều bạn đọc) Chương thay thê giới thiệu tới bạn đọc hệ thống định vị toàn cầu (G PS) mạch điều khiển mà chưa có sách tiếng Việt trình bày Bạn đọc cần lưu ý tập chương này, hướng dẫn bạn đọc lập trình vi điều khiển STM32 ARDWHOVfl LẬP m ui IBT tlứlTIIỆU Các tác giả xem bạn đọc biết qua sử dụng lệnh vi điều khiển Phần lý thuyết tập cho vi điều khiển tham khảo từ sách liên quan đến STM STM 32 tủ sách S TL biên soạn Ngoài tác giả biên soạn bổ xung nhiều tập chương 3, chương • Các chương từ 5-10 phần khó địi hỏi bạn đọc làm quen với Ardulno có kiến thực lập trình (C) Nhiều tập sách tác giả tham khảo trang Web (Tài liệu tham khảo), bạn đọc nên tham khảo trang web để có thêm nhiều tập thực hành Arduino, Raspberry vi điểu khiển khác • Trong q trình biên soạn khơng thể tránh khỏi thiếu sót, chúng tơi mong bạn đọc góp ý, trao đổi để nội dung biên soạn ngày tốt Hy vọng bạn nhanh chóng khai thác có hiệu bo mạch Arduino cơng việc Mọi thắc mắc, góp ý xin gửi địa sau: TS NGUYỄN TẤT BẢO THIỆN Đ T :0966685030 Email: nguyentatbaothien @gmail.com KS PHẠM QUANG HUY 0903728344 Email: huypq@hcmute.edu.vn Rất mong nhận dupe nhiều ý kiến đóng góp, ý kiến thầy, có nhiều kinh nghiệm giảng dạy chủ đề liên quan sách Chúng tin việc học lý thuyết Điện-Điện tử trở nên thú vị sau bạn xây dung thiết bị chức VỚI thông tin phản hổi, sách hoàn thiện lần tái sau TP.HCM 28-3-2020 Các tác giả I CHITONS1 TONG QUAN Trước thực hành lập trình loT với Arduino, E*sp8266 tìm hiểu phần sau để hiểu rõ thực chương TỔNG QUAN V Ề HỆ THỐNG NHÚNG TỔNG QUAN V Ề loT TỔNG QUAN V Ề ARDUINO ARDUINO VÀ R A S P B E R R Y S E R IA L MONITOR CÁC LINH KIỆN THỰC HÀNH TỔNG QUAN VỀ HỆ THỐNG NHÚNG Hệ thống nhúng môn học giảng dạy nhiều môn chuyên ngành Điện tử, Điện tử công nghiệp, Tự động hóa, Viễn thơng Nhiều sinh viên chí giáo viên cịn mơ hồ chưa hiểu rõ hệ thống nhúng Nếu dùng cơng cụ dị tìm mạng Yahoo, Google cho từ khóa “Hệ thống nhúng”, “Embedded System” bạn tìm nhiều báo, Ebook, giáo trình tiếng Anh lẫn tiếng Việt nói chủ đề có định nghĩa làm bạn rối rắm Phần trình bày sau giải thích bạn đọc thuật ngữ theo cách gián tiếp tác giả nghĩ bạn hình dung thuật ngữ Một mục tiêu mà người học Điện-Điện tử cần phải thực điều khiển, tự động hóa q trình dân dụng công nghiệp Tùy vào thời điểm mà linh kiện sử dụng khác Vào năm 1975-1985 linh kiện sử dụng chủ yếu Op-Amp, mạch sô linh kiện điện tử cống suất Từ năm 1985-1995 Việt Nam bắt đầu sử dụng vi xử lý, vi điều khiển thiết kế Máy tính sử dụng điều khiển nhiều lĩnh vực khác Một hệ thơng máy tính tất nhiên có đầy đủ thiết bị theo sau tạo hệ thống hoàn chỉnh Vi xử lý, ROM, RAM, chuột, bàn phím, hình I ARDUINO VA LAP TRIM III GPS Module C lM N S 10: LAP TRIM Vfll BPS, GSM VÀ BPS 442 CHƯOHG10: LẬP TRÌHH vđ l CPS, 6SM VÀ EP IS ARDUINO VÀ LẬP TRÌNH lo ĩ ❖ ❖ Kết nối mạch mô-đun GPS & STM32F103C8 Mô-đun GPS STM32F103C8 RXD P A (T X ) TXD P A (R X ) + 5V + 5V GND GND Kết nối LCD 16x2 & STM32F103C8 Số thứ tự chân LCD Tên chân LCD Tên chân STM32 G N D (G n d ) G N D (G ) vcc 5V VEE R e g iste r S e le c t (R S ) PB11 Đ ọ c / G h i (R W ) G N D (G ) K ích hoạt (E N ) PB10 Bit liệu (DBO) Khơng có kết nối (N C ) Bit liệu (D B ) Khơng có kết nối (N C ) Bit liệu (D B ) Khơng có kết nối (N C ) 10 Bít liệu (D B ) Kh ơn g có kết nối (N C ) 11 Bit liệu (D B ) PBO 12 Bit liệu (D B ) PB1 13 Bít liệu (D B ) PC13 14 Bit liệu (D B ) PC14 15 C h â n dương c ủ a L E D 5V 16 C h â n âm c ủ a L E D G N D (G ) Chân ch iết áp 441 M ạch điện hồn chỉnh hình: LẬP TRÌNH STM32F103C8 CHO GIAO DIỆN MÔ-ĐUN GPS S T M F C lập trình Arduino ID E cá ch kết nối với P C thông qua cổng U S B Đ ể kết nối G P S với S T M , trước tiên cần tải xuống thư viện từ liên kết GitH ub có tên TinyGPSPIus https://github.com/mikalhait/TinyGPSPIus S a u tải xuống thư viện, thêm thư viện vào Arduino ID E c c h nhấp chọn Sketch -> Include Library -> Add.zip Library Trư ớc tiên cầ n gọi c c file thư viện cầ n thiết v x c định ch ân cho L C D 16x2: #include // Th viện dùng cho c c hàm hình L C D #include // Th viện dùng cho c c ch ứ c GPS const int rs = PB11, en = PB10, d4 = PBO, d5 = PB1, d6 = PC13, d7 = PC14; // C c ch ân L C D kết nối với S T M ARDUINO VÃ LẬP TRÌNH loT CltfdNS 10: LẬP TRÌNH V0I GPỈ, GSM VÀ GPGỈ LiquidCrystal lcd(rs, en, d4, d5, d6, d7); S a u tạo đối tượng có tên gps c ủ a lớp TinyGPSPIus TinyGPSPIus gps; void setupO, khởi động truyền thông nối tiếp với mô-đun G P S lệnh Serian.begin(9600) S e r ia n sử dụng làm T iế p theo S e ria l Port (c c ch ân P A , P A ) c ủ a S T M F C Serian.begin (9600); S a u hiển thị thơng báo ch o mừng Icd.begin(16,2); //T h iết lập m àn hình c h ế độ 16x2 Icd.printfSTK Books"); lcd.setCursor(0,1); lcd.print("STM32 voi GPS"); delay(4000); Icd.clearO; T iế p theo, void loop(), nhận c c giá trị vĩ độ v kinh độ từ G P S v kiểm tra xem liệu nhận có hợp lệ hay không v hiển thị thông tin S e ria l Monitor v L C D K iểm tra xem liệu vị trí có sẵ n hay khơng loc_valid = gps.location.isValid (); N hận liệu vĩ độ lat_val = gps.location.lat 0; N hận liệu kinh độ lng_val = gps.location.Ing 0; N ếu nhận liệu khơng hợp lệ, s ẽ hiển thị hình ảnh ********** S e ria l Monitor hiển thị hình ảnh ch dợi m àn hình L C D If (!loc_valid) // T h ự c thi liệu không hợp lệ nhận từ GPS { lcd.print("Dang cho doi"); Serial.print("Vi do: "); Serial.println("*****"); Serial.print("Kinh do: "); Serial println("*****"); delay(4000); Icd.clearO; } Nếu liệu hợp lệ nhận, vĩ độ v kinh độ hiển thị S e ria l Monitor m àn hình L C D Icd.clear(); Serial.println("Phep doc GPS: "); Serial.print("Vi do: "); Serial.println(lat_val, 6); // H iển thị v ĩ độ lên S erial Monitor lcd.setCursor(0,0); Icd.printfLAT:"); lcd.print(lat_val,6); // H iển thị v ĩ độ lên L C D Serial.print("Kinh : "); Serial.println(lng_val, ); // Hiển thị kinh độ S eria l monitor lcd.setCursor(0,1); lcd.print("LONG:"); lcd.print(lng_val,6); // H iển thị kinh độ hình L C D delay(4000); Hàm sa u cung cấ p độ trễ đ ể đọc liệu Nó tiếp tục tìm kiếm liệu S eria l Port // C h đ ể nhận liệu từ G P S static void GPSDelay(unsigned long ms) ARDUINOVÀ LẬP TRÌNHloĩ CHƯƠNG10: LẬP TRÌNHVƠI GPS, SỈM VÁ EPRS { unsigned long start = millis(); { while (Serial1.available()) gps.encode(Serial1 read()); } while (millis() - start < ms); } TÌM VĨ ĐỘ VÀ KINH ĐỘ VỚI GPS VÀ STM32 Sau kết nối mạch điện nạp chương trình, đảm bảo đặt mơ đun G P S khu vực mở để nhận tín hiệu nhanh Đôi phải vài phút để nhận tín hiệu đợi thơi gian LED bắt đầu nhấp nháy mô đun G P S bắt đầu nhận tín hiệu tọa độ vị trí hiển thị hình LCD Bạn xác minh vĩ độ kinh độ vị trí cách sử dụng đồ Google Chỉ cần truy cập Google maps với G P S BẬT nhấp vào dấu chấm màu xanh Nó hiển thị địa với vĩ độ kinh độ hình trang bên ẲHDUIHOVÀ LẬP Tlinn loĩ ClMM II: LẬP T1ÌHÌ v ll GR, SSMVÀ in 1■ I Arduino Raspberry o Lịch sử o Bản chất Arduino Raspberry Pi oCác loại Arduino vàRaspberry Pi o Loại bạn nên chọn? > Serial monitor-đọc nối tiếp tín hiệu tương tự (analog) > Các linh kiện thực hành CHƯƠNG2: TỔNGQUANVỂ CẢMBIẾN 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Các khái niệm Phân loại cảm biến Đơn vị đo lường Nguyên lý cảm biến Mạch cầu Wheatstone ứng dụng Op-Amp mạch đo Tuyến tính hóa CHƯƠNG3: THỤCHÀNHV0IARDUINO > > > > > Bài tập 1: Bài tập 2: Bài tập 3: Bài tập 4: Bài tập 5: Đọc giá trị điện áp ngõ vào Analog Điều khiển tốc độ sáng tắt với biến trở Lập trình với ngõ vào (Input) Mạch sử dụng nút nhấn Led Mạch sử dụng chiết áp 11 15 22 23 23 27 33 35 36 36 38 39 41 41 4g 50 01 63 64 67 68 76 79 79 82 86 90 94 45S > Bài tập 6: Điều khiển Led RGB > Bài tập 7: Điều khiển Led cầu vòng > Bài tập 8: Điểu khiển Led sáng dạng CHỨ0NG4: ARDUINO VÀ CẢMBIỂN 4.1 4.2 4.3 4.4 4.5 108 115 121 ứng dụng thời gian thực cảm biến Cảm biến gì? Phân loại cảm biến Các loại cảm biến khác Lập trình Arduino với cảm biến 4.5A Cảm biến nhiệt độ 4.5A1 Hệ thống kiểm soát nhiệt độ dùng mạch rời 4.5A2 Mạch đo nhiệt độ sử dụng Arduino vàLM35 4.5A3 Đo nhiệt độ sử dụng cảm biến LM35 hiển thị hình LCD 122 123 123 124 124 125 125 130 133 4.5B Cảm biến tiệm cận 4.5C Cảm biến hồng ngoại 4.5C1 Arduino cảm biến hồng ngoại 4.5C2 Arduino hệ thống báo cháy 4.5C3 Điều khiển từ xa nhiều kênh dùng Led hồng ngoại 135 135 131 139 146 4.5D Cảm biến quang 4.5D1 Sử dụng LDR Op-Amp phát ánh sáng 4.5D2 Sử dụng LDR Transitor phát ánh sáng 4.5E Cảm biến khói 4.5E1 Cảm biến khói-Mạch báo động dỏ khói 4.5E2 Mạch phát rị rỉ khí hóa lỏng LPG 4.5F Arduino cảm biến dịch chuyển PIR 4.5G Đo nhiệt độ, độ ẩm từ xa với bo thu phát cao tần 161 161 162 164 164 167 172 189 199 CHtftfM6 5: TÌMHIỂU TRUYỀN THÙNGKHÙNGDÂY * 101 Giao tiếp không dây: Giới thiệu, loại ứng dụng Các loại hệ thống truyền thông không dây Truyền liệu Tổng quan truyền liệu chuẩn I2C SPI CMÍ0NG R: CẤU HÌNHCHOESP8266 ^ Thiết lập mơi trường phát triển Arduino với ESP8266 199 206 209 216 223 223 > > > > > > Hướng dẫn chọn lựa ESP8266 Một số linh kiện bổ sung cần dùng ' Nạp chương trình vào ESP8266 Kết nối ESP8266 với mạng WiFi cục Kết nối ESP8266 với máy chủ đám mây Chẩn đoán số cố liên quan đến ESP8266 CNƯ0NG7: BÀI TẬP C0 BẢNDÙNGESP8266 > > > > > > > > > Các tính mơ đun ESP8266 Đọc tín hiệu digital Đọc tín hiệu analog Điều khiển LED sáng tắt Điều khiển độ sáng LED Điều khiển động servo Đọc liệu từ cảm biến digital Điều khiển hình OLED Khắc phục số cố thường gặp > Điều khiển động Servo qua Web với Arduino ESP8266 CHƯ0NG8: MỘT số TÍNHNĂNGKHÁCCÚA ESP826G > > > > > > > > > Các tính nâng cao ESP8266 Sừ dụng thư viện ESP8266 Tìm hiểu hệ thống tập tin ESP8266 LƯU trữ liệu ESP8266 Khám phá cập nhật Over The Air (OTA) ESP8266 Lập trình ESP8266 OTA Khắc phục số cố thường gặp Giới thiệu Python Chạy Python chế độ hoạt động Python CHtftfNG8: sử DỤNGMICROPYTHONTRONGESPS28B CHƯƠNG10: LẬP TRÌNHV016PS, GSMVÀ GPRS > > > > > Hệ thống định vị toàn cầu (GPS) Bảng thông báo không dây sử dụng GSM Arduino Gửi liệu qua G PR S sim800l đến Thingspeak Khắc phục cố sử dụng Sim800l Lập trình G PS với STM32 PHQ LỤC: Gltfl THIỆU SÁCH MOI 226 235 241 244 247 251 253 253 258 262 265 269 272 287 291 301 303 11 311 311 320 325 331 333 343 344 354 309 395 396 404 414 425 432 451 455 '■L w/' ỉỳi.ệC ARDIIINO VÀ LẬP TRÌNH IOT TS NGUYỄN TẤT BẢO THIỆN - KS PHẠM QUANG HUY Chịu trách nhiệm xuất bản: Giám đốc - Tổng Biên Tập: Lê Thanh Hà Biên tập: Mai Thị Ánh Duyên Sửa in thử: Phạm Quang Hiển Trình bày: Cơng ty TNHH Thương mại STK NHÀ XUẤT BẢN THANH NIÊN 64 Bà Triệu - Hà Nội - ĐT: (84.024) 39434044 - 62631719 Fax: 024.39436024 Website: nxbthanhnien.vn Email: info@nxbthanhnien.vn Chi nhánh: 145 Pasteur, Phường 6, Quận 3, TP.HỒ Chí Minh ĐT: (028) 39106963 Website: nxbthanhnien.vn TỔNG PHÁT HÀNH CÔNG TY TNHH Thương mạl STK 742 Điện Biên Phủ, Phường 10, Quận 10, Tp Hồ Chí Minh Điện thoại: (+84)02838334168 Fax: (+84)02838334168 Mail: nhasachstk@yahoo.com.vn - stkbook@yahoo.com.vn In 1.200 cuốn, khổ (16 X 24) cm, Công ty TNHH Sản xuất in ấn Tuấn Nam Địa chỉ: 57A, đường Nguyên Hồng, p 11 Quận Bình Thạnh TP.HCM Số đăng ký xuất bản: 5404-2019/CXBIPH/9-144/TN; ISBN: 978-604-978-576-4 Số Q ĐXB: 823/QĐ-TN ngày 27 tháng 12 năm 2019 In xong nộp lưu chiểu tháng năm 2020 45R ... NGUYỄN TẤT BẢO THIỆN KS PHẠM QUANG HUY VÀLẬ PTRÌNHIOT NHÀXUẴTIẢN niên 6101 THIỆU ARDUINO VÀ LẬP TRÌNH IOT TẨI LIỆU THAM KHẢO LẬP TRÌNH ĐIỂU KHIỂN TRÊN ARDUINO CHO HỆ VẠN VẬT KẾT NỖI loT Hà Quang... E S P VÀ ARDUINO 10 LẬP TRÌNH loT CHO NHÀ VÀ NÔNG TR Ạ I THÔNG MINH VỚI ARDUINO 11 VI Đ IỂU KH IỂN VÀ ƯNG DỤNG -ARDUINO VÀ CẢM B IỂN 12 LẬ P TRÌNH W IFI VỔI ARDUINO 13 LẬ P TRÌNH VỚI A RD U IN... VĨI ARDUINO, ES P 6 & X B E E LẬ P TRINH Đ IỀU KH IEN Đ IỀU KHIỂN XA VỚI ARDUINO VÀ E S P T ự HỌC ARDUINO BẰNG HÌNH ẢNH ARDUINO VÀ LẬ P TRÌN H loT xa với sử dụng ARDUINO E S P 6 , E S P VÀ ARDUINO