управления яркостью светодиода при помощи андроид app и arduino
- Войдите на сайт для отправки комментариев
Чт, 26/01/2017 - 23:41
Приветствую товарищи ! Вот на днях написал андроид приложения https://play.google.com/store/apps/details?id=comartur.wix.loksavejs.slider .Принцип работы прост :
программа считывает положения ползунка и превращает в цифры 0 - 100 пересылая их через блютуз arduino платье на которой в свою очередь имеется блютузприемник HC-06.Для блютуз приемника имеются альтернативы ; HC - 05 ,HC - 07,"Arduino BT (Bluetooth)" ,"Bluetooth Shield" и другие ...
схема подключения :

Android sketch:
/*
Android bluetooth slider
*/
int led = 11;
int incomingByte ; // for incoming serial data
int temp,temp2,temp3;
void setup() {
pinMode(led, OUTPUT); // sets the digital pin as output
Serial.begin(9600); // setup serial
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
//...........................................convert incoming data to 0-250 int
if(incomingByte==65){temp2=10;}//10 "A"
if(incomingByte==66){temp2=20;}//20 "B"
if(incomingByte==67){temp2=30;}//30 "C"
if(incomingByte==68){temp2=40;}//40 "D"
if(incomingByte==69){temp2=50;}//50 "E"
if(incomingByte==70){temp2=60;}//60 "F"
if(incomingByte==71){temp2=70;}//70 "G"
if(incomingByte==72){temp2=80;}//80 "H"
if(incomingByte==73){temp2=90;}//90 "I"
if(incomingByte==74){temp2=0; }//00 "J"
if(incomingByte==48){temp=0;}//0
if(incomingByte==49){temp=1;}//1
if(incomingByte==50){temp=2;}//2
if(incomingByte==51){temp=3;}//3
if(incomingByte==52){temp=4;}//4
if(incomingByte==53){temp=5;}//5
if(incomingByte==54){temp=6;}//6
if(incomingByte==55){temp=7;}//7
if(incomingByte==56){temp=8;}//8
if(incomingByte==57){temp=9;}//9
temp3=(temp+temp2); // Here temp3 contains 0-100 value
temp3=temp3*10/4; // Converts to 0-250
//.............................................................................
analogWrite(led,temp3); // sets value to output led pin
}
}Андроид приложения присылает два поочередных ASCII байта : первый буква A ,B ,C ... означающий десяток , второй байт цифра 0 - 9 .Зачем эти два значения складываются , для получения значения 0 - 100 . Поскольку максимальное значения для PWM сигнала 255 каждое полученное число умножается на 2.5 .