Đỗ Hữu Toàn gửi vào
- 18594 lượt xem
I. Giới thiệu
Bài viết này, mình sẽ trả lời cho câu hỏi của bác Trương Trọng Thân :"Điều khiển thiết bị bằng giọng nói, nhưng chỉ gửi 1 byte" (nói hơi khó hiểu). Tóm lại là,VD: khi app đọc giọng nói...nếu nhận đc tiếng nói: "bật đèn" thỳ gửi byte 1 đến Arduino. Nếu làm việc như thế, chúng ta sẽ tiết kiệm được bộ nhớ RAM cho Arduino và tốc độ xử lý sẽ cao hơn
II. Chuẩn bị
- 1 x Arduino
- 1 x Module bluetooth HC-05
- 1 x Một bóng đèn LED ( thích màu gì thì mua hoặc dùng LED 13 )
- 1x điện trở 220 Ohm
- 1 x Điện thoại Android có kết nối mạng
III. Kết nối
Cách nối dây module HC-05
Lưu ý: Khi nạp chương trình vào Arduino, ta phải gỡ 2 dây gắn vào Tx và Rx trên board Arduino ra nhé. Sau khi quá trình upload hoàn thành thì bạn hẳn cắm 2 dây kia vào vị trí Rx và Tx vào lại.
Sau khi lắp xong module HC-05 ta tiến hành lắp thêm một đèn LED ở chân số 13 để điều khiển Nên nhớ cần phải lắp thêm điện trở tại đầu ra của chân 13 ( điện trở 220 Ohm ).
Gắn thêm đèn led để điều khiển
IV. Lập trình
Code Arduino
byte bluetoothByte; int led = 13; void setup() { Serial.begin(9600); pinMode(led, OUTPUT); } void loop() { while (Serial.available()){ bluetoothByte = Serial.read(); // tiến hành đọc delay(100); } if(bluetoothByte==1) {digitalWrite(led, HIGH);} else if(bluetoothByte==0){digitalWrite(led, LOW);} }
Code này quen thuộc quá rồi!!
Code App Inventor
Như mình nói ở trên..là tiết kiệm bộ nhớ RAM cho Arduno. Vậy tiết kiệm ở chỗ nào??? đó chính là giúp tối ưu code không nhận String như code giọng nói thông thường mà nhận byte. Nhưng làm thế nào để điều khiển được giọng nói. hi...Code Arduino bớt đi, thỳ code App điều khiển phải gánh thôi:
V. Lời kết
Chúc các bạn thành công!! Nếu thấy hay thì Rate Node cho mình nhé!!!