Chuyển tới nội dung
Home » App Inventor 2 Arduino | Projects With Mit App Inventor

App Inventor 2 Arduino | Projects With Mit App Inventor

HC-05 Bluetooth Module with Arduino-MIT App Inventor

I provide 15 tutorial links about App Inventor communicating with Arduino Uno. The tutorials start with a Bluetooth connection and they are developed ending with a monitor for 2 potentiometers, leds, buttons and small supervisory using procedure blocks, canvas, etc

Tutorial 1/15: connecting with bluetooth

Tutorial 2/15: Led ON / OFF

Tutorial 3/15: Led ON / OFF – Changing Button Color

Tutorial 4/15: Led ON/OFF – Using a single button on App Inventor

Tutorial 5/15: Slider changes LED intensity

Tutorial 6/15: Joining Slider / Button in App Inventor and Leds Arduino

Tutorial 7/15: Checking Status of an Arduino Pushbutton (button) in App Inventor

Tutorial 8/15: Monitoring 02 Potentiometers

Tutorial 9/15: now monitoring the status of 02 Potentiometers and 01 Pushbutton

Tutorial 10/15: Complete Project – Bt, Pot, Button, Slider, Leds

Tutorial 11/15: 8Leds 8 Buttons – Mode1

Tutorial 12/15: 8Leds 8 Buttons – Mode1: Using Procedure Block

Tutorial 13/15: Small Supervisory using Canvas – Part 1

Tutorial 14/15 : small supervisory using Canvas – Part 2

Tutorial 15/15: two ways to install the HC-05 module on Arduino and communicate to AppInventor

Điều khiển thiết bị bằng MIT App Inventor sử dụng NodeMCU ESP8266

Trong nội dung bài viết hôm nay mình sẽ giới thiệu với các bạn một chủ đề mới cách có thể tạo một App Android trên MIT App Inventor một cách nhanh chóng mà không cần phải biết về lập trình nhiều.

Bài viết sẽ hướng dẫn các bạn cách tạo một App đơn giản và điều khiển các thiết bị trong gia đình thông qua NodeMCU ESP8266. Để có thể nắm rõ hơn các bạn có thể tìm đọc các bài viết liên quan đến dự án.

Introducing MIT App Inventor 2

MIT App Inventor 2 is a simple and intuitive free service for creating Android applications. If you want to start with MIT App Inventor, you don’t need to download or install any program in your computer as the software is cloud-based, so you build the apps directly in your browser (Chrome, Mozilla, Safari, Internet Explorer, etc).

For instance, you only need an internet connection for building the apps.

HC-05 Bluetooth Module with Arduino-MIT App Inventor
HC-05 Bluetooth Module with Arduino-MIT App Inventor

Android Apps for Arduino with MIT App Inventor 2

If you like Android Apps and Arduino take a look at our course: Android Apps for Arduino with MIT App Inventor

This is a step-by-step course to get you building cool Android applications for Arduino, even with no prior experience! A collection of 8 + 1 Projects.

Download Android Apps for Arduino with MIT App Inventor 2

I hope you’ve found this post useful.

Thanks for reading,

Sara

Why MIT App Inventor is a good choice?

  • MIT App Inventor 2 is intuitive and simple to use.
  • You don’t have to be an expert in programming or design to build awesome apps that can do useful stuff.
  • Creating the design is as easy as selecting and placing widgets in the smartphone screen.
  • The code is done with drag and drop puzzle blocks.

Anyone can learn how to build their own apps with MIT App Inventor 2 with a few hours of practice.

MIT App Inventor 2 - bluetooth car control app develope||Arduino car control
MIT App Inventor 2 – bluetooth car control app develope||Arduino car control

MIT App Inventor Overview

Go to http://appinventor.mit.edu/explore/ and press Create Apps button.

Next, click on Start new project as shown in figure below.

You’ll be asked to give your project a name. As we’re just exploring the MIT App Inventor 2 features, you can name it test.

Click OK. Your project is automatically saved.

If you go to Projects > My Projects you can see all your saved projects.

Click on the project name to open the app builder.

Designer

You’ll be presented with the Designer tab as shown in the following figure.

At 1) you select whether you are on the Designer or in the Blocks Editor tab. With MIT App Inventor you have 2 main sections: Designer and Blocks. The designer gives you the ability to add buttons, add text, add screens and edit the overall app look.

The Blocks section allows you to create custom functionality for your app, so when you press the buttons it actually does something with that event.

2) The Palette contains the components to build the app design like buttons, sliders, images, labels, etc…

3) It’s the Viewer. This is where you drag the components to build the app look.

4) Components. You can see all the components added to your app and how they are organized hierarchically.

5) Properties. This is where you select your components’ properties like color, size and orientation.

Blocks Editor

Open the Blocks editor tab.

In the Blocks editor tab, you have several sections:

1) contains the built-in blocks for creating the app’s logic. This is what makes the app define the buttons functionalities, send commands to Arduino, connect to the Bluetooth module, etc. You have several blocks grouped by categories:

  • Control: if/else statements, while loops, etc…
  • Logic: True, False, equal, not equal, etc…
  • Math: math operators.
  • Text: blocks that deal with text.
  • Lists: blocks for handling lists.
  • Colors: blocks to handle colors, like choosing a color, make color and split colors.
  • Variables: initialize variables, setting variables values, get variables values, etc…
  • Procedures: procedures are like functions. A procedure is a sequence of code blocks with a given name. Later, you can call that sequence of blocks instead of creating the same long sequence.

Inside each group, you have blocks that you can drag to the Viewer 2). In the Viewer, you drag the blocks and join them in a specific way to make something happen.

We recommend that you navigate inside the blocks section and explore what’s inside. The blocks look like puzzle pieces that fit into each other or not. If you can’t do something with certain blocks, they won’t fit.

In the backpack 3) you save code blocks to use later. You move blocks to the dustbin 4) to delete them.

Sơ đồ đấu nối

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng Shopee
NodeMCU ESP8266 Mua ngay
Dây cắm (Cái – Cái) Mua ngay
Module Relay 5V Mua ngay
How To Build Custom Android App for your Arduino Project using MIT App Inventor
How To Build Custom Android App for your Arduino Project using MIT App Inventor

Tạo App Android bằng MIT APP INVENTOR

Để có thể tạo một App Android bằng MIT app inventor chúng truy cập vào link để tạo dự án nhé: http://appinventor.mit.edu

Bước đầu tiên các bạn Click vào Projects chọn “Start new project” để tạo một dự án mới.

Tiếp theo chúng ta cần đặt tên cho dự án.

Ở bên tay trái màn mình các bạn, chúng ta Click vào Button dùng để bật tắt thiết bị. Ở đây mình sẽ chọn 2 nút và đặt là “ON” và “OFF”.

Để có thể chỉnh sửa các thông số của Button các bạn Click vào và nó sẽ xổ ra các trường thông tin. Ở đây các bạn có thể đặt lại tên cho Button ở phần Text …

Tiếp theo, các bạn chọn mục Connectivity và cho Web và kéo thả vào Viewer nhé.

Sau khi đã cấu hình cho các Button và Web ta chọn vào Block để chuyển qua lập trình kéo thả Block.

Click vào “Button 1” chọn phần mà mình đã khoanh đỏ và kéo chúng vào vùng lập trình.

Tiếp tục, ta chọn “Web1” và kéo Block đã được đánh dấu. Ở phần này chúng ta sẽ cấu hình địa chỉ IP Web.

Chọn mục “Text” kéo block được khoanh đỏ vào vùng lập trình.

Tiếp theo ở mục Web1 chọn Block “Call Web.Get”.

Để biết được địa chỉ IP của NodeMCU ESP8266 ta cần nạp Code và bật Monitor lên xem nhé. Code mình để cuối bài viết các bạn tải về và

thực hiện nhé. Ở đây địa chỉ IP của mình là: 192.168.88.106

  • http://192.168.88.106/gpio/1
  • http://192.168.88.106/gpio/0

Các bạn kéo thả các Block lại với nhau giống như trên màn hình nhé.

Để có thể tải dự án về điện thoại, các bạn vào mục Build chọn App (project QR code for apk).

Quét mã QR code xuất hiện trên màn hình. Và các bạn tiến hành cài đặt App vào điện thoại nhé.

Như vậy là đã xong các bạn có thể điều khiển bật tắt thiết bị trên App điện thoại rồi.

Projects with MIT App Inventor

This was just a quick introduction to the MIT App Inventor. Now, its time to start building apps!

Here’s a list of our popular Arduino and MIT App Inventor projects:

  • Android App – RGB LED with Arduino and Bluetooth
  • Arduino – Control 2 DC Motors Via Bluetooth
  • Control your Arduino with Voice Commands
How To Receive Multiple Sensor Readings From Your ARDUINO Into Your MIT APP INVENTOR 2 APP
How To Receive Multiple Sensor Readings From Your ARDUINO Into Your MIT APP INVENTOR 2 APP

Code

#include

const char* ssid = “Phamson”; const char* password = “phamtheson”; WiFiServer server(80); void setup() { Serial.begin(115200); //Default Baud Rate for NodeMCU delay(10); pinMode(2, OUTPUT); // Connect Relay to NodeMCU’s D4 Pin digitalWrite(2, 0); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print(“Connecting to “); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(“.”); } Serial.println(“”); Serial.println(“WiFi connected”); // Start the server server.begin(); Serial.println(“Server started”); // Print the IP address Serial.println(WiFi.localIP()); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data Serial.println(“new client”); while(!client.available()){ delay(1); } String req = client.readStringUntil(‘\r’); Serial.println(req); client.flush(); int val; if (req.indexOf(“/gpio/0”) != -1) val = 0; else if (req.indexOf(“/gpio/1”) != -1) val = 1; else { Serial.println(“invalid request”); client.stop(); return; } // Set GPIO2 according to the request digitalWrite(2, val); client.flush(); String s = “HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n

\r\n

\r\nGPIO is now “; s += (val)?”high”:”low”; s += ”

“; }

Trong Hướng dẫn Arduino này, chúng ta sẽ tìm hiểu cách tạo các ứng dụng Android để kiểm soát Arduino bằng ứng dụng trực tuyến MIT App Inventor. Bạn có thể xem video sau hoặc đọc hướng dẫn dưới đây.

Tổng quan

Đối với hướng dẫn này, chúng tôi có hai ví dụ. Ví dụ đầu tiên là điều khiển một đèn LED đơn giản và cái thứ hai là điều khiển động cơ bước sử dụng điện thoại thông minh.

Code Arduino

Dưới đây là tổng quan nhanh về code. Thông qua cổng nối tiếp, nhận được dữ liệu đến từ điện thoại và lưu trữ nó trong biến ‘trạng thái’. Nếu nhận được ký tự ‘0’ được gửi từ điện thoại khi nhấn nút ‘LED: TẮT’, chúng tôi sẽ tắt đèn LED và gửi lại cho điện thoại String Đèn LED: TẮT. Mặt khác, nếu chúng tôi nhận được ký tự ‘1’, chúng tôi sẽ bật đèn LED và gửi lại String Đèn LED: ON.

#define ledPin 7 int state = 0; void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); Serial.begin(38400); // Default communication rate of the Bluetooth module } void loop() { if(Serial.available() > 0){ // Checks whether data is comming from the serial port state = Serial.read(); // Reads the data from the serial port } if (state == ‘0’) { digitalWrite(ledPin, LOW); // Turn LED OFF Serial.println(“LED: OFF”); // Send back, to the phone, the String “LED: ON” state = 0; } else if (state == ‘1’) { digitalWrite(ledPin, HIGH); Serial.println(“LED: ON”);; state = 0; } }

Vì vậy, bây giờ chúng ta cần xây dựng ứng dụng Android tùy chỉnh của mình, nó sẽ gửi các ký tự ‘0’ và ‘1’ khi nhấn một nút cụ thể, cũng như, nhận các Chuỗi đến từ Arduino.

Nhà phát minh ứng dụng MIT

Từ trang web MIT App Inventor, cần đăng nhập vào ứng dụng xây dựng trực tuyến bằng cách nhấp vào nút Tạo ứng dụng! Để đăng nhập, cần phải có tài khoản Gmail. Khi đã đăng nhập, bạn có thể tạo dự án đầu tiên của mình. Đây là cửa sổ thiết kế và bây giờ chúng ta có thể bắt đầu xây dựng ứng dụng của mình.

Cửa sổ thiết kế ứng dụng MIT

Nhưng trước khi làm điều đó, chúng ta cần kết nối điện thoại của mình với dự án này để có thể xem ứng dụng đang hình thành trực tiếp trên điện thoại của chúng ta trong thời gian thực như thế nào. Để thực hiện điều đó trước tiên, phải tải xuống ứng dụng MIT AI2 Companion từ Play Store và cài đặt nó trên điện thoại. Sau đó, từ menu Connect từ trình chỉnh sửa trực tuyến, chọn AI Companion và mã vạch sẽ xuất hiện, sau đó chỉ cần quét hoặc chèn mã vào ứng dụng điện thoại và kết nối giữa trình chỉnh sửa trực tuyến và ứng dụng điện thoại sẽ được thiết lập.

Phát triển ứng dụng Mit và kết nối điện thoại

Bây giờ, ví dụ, nếu chúng ta chèn một nút trong màn hình của trình chỉnh sửa trực tuyến, nút này cũng sẽ xuất hiện trên điện thoại. Tương tự như vậy, nếu bạn không muốn sử dụng điện thoại của mình trong khi xây dựng ứng dụng, bạn có thể cài đặt Trình giả lập Android trên máy tính và sử dụng theo cách tương tự. Bạn có thể tìm thêm chi tiết cách thiết lập Trình mô phỏng trên trang web của họ.

Xây dựng ứng dụng – Ví dụ 1

Bây giờ bạn đã sẵn sàng để xây dựng ví dụ đầu tiên. Chúng ta sẽ bắt đầu với bố cục của chương trình. Đầu tiên, chúng ta sẽ thêm một số tính năng ngang từ bảng bố trí và đặt các thuộc tính của chúng như chiều cao, chiều rộng và căn chỉnh để phù hợp với giao diện mong muốn của chương trình. Sau đó, từ Bảng màu UserInterface, chúng ta sẽ thêm ListPicker và đính kèm hình ảnh vào đó. ListPicker sẽ được sử dụng để chọn thiết bị Bluetooth mà điện thoại của chúng tôi sẽ kết nối.

Xây dựng ứng dụng Android – Ví dụ 01

Tiếp theo, thêm một tính năng ngang khác, trong đó đặt tên cho nó. Nhãn này sẽ cho biết điện thoại có được kết nối hay không với mô-đun Bluetooth và đó là lý do tại sao chúng ta sẽ đặt tên ban đầu của nhãn này thành Không được kết nối. Nhãn tiếp theo sẽ được sử dụng để hiển thị trạng thái của đèn LED, cho dù đã tắt hay bật. Trạng thái ban đầu sẽ là LED: OFF. Tiếp theo, thêm hai nút, ‘Bật’ và ‘Tắt’ để điều khiển đèn LED. Tại thời điểm này, tốt hơn là đổi tên các thành phần để chúng ta có thể dễ dàng nhận ra và sử dụng chúng hơn trong trình chỉnh sửa Blocks sau này. Những gì còn lại bây giờ là thêm BluetoothClient, một thành phần không nhìn thấy cũng như đồng hồ sẽ được sử dụng để chỉ báo thời gian thực về trạng thái kết nối.

Trình chỉnh sửa khối

Bây giờ trong trình chỉnh sửa Blocks, chúng ta đã sẵn sàng hoàn thiện cho chương trình của mình. Từ phía bên trái, chúng ta có tất cả các khối và chức năng liên quan đến các thành phần được thêm vào trước đó.

Khối ứng dụng Android – Ví dụ 01

Chúng ta sẽ bắt đầu với Danh sách BluetoothList ListPicker. Từ đó trước tiên, chúng ta sẽ thêm khối ‘BeforePicking’ và đính kèm với khối ‘thiết lập các thành phần Bluetooth’. Sau đó, từ các khối BluetoothClient, thêm khối ‘ BluetoothClient AddressesAndNames’. Khối này sẽ thiết lập một danh sách các thiết bị Bluetooth đã được kết nối với điện thoại để khi nhấp vào nút ListPicker, nút kết nối, danh sách tất cả các thiết bị được ghép nối sẽ hiển thị.

Tiếp theo, chúng ta phải đặt những gì sẽ xảy ra sau khi chúng ta sẽ chọn hoặc chọn mô-đun Bluetooth cụ thể của mình. Từ khối BluetoothClient, thêm khối ‘call BluetoothClient .Connect address’. và thêm khối BluetoothList Selection’ vào đó, có nghĩa là điện thoại sẽ kết nối với địa chỉ Bluetooth đã chọn trước đó.

Tiếp theo từ các khối Đồng hồ, chúng tôi sẽ thêm khối “.Timer “. Trong khối này, chúng ta sẽ đưa ra dấu hiệu thời gian thực cho dù điện thoại có được kết nối hay không với mô-đun Bluetooth bằng cách sử dụng khối “set Text” có tên là “Connected”.

Khối đồng hồ

Tiếp theo chúng ta cần cung cấp cho cuộc sống cho hai nút. Vì vậy, khi nhấp vào nút TurnOn_Button, chúng tôi sẽ sử dụng chức năng máy khách Bluetooth, Send Send1ByteNumber, để gửi một số đến mô-đun Bluetooth Arduino. Trong trường hợp của chúng tôi, đó là số 49 tương ứng với ký tự ‘1’ theo bảng ASCII và nó sẽ bật đèn LED. Ngay sau đó, chúng tôi sẽ sử dụng chức năng BluetoothClient của Bluetooth GetText để nhận Chuỗi đến được gửi lại từ Arduino tới điện thoại. Chuỗi này được đặt thành Nhãn LED LED_Status.

Khối nút

Quy trình tương tự cũng diễn ra đối với “TurnOff_Button”, trong đó số gửi sẽ được thay đổi thành 48 tương ứng với ký tự ‘0’. Những gì còn lại bây giờ là tải xuống và cài đặt chương trình trên điện thoại. Chúng ta có thể tải từ menu của “Build” bằng cách lưu nó vào máy tính và sau đó chuyển vào điện thoại hoặc quét mã QR để tải xuống chương trình trực tuyến.

Đây là tệp tải xuống của dự án MIT App Inventor ở trên:

Ví dụ điều khiển động cơ bước

Bây giờ hãy xem ví dụ thứ hai, điều khiển động cơ bước. Ở đầu màn hình, chúng ta có các thành phần tương tự cho kết nối Bluetooth như ví dụ trước. Tiếp theo chúng ta có một thành phần Canvas được sử dụng để vẽ và chèn hình ảnh. Tôi đã chèn hai hình ảnh trước đây tôi đã vẽ. Cái đầu tiên là hình ảnh của một thước đo sẽ được cố định tại chỗ và cái thứ hai là hình ảnh của một con trỏ sẽ quay. Tiếp theo, chúng ta có nút Kiểm tra để chuyển đổi giữa Chế độ thủ công và Tự động hoặc chế độ chạy liên tục và một nút để thay đổi hướng xoay. Chúng ta còn có một thanh trượt để thay đổi tốc độ quay của động cơ bước.

Dưới đây là các khối và code Arduino đằng sau ví dụ này. Trong trình chỉnh sửa Blocks một lần nữa, chúng ta có các khối tương tự cho kết nối Bluetooth như ví dụ trước.

Ví dụ điều khiển động cơ bước Khối 01

Bây giờ để xoay con trỏ, chúng tôi sử dụng chức năng “.PointInDirection”, trong đó xoay con trỏ từ vị trí 0 ° theo trục X và Y nơi Canvas đã được chạm vào. Đồng thời, đặt tiêu đề ImageSprite thành tên con trỏ. Sau đó, gọi thủ tục tùy chỉnh được thực hiện hoặc chức năng delay 10m giây.

Cuối cùng, gửi giá trị tiêu đề dưới dạng Văn bản tới Arduino bằng chức năng Bluetooth SendText của Bluetooth. Giá trị này sẽ được chấp nhận bởi Arduino và nó sẽ xoay động cơ bước tương ứng.

Tiếp theo là khối CheckBox. Nếu CheckBox được kiểm tra, chúng tôi sẽ gửi văn bản (Auto Auto) đến Arduino để kích hoạt động cơ bước để xoay liên tục. Mặc dù đang ở chế độ này nếu nhấn nút Reverse, chúng ta sẽ gửi văn bản Nghịch đảo Reverse tới Arduino để thay đổi hướng quay của động cơ. Ngoài ra, trong khi ở chế độ này, chúng ta có thể thay đổi tốc độ quay. Nếu chúng ta thay đổi vị trí của thanh trượt, giá trị hiện tại của vị trí thanh trượt sẽ được gửi đến Arduino, nó sẽ thay đổi tốc độ quay của động cơ bước. Nếu chúng ta bỏ chọn CheckBox, chúng tôi sẽ quay lại chế độ thủ công.

Đây là tệp tải xuống của dự án MIT App Inventor ở trên, cũng như hai hình ảnh được sử dụng trong dự án:

Dịch từ: https://howtomechatronics.com/tutorials/arduino/how-to-build-custom-android-app-for-your-arduino-project-using-mit-app-inventor/

Đây là code Arduino của ví dụ thứ hai:

// Defining variables const int stepPin = 7; const int dirPin = 6; String state = “”; int currentHeading=0; int currentAngle=0; int lastAngle=0; int angle=0; int rotate=0; int runContinuously=0; String mode = “Manual”; boolean dirRotation = HIGH; int rotSpeed = 1500; void setup() { // Sets the two pins as Outputs pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT); Serial.begin(38400); // Default communication rate of the Bluetooth module } void loop() { delayMicroseconds(1); if(Serial.available() > 0){ // Checks whether data is comming from the serial port state = Serial.readString(); // Reads the data from the serial port } // When Auto Button is pressed if (mode == “Auto”) { if (state == “Reverse”) { delay(10); if (dirRotation == HIGH) { dirRotation = LOW; } else { dirRotation = HIGH; } digitalWrite(dirPin,dirRotation); delay(10); state = “”; } rotSpeed = state.toInt(); if (rotSpeed >= 300 && rotSpeed <= 3000) { digitalWrite(stepPin,HIGH); delayMicroseconds(rotSpeed); digitalWrite(stepPin,LOW); delayMicroseconds(rotSpeed); } else { digitalWrite(stepPin,HIGH); delayMicroseconds(1500); digitalWrite(stepPin,LOW); delayMicroseconds(1500); } if (state == “Manual”){ mode = state; } } // When Program is in Manual mode else if (mode == “Manual”){ currentHeading = state.toInt(); //Serial.println(angle); //Serial.println(state); if (currentHeading < 0 ){ currentHeading = 360+currentHeading; } currentAngle = map(currentHeading,0,359,0,200); digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction // Makes 200 pulses for making one full cycle rotation if (currentAngle != lastAngle){ if(currentAngle > lastAngle){ rotate = currentAngle – lastAngle; for(int x = 0; x < rotate; x++) { digitalWrite(stepPin,HIGH); delayMicroseconds(500); digitalWrite(stepPin,LOW); delayMicroseconds(500); } } if(currentAngle < lastAngle){ rotate = lastAngle – currentAngle; digitalWrite(dirPin,LOW); //Changes the rotations direction for(int x = 0; x < rotate; x++) { digitalWrite(stepPin,HIGH); delayMicroseconds(500); digitalWrite(stepPin,LOW); delayMicroseconds(500); } } } lastAngle = currentAngle; if (state == “Auto”){ mode = state; } } }

hello Guys,
I want any example of AIA and INO file for sending and receiving data at the same time by bluetoothusing index.
1 . Sending 3 data from app to arduino, the data are numbers
2. Doing mathematical operations with arduino with those numbers
3. Sending those 3 results to app inventor.

I did that, but i get always problems with numbers witch are not shown in their right place in the screen and the error of index too large , despite i changed many times the clock value and delimiter byte.

char Incoming_value = 0;
char p ;
int p2 =0;
int palab=0 ;
int b = 0;
void setup() {
// put your setup code here, to run o
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available() > 0)
{

palab =Serial.parseInt();

}
if (palab >0) {b =palab;}
int m = b*2;
delay(10);
Serial.print (millis()/100);
Serial.print (“|”);

Be sure to use println() at the end of each message to send from the sending device, to signal end of message. Do not rely on timing for this, which is unreliable.

In the AI2 Designer, set the Delimiter attribute of the BlueTooth Client component to 10 to recognize the End of Line character.

Also, return data is not immediately available after sending a request,
you have to start a Clock Timer repeating and watch for its arrival in the Clock Timer event. The repeat rate of the Clock Timer should be faster than the transmission rate in the sending device, to not flood the AI2 buffers.

In your Clock Timer, you should check

Is the BlueTooth Client still Connected?
Is Bytes Available > 0?
IF Bytes Available > 0 THEN
set message var to BT.ReceiveText(-1)

This takes advantage of a special case in the ReceiveText block:

ReceiveText(numberOfBytes)
Receive text from the connected Bluetooth device. If numberOfBytes is less than 0, read until a delimiter byte value is received.

If you are sending multiple data values per message separated by | or comma, have your message split into a local or global variable for inspection before trying to select list items from it. Test if (length of list(split list result) >= expected list length) before doing any select list item operations, to avoid taking a long walk on a short pier. This bulletproofing is necessary in case your sending device sneaks in some commentary messages with the data values.

In this post I’m going to introduce you to the MIT App Inventor 2 software and I’m going to show you what you need to quickly getting started building Android apps that interact and control your Arduino.

Here’s the contents that are going to be covered in this post:

  • Introducing MIT App Inventor 2
  • Why MIT App Inventor 2 is a good choice?
  • Accessing MIT App Inventor 2
  • How to control Arduino with MIT App Inventor (Bluetooth)
  • MIT App Inventor Overview
  • Projects with MIT App Inventor
  • Android Apps for Arduino with MIT App Inventor 2

Accessing MIT App Inventor 2

To access MIT App Inventor 2 go to http://appinventor.mit.edu/explore/ and press the orange Create Apps button.

To access the app builder, you need a Google account. Follow the on-screen steps to login into MIT App Inventor 2. After that, you’ll be presented with the following dashboard (we’ll cover how to use the dashboard in the MIT App Inventor 2 Overview section):

App Inventor 2 receive arduino 2 potmeter value
App Inventor 2 receive arduino 2 potmeter value

How to Control Arduino with MIT APP Inventor (Bluetooth)

To establish a connection between the Arduino and your Android app, you need a Bluetooth communication protocol. For that, you need a Bluetooth module.

The most common Bluetooth modules used with the Arduino are the HC‑05 bluetooth, HC-04 and HC-06.

For more information about the bluetooth module, you can check this blog post: Reviews – HC-05 Bluetooth Module

The Bluetooth module works with serial data. This means that the Arduino sends information and the Bluetooth module receives it via serial (and vice-versa).

The following figure explains how the information flows from the Android app to the Arduino.

Your smartphone sends information to the Bluetooth module via Bluetooth. Then, the Bluetooth module sends the information via serial communication to the Arduino. This flow also works the other way around: the Arduino sends information to the Bluetooth module that sends it to the smartphone via Bluetooth.

Keywords searched by users: app inventor 2 arduino

App Inventor 2 : Android Receive Data From Arduino Via Bluetooth - Youtube
App Inventor 2 : Android Receive Data From Arduino Via Bluetooth – Youtube
Getting Started Mit App Inventor 2 | Random Nerd Tutorials
Getting Started Mit App Inventor 2 | Random Nerd Tutorials
Arduino And App Bluetooth - Mit App Inventor Help - Mit App Inventor  Community
Arduino And App Bluetooth – Mit App Inventor Help – Mit App Inventor Community
Receiveing Values From Arduino To App - Mit App Inventor Help - Mit App  Inventor Community
Receiveing Values From Arduino To App – Mit App Inventor Help – Mit App Inventor Community
Using Mit App Inventor To Control Arduino - The Basics : 8 Steps (With  Pictures) - Instructables
Using Mit App Inventor To Control Arduino – The Basics : 8 Steps (With Pictures) – Instructables
Ai2 Inventor Forum News: Mit App Inventor, Arduino And Bluetooth
Ai2 Inventor Forum News: Mit App Inventor, Arduino And Bluetooth
How To Use App Inventor With Arduino | Random Nerd Tutorials
How To Use App Inventor With Arduino | Random Nerd Tutorials
Receiving Data From Arduino Into App Inventor Using Hm-10 Bluetooth Module  - Mit App Inventor Help - Mit App Inventor Community
Receiving Data From Arduino Into App Inventor Using Hm-10 Bluetooth Module – Mit App Inventor Help – Mit App Inventor Community
I Need Your A Help [App Inventor 2 Receive Data From Arduino Via  Bluetooth(Hm-10)] - Mit App Inventor Help - Mit App Inventor Community
I Need Your A Help [App Inventor 2 Receive Data From Arduino Via Bluetooth(Hm-10)] – Mit App Inventor Help – Mit App Inventor Community
App Inventor 2 Tutorial-Arduino Bluetooth Control - Youtube
App Inventor 2 Tutorial-Arduino Bluetooth Control – Youtube
Arduino + App Inventor Select List Item: Attempt To Get Item Number 2 Of  List Of Length 1(0) - Mit App Inventor Help - Mit App Inventor Community
Arduino + App Inventor Select List Item: Attempt To Get Item Number 2 Of List Of Length 1(0) – Mit App Inventor Help – Mit App Inventor Community
Unable Receive Data From Arduino Ble - Mit App Inventor Help - Mit App  Inventor Community
Unable Receive Data From Arduino Ble – Mit App Inventor Help – Mit App Inventor Community
Bluetooth Hc-06. Arduino. Send. Receive. Send Text File. Multitouch. Image  - #20 By Juan_Antonio - Tutorials And Guides - Mit App Inventor Community
Bluetooth Hc-06. Arduino. Send. Receive. Send Text File. Multitouch. Image – #20 By Juan_Antonio – Tutorials And Guides – Mit App Inventor Community
Receive Midi Data Over Bluetooth - Mit App Inventor Help - Mit App Inventor  Community
Receive Midi Data Over Bluetooth – Mit App Inventor Help – Mit App Inventor Community
Bluetooth Hc-06. Arduino. Send. Receive. Send Text File. Multitouch. Image  - Tutorials And Guides - Mit App Inventor Community
Bluetooth Hc-06. Arduino. Send. Receive. Send Text File. Multitouch. Image – Tutorials And Guides – Mit App Inventor Community
Sending Text From Arduino To App Inventor Via Bluetooth In Order To Play A  Corresponding Voice Message Via Player - Mit App Inventor Help - Mit App  Inventor Community
Sending Text From Arduino To App Inventor Via Bluetooth In Order To Play A Corresponding Voice Message Via Player – Mit App Inventor Help – Mit App Inventor Community
Tutorial Mit App Inventor Con Arduino Y Bluetooth. Varios Ejemplos - Youtube
Tutorial Mit App Inventor Con Arduino Y Bluetooth. Varios Ejemplos – Youtube
My Arduino Seems To Be Sending Different Data To My Pc Than It Is Sending  To My Phone App Made In Mit App Inventor - Mit App Inventor Help - Mit App
My Arduino Seems To Be Sending Different Data To My Pc Than It Is Sending To My Phone App Made In Mit App Inventor – Mit App Inventor Help – Mit App
Two Way Bluetooth-Arduino Communication: Part 2 - Mit App Inventor Help - Mit  App Inventor Community
Two Way Bluetooth-Arduino Communication: Part 2 – Mit App Inventor Help – Mit App Inventor Community
Multiple Values To Arduino - Mit App Inventor Help - Mit App Inventor  Community
Multiple Values To Arduino – Mit App Inventor Help – Mit App Inventor Community

See more here: kientrucannam.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *