Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



OK, trước đây khi ngày nghỉ cuối tuần là lôi sensor ra vọc vạch chơi, với bộ Kit cũ mỗi lần làm gì thì dây nhợ hơi lằng nhằng, cũng nhờ dây nhợ vậy mà học được  ra rất nhiều kinh nghiệm.

Sau hai tháng bận rộn giờ mới thực sự rãnh rỗi mà đụng tới bo mạch này kia, giờ đến phần khoe trước, để khỏi mất nhiều thời gian nên đã chuyển sang bộ Kit mới : Grove Creator Kit -γ, và code python trên ESP8266 NodeMCU Lua V3  (vài chục ngàn khá rẻ) . keke



Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Bộ Grove Creator Kit -γ này là bộ có full sensor nhất trong các bộ từ - α - β và đến chính nó γ.




Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button




Để code được Python trên ESP8266 yêu cầu phải cài lại firmware hỗ trợ python, thì flash lại thì khá dễ dàng, chủ yếu tải đúng gói về và dùng vài tool nữa là xong, có thể tham khảo bào sau để biết :
Hướng dẫn update firmware cho Esp8266


http://micropython.org/download/all/ esp8266-1m-20200408-v1.12-351-gbd5633778.bin


Toàn bộ làm trên Linux, nếu dùng windowns thì cũng tương tự




Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Ví dụ 1 : Dùng MicroPython trên ESP8266 điều khiển Grove sensor Green LED tăng giảm độ sáng với Rotary Angle Sensor.


Trong phần này đầu tiên cần biết được thông số của ESP8266, thì cần tham khảo datasheet esp8266 link


Sơ đồ đấu nối : Trên Grove thì không cần bận tâm nhiều đến đấu nối, cứ nhớ rằng có 4 dây, 3 dây sử dụng tương ứng Cực âm, cực dương và Tín hiệu (Màu đen, màu đỏ và màu vàng)



Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Green LED :
                     + ------ 3v
                     - ------- G
                     S ------ D7

Rotary Angle Sensor :
                     + ------ 3v
                     - ------- G
                     S------ A0



Mô tả sẽ như sau : Sử dụng thư thiện machine import Pin, PWM, ADC


Pin : Khai báo Pin cho led, ở đây chọn D7 sẽ là tín hiêu cho led
PWM :Giúp điều chỉnh xung dòng điện các cổng sau hỗ trợ PWM :0, 2, 4, 5, 12, 13, 14 ,15
ADC : Trên bo mạch này chỉ có mỗi A0 hỗ trợ Analog to Digital Conversion, nên bắt buộc phải dùng nó.


Theo code bên dưới là freq là lưu ngưỡng cao nhất của xung dòng điện, duty chỉ nhận giá trị thấp nhất là 0 và cao nhất là freq, khi điều chỉnh Rotary nó sẽ đọc values của Rotary và cập nhật lại cường độ nhưng thỏa mãn ngưỡng đó. Theo mặc định Rotary đọc value của D0 là 1024 (mặc định), tương tự vậy điều chỉnh tăng giảm từ 0 - 1024


OK, lý thuyết là vậy, giờ test thôi.



Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Rotary giảm




Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button


Rotary tăng


Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Và code hoàn chỉnh như sau, đưa vào function cho nhìn gọn gàng khoa học



Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Ví dụ 2 : Dùng MicroPython trên ESP8266 điều khiển Grove sensor Green LED tắt mở bằng công tắt Button


Sơ đồ :

Green LED : 
                     + ------ 3v
                     - ------- G
                     S ------ D5(GPOP14)

Button: 
                     + ------ 3v
                     - ------- G
                     S ------ D7(GPOP13)




Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button



Reference - 01 - MicroPython trên ESP8266 xử lý module sensor Grove : Green LED, Rotary Angle Sensor, Button




Nhãn: