Гуру
Регистрация: 16.11.2010
Адрес: Белгород, 31Rus
Возраст: 63
Пол: Мужской
Сообщений: 7,058
|
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);
}
}
}
__________________
Лучше быть хорошим человеком, ругающимся матом, чем тихой, воспитанной тварью
© Фаина Раневская
************************************************** ****************
Не спорю с дураками, люди могут не понять разницы ©
|