About Arduino Programming Pro
[Features]
App is used to program (change pin settings) of Arduino remotely using Bluetooth. You do not need to download programs to change pin mode you can do it remotely using this app.
It is a instant messenger using which you can send commands to Arduino e.g. change pin mode to OUTPUT or INPUT by sending command 'pinMode'. It is also used to control the Arduino remotely using Bluetooth.
It has predefined messages (Arduino functions/commands) like pinMode, digitalWrite etc. and user only has to tap on the pin number to construct messages.
Its a great tool to to learn Arduino in the most fun way by chatting with Arduino. Many Arduino sketches(programs) can be developed around this app to enhance learning experience. Using this app is a good interactive way of learning machines. It is also used to quickly test Arduino and Arduino based machines.
It uses Bluetooth for communication. You will need a Arduino with Bluetooth. You can find many tutorials to connect Bluetooth like HC-05 to Arduino. You also need to upload in Arduino the sample sketch (program code) given here. This sketch can be customized/changed to suit your needs, language and enhance your experience.
[Arduino Sketch]
/******sketch for WhatsUpArduino App*******/
#include <SoftwareSerial.h> // import the serial library
SoftwareSerial chat(10, 11); // RX, TX
void setup() {
chat.begin(9600);
}
void loop() {
if (chat.available()){
String readStr = "";
readStr=chat.readString();
//pinMode
if(readStr.startsWith("pinMode")){
String pin=readStr.substring(readStr.indexOf("(")+1,readStr.indexOf(","));
int pinNo=pin.toInt();
String mode=readStr.substring(readStr.indexOf(", ")+2,readStr.indexOf(")"));
if(mode=="INPUT"){
pinMode(pinNo, INPUT);}
if(mode=="OUTPUT"){
pinMode(pinNo, OUTPUT);}
if(mode=="INPUT_PULLUP"){
pinMode(pinNo, INPUT_PULLUP);}
chat.println("done");
}
//digitalWrite
if(readStr.startsWith("digitalWrite")){
String pin=readStr.substring(readStr.indexOf("(")+1,readStr.indexOf(","));
int pinNo=pin.toInt();
String value=readStr.substring(readStr.indexOf(", ")+2,readStr.indexOf(")"));
if(value=="HIGH"){
digitalWrite(pinNo, HIGH);}
if(value=="LOW"){
digitalWrite(pinNo, LOW);}
chat.println("done");
}
//digitalRead
if(readStr.startsWith("digitalRead")){
String pin=readStr.substring(readStr.indexOf("(")+1,readStr.indexOf(","));
int pinNo=pin.toInt();
int val=digitalRead(pinNo);
if(val==1){
chat.println("it's HIGH");}
if(val==0){
chat.println("it's LOW");}
}
//analogWrite
if(readStr.startsWith("analogWrite")){
String pin=readStr.substring(readStr.indexOf("(")+1,readStr.indexOf(","));
int pinNo=pin.toInt();
String val=readStr.substring(readStr.indexOf(", ")+2,readStr.indexOf(")"));
int value=val.toInt();
if(pinNo==10 || pinNo==11){
chat.println("You were trying to write on pins which are used by bluetooth RX/TX");// analog write/PWM on pins used by bluetooth can interrupt communication.
}else{
analogWrite(pinNo, value);
chat.println("done");
}
}
//analogRead
if(readStr.startsWith("analogRead")){
String pin=readStr.substring(readStr.indexOf("(")+1,readStr.indexOf(","));
int pinNo=pin.toInt();
int val=analogRead(pinNo);
chat.println("it's " + String(val));
}
}
}
/********end of sketch**********/
[Plus Button]
The Plus '+' button opens system Bluetooth settings to scan Bluetooth devices and 'pair' them with mobile devices.
[Info Button]
The info button 'i' connects to 'Language Reference' page on Arduino website.