Nigel Goodwin said:Try this friend my mine's site http://www.taximania.net/
URL given by Nigel has been changed to **broken link removed**.. Really good stuff
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Nigel Goodwin said:Try this friend my mine's site http://www.taximania.net/
Sputnik said:Thanks!! That worked!!
Im using FastLCD to make graphics, but the code format is incorrect. Did you have to manually convert the code or is there an automatic converter you used?
Kiko said:I used GLCDtodopic (attached) to make the splash screen.
Rgds
Device 16F876A
DEFINE XTAL 20
ALL_DIGITAL=TRUE
DECLARE ADIN_RES 10
DECLARE ADIN_TAD FRC
DECLARE ADIN_STIME 50
PORTB_PULLUPS True
Dim Result As Word
Dim Total As Float
Dim X As Word
Dim ErrCount As Byte
SYMBOL seg1=PORTC.0
SYMBOL seg2=PORTC.1
SYMBOL seg3=PORTC.2
SYMBOL seg4=PORTC.3
SYMBOL seg5=PORTC.4
SYMBOL seg6=PORTC.5
SYMBOL seg7=PORTC.6
Delayms 500
TRISA=%0000001
ADCON1=%10000000
high PORTC 'Display segment test
Delayms 1000
low PORTC
ErrCount=0
Start:
Result=0
Total=0
X=0
Repeat
Delayms 1
Result=ADIN 0
Result=Result*2
Total=Total+Result
Inc X
Until X=20
Total=Total/20
Total=Total*5/1023
'Delayms 10
Select Total
Case 1.000 to 2.025 '1st gear
low seg1
high seg2
high seg3
low seg4
low seg5
low seg6
low seg7
ErrCount=0
Case 2.026 to 2.700 '2nd gear
high seg1
high seg2
low seg3
high seg4
high seg5
low seg6
high seg7
ErrCount=0
Case 2.701 to 3.329 '3rd gear
high seg1
high seg2
high seg3
high seg4
low seg5
low seg6
high seg7
ErrCount=0
Case 3.330 to 3.700 '4th gear
low seg1
high seg2
high seg3
low seg4
low seg5
high seg6
high seg7
ErrCount=0
Case 3.699 to 4.190 '5th gear
high seg1
low seg2
high seg3
high seg4
low seg5
high seg6
high seg7
ErrCount=0
Case 4.191 to 4.470 '6th gear
high seg1
low seg2
high seg3
high seg4
high seg5
high seg6
high seg7
ErrCount=0
Case 4.471 to 5.500 'Neutral
high seg1
high seg2
high seg3
high seg4
high seg5
high seg6
low seg7
ErrCount=0
Case Else 'ERROR (NO VOLTAGE)
If ErrCount > 50 Then
high seg1
low seg2
low seg3
high seg4
high seg5
high seg6
high seg7
Else
low seg1
low seg2
low seg3
low seg4
low seg5
low seg6
low seg7
Inc ErrCount
EndIf
EndSelect
GoTo Start
gramo said:Just on that, this GLCD is $19 from www.futurlec.com Part# BLUE128X64LCD
**broken link removed**
https://www.futurlec.com/LED/BLUE128X64LCD.shtml
MrSpock said:I re-created the Gear Position Indicator schematic (see attached) and it works great while on the bench. As soon as I put it on the bike it screwes up the signal coming from the Gear Position Switch to the ECU. It seems like voltage divider drops the voltage required by the ECU. Is there any way around it?
Is there a way to output certain voltage from PIC?
Here is my code:
Code:Device 16F876A DEFINE XTAL 20 ALL_DIGITAL=TRUE DECLARE ADIN_RES 10 DECLARE ADIN_TAD FRC DECLARE ADIN_STIME 50 PORTB_PULLUPS True Dim Result As Word Dim Total As Float Dim X As Word Dim ErrCount As Byte SYMBOL seg1=PORTC.0 SYMBOL seg2=PORTC.1 SYMBOL seg3=PORTC.2 SYMBOL seg4=PORTC.3 SYMBOL seg5=PORTC.4 SYMBOL seg6=PORTC.5 SYMBOL seg7=PORTC.6 Delayms 500 TRISA=%0000001 ADCON1=%10000000 high PORTC 'Display segment test Delayms 1000 low PORTC ErrCount=0 Start: Result=0 Total=0 X=0 Repeat Delayms 1 Result=ADIN 0 Result=Result*2 Total=Total+Result Inc X Until X=20 Total=Total/20 Total=Total*5/1023 'Delayms 10 Select Total Case 1.000 to 2.025 '1st gear low seg1 high seg2 high seg3 low seg4 low seg5 low seg6 low seg7 ErrCount=0 Case 2.026 to 2.700 '2nd gear high seg1 high seg2 low seg3 high seg4 high seg5 low seg6 high seg7 ErrCount=0 Case 2.701 to 3.329 '3rd gear high seg1 high seg2 high seg3 high seg4 low seg5 low seg6 high seg7 ErrCount=0 Case 3.330 to 3.700 '4th gear low seg1 high seg2 high seg3 low seg4 low seg5 high seg6 high seg7 ErrCount=0 Case 3.699 to 4.190 '5th gear high seg1 low seg2 high seg3 high seg4 low seg5 high seg6 high seg7 ErrCount=0 Case 4.191 to 4.470 '6th gear high seg1 low seg2 high seg3 high seg4 high seg5 high seg6 high seg7 ErrCount=0 Case 4.471 to 5.500 'Neutral high seg1 high seg2 high seg3 high seg4 high seg5 high seg6 low seg7 ErrCount=0 Case Else 'ERROR (NO VOLTAGE) If ErrCount > 50 Then high seg1 low seg2 low seg3 high seg4 high seg5 high seg6 high seg7 Else low seg1 low seg2 low seg3 low seg4 low seg5 low seg6 low seg7 Inc ErrCount EndIf EndSelect GoTo Start
Kiko said:Try to change the 10K resistor (R2) in the circuit you have attached for a 100NF capacitor.
Device 16F877A
declare xtal 20
Config XT_OSC , WDT_OFF , PWRTE_ON , BODEN_OFF , LVP_OFF , CPD_OFF, CP_OFF , DEBUG_OFF
Declare LCD_TYPE 0
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3
Declare LCD_RSPIN PORTB.2
Declare LCD_INTERFACE 4
Declare LCD_LINES 2
Dim KMH As Float
Dim Temp_Float As Float
Dim KMHT As DWord
Dim KMH_Last As DWord
Dim Result As Word
Dim Total As Float
Dim Last_Result As Float
Dim X As Byte
Symbol _1_Min = 1.243
Symbol _1_Max = 2.355
Symbol _2_Min = 2.356
Symbol _2_Max = 3.194
Symbol _3_Min = 3.195
Symbol _3_Max = 3.709
Symbol _4_Min = 3.710
Symbol _4_Max = 4.307
Symbol _5_Min = 4.308
Symbol _5_Max = 4.674
Symbol _6_Min = 4.675
Symbol _6_Max = 4.810
Symbol _N_Min = 4.811
Symbol _N_Max = 5.245
TRISC.0 = 1
DelayMS 1000
Cls
Print At 1,5, "KM/Hr"
KMHT = 0
TRISA.0 = 1
ADCON1 = %10000000 ' Set analogue input, Vref is Vdd
Start:
Result = 0
Total = 0
X = 0
Repeat
Result = ADIN 0
Result = Result * 2
Total = Total + Result
Inc X
Until X = 15
Total = Total / 15
Total = Total * 5 / 1023
Select Total
Case _1_Min To _1_Max
Print At 2, 1, "1st Gear ", DEC3 Total, "V"
Case _2_Min To _2_Max
Print At 2, 1, "2nd Gear ", DEC3 Total, "V"
Case _3_Min To _3_Max
Print At 2, 1, "3rd Gear ", DEC3 Total, "V"
Case _4_Min To _4_Max
Print At 2, 1, "4th Gear ", DEC3 Total, "V"
Case _5_Min To _5_Max
Print At 2, 1, "5th Gear ", DEC3 Total, "V"
Case _6_Min To _6_Max
Print At 2, 1, "6th Gear ", DEC3 Total, "V"
Case _N_Min To _N_Max
Print At 2, 1, "Neutral ", DEC3 Total, "V"
Case Else
Print At 2, 1, "Unknown ", DEC3 Total, "V"
EndSelect
KMHT = Counter PORTC.0, 250
If KMHT = 0 Then Goto Display
Temp_Float = KMHT
Temp_Float = Temp_Float * 4 * 7.2
KMH = Temp_Float / 1000
KMHT = KMH
Display:
If KMH_Last <> KMHT Then
Print At 1, 1, DEC3 KMHT
KMH_Last = KMHT
EndIf
GoTo Start