Stap 7: Kopieer de code en het laden in uw Arduino
/*
Oliepressuresensor VDO 0-5 bar met schakelaar voor Yanmar 3GM 30 boot motor eerst nam een manometer fot banden pompen en de druk versus Ohm toegewezen. Zet het in een tabel. Ik aangesloten een compressor naar mijn tirepumping pistool met een pice van waterhose en twee klemmen. Ik begon bij 5 bar en laat lucht uit elke twee tientallen een bar minder en schreef de ohm in een tabel. Ik aangesloten op mijn werkbank een potentiometer om de digitale waarden die ik kreeg terug te vinden. Een beetje lastig. Het LCD-scherm en het serienummer controleren waar bijten elkaar. Beetje beetje fidling over. Maar het werkte. Ik zet de RAWADC waarden in mijn tabel en doe in de getallen op de if, else-statement in de onderstaande code.
De voeding is 5V geregeld. Ik ontdekte dat de arduino wegviel de macht tot en met 4, 5V. Ik begon te proberen in het voorbeeld vinden op http://secrettweakerpad.blogspot.nl/2012/08/contr... Ik gebruikte dit schema uit te werken. Zijn equeation did niet werkzaamheden voor mij. De lezingen waar ver weg. Toegang mijn sensor heeft diverend waarden. De schematische voorstelling gewerkt dus ik hield het. Ook de routine die hij gebruikte ik aangepast en gewijzigd. Bedankt RenaissanceMan voor het delen.
Gezocht op het internet en vond http://secrettweakerpad.blogspot.nl/2012/08/contr... van Ken Kallsen. Bedankt voor het delen. Gebruikt het vloeibare christal voorbeeld om te starten verstrekt bij de arduino interface. Anders functie als gekopieerd en tot mijn verbazing het eerst werkte.
Het circuit:
* LCD RS pin naar digitale pin 12
* LCD inschakelen pin naar digitale pin 11
* LCD D4 pin naar digitale pin 5
* LCD D5 pin naar digitale pin 4
* LCD D6 pin naar digitale pin 3
* LCD D7 pin naar digitale pin 2
* LCD R/W pen op grond
* LCD VSS pin op grond
* LCD VCC pin naar 5V
* 10K Ohm weerstand:
* eindigt aan + 5V en ground
* wisser naar LCD VO pin (pin 3) *
* Ik gebruikte een spanningsregelaar beschreven op http://secrettweakerpad.blogspot.nl/2012/08/contr... van P. Marian heks gehanteerd tof
* Nogmaals bedankt voor het delen. Ik voegde een groene led met een weerstand van 150 Ohm te zien als ik de macht kreeg.
* MCP1755 spanningsregelaar.
* Electrolitic condensator 1 Uf en 10Uf
* Groene Led * 150 ohm weerstand
*
* A2 als de readanalog-poort gebruikt.
* Ik gebruikte voor de scheidingslijn van de spanning een weerstand van 1000Ohms rechtdoor de 5V en de sensor op de negatieve kant.
* De middlepoint dat ik naar de analoge poort van A2 leiden.
http://secrettweakerpad.blogspot.nl/2012/08/Contr...
* Zorg ervoor dat u paar de minknop van de regelgever en de arduino samen
* Ik wil de 12V uit mijn boot te voeden van de arduino en de sensor te gebruiken.
* De spanningsregelaar zullen mouted in de buurt van het motorblok te verstrekken de 5V op de sensor.
Intentie is te monteren een tempeture sensensor voor de uitlaatgassen, water-sensor, motor baai tempeture sensor en oliedruk sensor koeling en weer te geven op een GLCD scherm.
Dit kan worden gebruikt voor een heleboel sensoren gewoon kaart uit de waarden en u bent goed om te gaan.
Hier is de standaard Cristal display woorden zoals gebruikt in het voorbeeld gebied.
Bibliotheek oorspronkelijk toegevoegd 18 Apr 2008 door David A. Mellis bibliotheek 5 Jul 2009 gewijzigd door Limor Fried (http://www.ladyada.net) voorbeeld toegevoegd dat 9 Jul 2009 door Tom Igoe gewijzigd 22 Nov 2010 door Tom Igoe
Deze voorbeeldcode is in het publieke domein.
http://www.Arduino.CC/en/tutorial/LiquidCrystal
*/ //----------------------------------------------------------
#include < LiquidCrystal.h
de bibliotheek code liquidcristal omvatten:
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
float oliedruk; Variabele voor de berekening van de oliedruk
//-----------------------------------------------------------------
VOID Setup {}
LCD.begin (16, 2); de LCD's aantal kolommen en rijen instellen:
LCD.Print("oliedruk"); Een bericht op het LCD-scherm afdrukt.
Serial.begin(9600);
}
//------------------------------------------------------------------
void loop {}
Oliedruk = (float(OilPressure1(analogRead(2)));
lcd.setCursor(0,2); Beginnen met afdrukken op de tweede regel.
LCD.Print(float(OilPressure)); Pinten oliedruk naar het display
LCD.Print ("BAR");
}
//---------------------------------------------------------------------
float OilPressure1(float RawADC) {}
float druk; Lokale variabele. Alleen gebruikt in deze routine.
Serial.println(RawADC);
if(RawADC < 30) druk = 0,0;
else if (RawADC < 62) druk = 0. 4;
else if (RawADC < 72) druk = 0,6;
else if (RawADC < 78) druk = 0,8;
else if (RawADC < 86) druk = 1,0;
else if (RawADC < 95) druk = 1.2;
else if (RawADC < 102) druk = 1.4;
else if (RawADC < 105) druk = 1.6;
else if (RawADC < 112) druk = 1,8;
else if (RawADC < 117) druk = 2.0;
else if (RawADC < 125) druk = 2.2;
else if (RawADC < 128) druk = 2.4;
else if (RawADC < 137) druk = 2.6;
else if (RawADC < 142) druk = 2.8;
else if (RawADC < 147) druk = 3,0;
else if (RawADC < 152) druk = 3.2;
else if (RawADC < 159) druk = 3.4;
else if (RawADC < 166) druk = 3.6;
else if (RawADC < 171) druk = 3.8;
else if (RawADC < 176) druk = 4.0;
else if (RawADC < 181) druk = 4.2;
else if (RawADC < 183) druk = 4.4;
else if (RawADC < 188) druk = 4.6;
else if (RawADC < 195) druk = 4,8;
else if (RawADC < 198) druk = 5.0;
delay(1000); Gewoon een vertraging anders die het display knippert
Druk = druk * 14,7; converteren van bar PSI
retourneren van druk; Keert terug naar de tweede regel van de functie van de lus.
}