In my acroname manual for the gp2d02 it says
"the interface between the microprocessor and the detector is a serial
interface".
There is an analog version of this sensor.. but I
don't have it :)
So, I guess I just need to know how to do serial
comm with out using an uart (?)
thanks
Lee
----- Original Message -----From: wbounceSent: Tuesday, March 01, 2005 11:15 PMSubject: RE: [AVR-Chat] Sharp Distance sensor: GP2D02 and an AVRAfter looking at my reply and your stuff again
I think shift in must be ADC analog to digital converter. On my Atmega
128 this would be done on port F. Sorry if I and not be of more help
because I have not done anything with that yet.
-----Original Message-----
From: wbounce [mailto:wbounce@safeplace.net]
Sent: Tuesday, March 01, 2005 10:17 PM
To: AVR-Chat@yahoogroups.com
Subject: RE: [AVR-Chat] Sharp Distance sensor: GP2D02 and an AVR
Variable are declared like
uint8_t val02,i;
Pins on AVR are like
PINA1
My AVR has ports A through G
The For would look like
For(i=0;i < 100; i++)
{
}
I have no idea what
SHIFTIN dt, cl, MSBPOST, [val02]
does.
-----Original Message-----
From: Honea [mailto:fredit@charter.net]
Sent: Tuesday, March 01, 2005 7:26 PM
To: AVR-Chat@yahoogroups.com
Subject: [AVR-Chat] Sharp Distance sensor: GP2D02 and an AVR
I am trying to convert some bs2 code for my distance sensor to work in C
for
my AVR.
Here is the sensor and bs2 code.
http://www.acroname.com/robotics/info/examples/GP2D02-4/GP2D02-4.html
'--------------------------------------------------------
' variable declarations
val02 var byte ' value where reading is stored
i var byte ' count variable for loop
'--------------------------------------------------------
' constant declarations
cl con 14 ' pin 14 is output (clock)
dt con 15 ' pin 15 is the input (data)
'--------------------------------------------------------
' I/O pin setup for detector
INPUT dt ' make pin 15 the input
HIGH cl ' make pin 14 output and high
'--------------------------------------------------------
' main loop
DEBUG "Start", CR ' indicate beginning
FOR i = 1 TO 100 ' take and display 100 readings
GOSUB read02 ' call measurement routine
DEBUG dec val02, CR ' display the value
PAUSE 100 ' stall so display readable
NEXT
DEBUG "Finish" ' indicate end
END ' stop Stamp when done
'--------------------------------------------------------
' subroutine read02
'
' This subroutine takes a reading from the connected
' GP2D02 detector and stores the value in "val02".
' Any two pins can be used. Set "dt" to the data line
' of the GP2D02 (pin 4 on JST connector, yellow wire).
' Set cl to the clock line of the GP2D02 (pin 2 on the
' JST connector, green wire).
read02:
LOW cl ' turn on detector for reading
rl:
IF IN15 = 0 THEN rl ' wait for input high
SHIFTIN dt, cl, MSBPOST, [val02]
HIGH cl ' turn detector off
PAUSE 1 ' let detector reset
RETURN
-------------------------------------------------------------
Basically, I just need to know the gnu equal of this command: " SHIFTIN
dt,
cl, MSBPOST, [val02]"
Or if anyone has working code for this sensor, that would be great too
:)
thanks!
Lee
Yahoo! Groups Links
Yahoo! Groups Links