Направи си сам бордов компютър за кола на Arduino за $ 25

За около $ 25 ще направим бордов компютър, който може да отчита разхода на гориво, да показва температурата на охлаждащата течност, скоростта на автомобила, разстоянието на пътуване, консумирания бензин за пътуване, оборотите на двигателя, налягането във всмукателния колектор, температурата на всмукателния колектор, UOZ и много други. Възстановяването на грешка е налично в режим | --recovery-- | (как да влезете е написано по-долу). Анкетирането на данни от екюто се извършва приблизително 2 пъти в секунда.

бордов

направи

бордов

направи

направи

направи

бордов

направи

Списък на необходимите части за сглобяване BC

1) Arduino Uno R3 - 1 бр.

бордов

2) LCD2004 lcd модул

3) Bluetooth модул HC-05

бордов

4) OBD ELM327 Bluetooth скенер

компютър

5) 5 kOhm резисторен тример, звуков сигнал за звук, 2 бутона за смяна на екрани, проводници за връзки, корпус

Конфигуриране на Bluetooth модул HC-05 за работа

Ние спояваме проводниците към щифтовете на bluetooth: (вижте картината с изходи в описанието на необходимите части)

  • 1 е TX
  • 2 е RX
  • 12 е 3.3V
  • 13 е GND
  • 34 - ние също хвърляме 3.3 V на този вход (необходимо за превключване на модула в режим на конфигуриране с помощта на AT команди).

Свързваме bluetooth модула към arduino.

  • 1 - TX модул в 6 пинови ардуини. (вниманието ще бъде TX към TX, това не е грешка!)
  • 2 - RX модул в 7 пинови ардуини. (по същия начин не е грешка!)
  • 12 - и 34 щифта до 3.3V ардуини.
  • 13 - GND arduins.

Отворете IDE на Aduino и качете скицата през USB порта на платката.

#include
SoftwareSerial BTSerial (6, 7); // TX | RX
настройка за празнота ()
Serial.begin (9600);
Serial.println ("Въвеждане на AT команди:");
BTSerial.begin (38400);
>

цикъл void ()
ако (BTSerial.available ())
Serial.write (BTSerial.read ());
ако (Serial.available ())
BTSerial.write (Serial.read ());
>

След като качете скицата успешно, отворете: Service-> Port Monitor. След това, отдолу, задайте скоростта на 9600 бода и NL + CR заедно.

След това въведете командите една по една и щракнете върху [Изпрати]. След всяко въвеждане трябва да има отговор .

Това е, настройката на Bluetooth модула е завършена.

Сега трябва да сглобите веригата Arduino, bluetooth, lCD екран

1. Нека започнем, като свържем Bluetooth модула HC-05.

  • 1 - поставяме TX модула в 7 Pin (Rx) на арудина (а именно TX в RX, не както преди);
  • 2 - поставете RX модула в 8-пинов (Tx) на арудините;
  • 12 - Pin (3.3V) на модула към Pin 3.3V arduino;
  • 13 - Пин (Gnd) в Gnd на арудуини;
  • 34 - ПИН, който не свързваме никъде (изолираме или разпаяваме).

2. Свържете LCD монитора.

  • VSS екран към GND arduino;
  • VDD екран до 5V arduino;
  • Щит V0 към централния изход на резистора;
  • RS на екрана до 12-ия пин на arduino;
  • RW екран към GND arduino;
  • E екран към щифт 11 на arduino;
  • DB4 на екрана към 5-ия щифт на arduino;
  • DB5 на екрана към 4-ия щифт на arduino;
  • Екран DB6 към щифт 3 на arduino;
  • DB7 на екрана към 2-ри щифт на arduino;
  • A - до 5V ардуини;
  • K - GND arduins.

Останалите крака на резистора: поставете единия върху GND ардуини, а другия върху 5V ардуини.

За управление на контраста на монитора е необходим 5K променлив резистор, така че ако го включите и не виждате нищо, когато го включвате за първи път, опитайте да регулирате контраста на шрифта, като завъртите резистора.

3. Свързваме допълнителен бутон за превключване на екрани с данни.

[1 бутон]: свържете единия край на нормално отворения бутон към GND на arduino, а другия край към щифт 10.
[2 бутон]: GND + щифт 9.

Свържете звуковия сигнал за звукови предупреждения съгласно следната схема "+" към щифт 13, а минуса към GND на arduino.

Качване на скица в Arduino с помощта на IDE на Arduino

Единственото нещо в скицата е променлива, която трябва да се коригира в съответствие с обема на вашата кола. Скицата е написана така, че да е ясна за всеки и всеки може да поправи каквото пожелае.

Има три променливи, които трябва да се вземат предвид:

един) ED = 2.000 Например обемът на двигателя в литри е 1.398;
2) VE = 80,00 Обемна ефективност на двигателя с вътрешно горене: обикновено около 80 (ако потокът всъщност е по-малък, тогава намаляваме стойността като процент). Ако не искате да калибрирате, уверете се, че при топъл двигател моментният дебит в l/h е около половината от обема на двигателя;
3) правилно = 1,014 (калибриране на времето).

Може би Arduino няма да отчита точно времето, използвайки командата millis () ... Тук трябва само да настроите ръчно стойността. Екранът "технологичен 2" ще покаже секундите: например time_start: 23. Сравнете стойността с реалната. Например, маркирайте 10 минути, когато стойността на time_start ще бъде например равна на 23. И се оказва, че след 600 секунди всъщност ще покаже 605. Общо 623-605 = 18 секунди закъснение в arduino. Тоест, корекционният коефициент за корекция ще бъде 623/605 = 1,02975.

Контрол

[Бутон 1], [бутон 2] - превъртане на екрана напред назад.
Когато е включен, с надпис Connecting ... задръжте [бутон 1], за да влезете в режим на показване на технологични екрани и параметри, зададени от ECU в десетичен формат. Ако включите BC извън колата, трябва да деактивирате функцията за Bluetooth анкетиране, трябва да продължите да държите два бутона, когато пишете | --- Възстановяване-- | ... в противен случай екранът ще бъде празен.

[Бутон 1] + [Бутон 2]: 4 секунди - Нулирайте общия пробег и дневника на консумирания бензин.

Това е, отиваме до колата, вмъкваме ELM327 в порта, arduino в зарядното за кола и проверяваме.

UPD 02/19/15: Добавен е дневник на общия пробег и изразходвания бензин. Нулиране - задръжте двата бутона за 3 секунди;
UPD 02.22.15: Добавен е екран за изчистване на грешки в режим на възстановяване. За да изчистите грешките, задръжте двата бутона за 4 секунди;
UPD 02/23/15: Добавен екран за регулиране на горивото;
UPD 02.24.15: Когато е включен, BC проверява дали има грешки в двигателя. Ако е налично, той записва колко грешки има в двигателя и показва кода на грешката. Нулирането е налично в режим на възстановяване;
UPD 02/25/15: Добавени екрани за кислородни сензори B1S1, B1S2;
UPD 02/26/15: Добавен звуков сигнал. Ако температурата на двигателя е над 102 градуса, след това покажете предупреждението за висока температура на екрана и издавайте звуков сигнал, също ще се чуе звук, когато Джеки Чан;
UPD 02/28/15: Добавен режим "спиране с двигател", при който потокът не се отчита, тъй като в този момент е с нули.