Показать сообщение отдельно
Старый 11.02.2017, 11:25   #216
Гуру
 
Аватар для angtar
 
Регистрация: 16.11.2010
Адрес: Белгород, 31Rus
Возраст: 63
Пол: Мужской
Сообщений: 7,058
Записей в дневнике: 28
Вес репутации: 228220 angtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутацииangtar имеет репутацию за пределами доброй репутации
Отправить сообщение для angtar с помощью ICQ Отправить сообщение для angtar с помощью Skype™
Re: Самодельный бортовой компьютер через K-Line

Цитата:
Сообщение от Lisenkow Посмотреть сообщение
Serial.begin(9600); //для вывода на порт
не моё:
Пример для Я7.2
#include <SoftwareSerial.h>
int y ;
String out;
String out2;
String out3 = "";
String out4 = "";
String out5 = "";
String out6 = "";
int inChar ;
int st1;
int spd;
int spd2;
int outspd;
int outspd2;
int tax1;
int tax2;
int outputPin = 6;
int outputPin2 = 7;
int outputPin3 = 13;
int outPin = 3;

SoftwareSerial Serial_2(2, 3); // RX, TX

void setup()
{
pinMode(outputPin, OUTPUT);
pinMode(outputPin2, OUTPUT);
pinMode(outputPin3, OUTPUT);
delay(500);
//Serial.begin(9600);
Serial_2.begin(10400);

char bytes8[] = {0x81,0x10,0xF1,0x82,0x04};
Serial_2.print(bytes8);
//char inChar8 = Serial_2.read();
//Serial.write(inChar8);
Serial_2.end();

digitalWrite(outPin, HIGH);
delay(350);
digitalWrite(outPin, LOW);
delay(25);
digitalWrite(outPin, HIGH);
delay(25);
//delayMicroseconds(600);
Serial_2.begin(10400);

//char bytes7[] = {0x81,0x10,0xF1,0x81,0x03};
//Serial_2.print(bytes7);
// delay(200);

char bytes9[] = {0x81,0x10,0xF1,0x81,0x03};
Serial_2.print(bytes9);
delay(200);



}



void loop()
{
//while (Serial_2.available()) {
// char inChar77 = Serial_2.read();
//Serial.write(inChar77);
//}
y = 0;
out2 = "";
out = "";
inChar=0;
char bytes3[] = {0x82,0x10,0xF1,0x21,0x01,0xA5};
Serial_2.write(bytes3);
delay(200);
while (Serial_2.available()) {
inChar = Serial_2.read();
//Serial.write(inChar);
y = int(inChar);
out = String(inChar);
if (y >= 100) {
out2 = String(y);
}

if (y >= 10) {
if (y <= 99) {
out2 = "0" + out;
}
}

if (y < 10) {
out2 = "00" + out;
}

out3 = out3 + "," + out2;
//Serial.print(out3);
}


if (Serial_2.available() <= 0 ) {
//String poi = "128,241,016,060";
String poi = "128,241,016"; //80,F1,10,4A
//Serial.print(out3);
//Serial.println();


st1 = out3.indexOf(poi);

if (st1 > 0) {
st1 = out3.indexOf(poi);
out4 = out3.substring(st1+16);
//Serial.print(out4);
out5 = out4.substring(53,56);
out6 = out4.substring(49,52);


const int n = 10;
char *f = new char[n];
String s = out5;
s.toCharArray(f,n);
int spd = atoi(f);
// ...
delete[] f;





const int nn = 10;
char *ff = new char[nn];
String ss = out6;
ss.toCharArray(ff,nn);
int spd2 = atoi(ff);
// ...
delete[] ff;



outspd = spd*40;
outspd2 = spd2;
//spd = byte(out5);
//tax1 = 159 - (spd * 4);
//if (tax1 > 1) {

// Serial.println(tax1);
//}
if (outspd < 1500) {
digitalWrite(outputPin, HIGH);
}
if (outspd > 1500) {
digitalWrite(outputPin, LOW);
}

if (outspd2 > 40) {
digitalWrite(outputPin2, HIGH);

}
if (outspd2 < 40) {
digitalWrite(outputPin2, LOW);

}


//if (outspd2 > 40) {
digitalWrite(outputPin3, HIGH);
delay(70);
// }
// if (outspd2 < 40) {
digitalWrite(outputPin3, LOW);
delay(70);
// }
//Serial.println(tax1);
//Serial.println(outspd2);
}
}
}
__________________
Лучше быть хорошим человеком, ругающимся матом, чем тихой, воспитанной тварью
©
Фаина Раневская
************************************************** ****************
Не спорю с дураками, люди могут не понять разницы ©

angtar вне форума   Ответить с цитированием Вверх