Comments

This is not a Parallax Basic Stamp. It's another company's product that has nothing to do with Parallax. Unfortunately, we can't help you with this Stamp.

The Propeller should be able to work though. You might download the Simple_Serial I/O driver from the Propeller Object Exchange. This can do ordinary serial I/O up to 9600 Baud. Alternatively, you could download the BS2_Functions object from the Propeller Object Exchange. This provides many of the functional pieces that are implemented as statements in Parallax's Stamp Basic, but as Spin subroutines and functions. There's some explanation in the source code comments for each of the objects. If you're using the Propeller Tool for Propeller programming, these object may already be included in the installation folder.

He Duane , Your program works good as a heck . Im busy all day this is the first I see, all the commands looks to be working fine

So thank you alot

on the other hand , Im fairly new to the propeller and I struggle my way around with most code's but I don't understand a thing of how it works,
how can I get the data to be displayed in a lcd
or mean can you help me with it

im trying for some time allready to make a PH & Ec controller . to Get it wright I decided to get theres stamps.
some help would be great

ph also needs enough bytes to hold all the characters that are returned.

VAR
byte ph[16]

Use the above, if don't ever expect to receive more than 15 characters.

You'll also want a way of displaying the received data.

Debug.Str(@ph)

The above should display the received data.

It would probably be a good idea to zero out the byte array between reading from the pH Stamp. If the number of characters received isn't always the same, you could end up having old charaters in your array.

The following code will fill the array with zeros.

bytefill(@ph, 0, 16)

Edit: Igor, I hadn't seen your last post when I wrote this. Let me know if you're still having trouble.

It shouldn't be hard to send the temperature information to the pH Stamp. You'll just use the "dec" method in PST.

If you're not just sending integer values, you'll have to use some other steps.

You'll also want to calibrate the meter with buffer solutions. If your meter isn't calibrated, the temperature correction isn't going to matter since you'll likely have greater errors from not calibrating the meter than you'll have from temperature differences.

It's too bad the pH Stamp doesn't output the millivolt readings because then you could add extra calibration options into your program.

I've found my pH meter had a hard time accurately measuring pHs around 2 when just calibrated with buffer of 7.00 and 4.00. I have to use a 1.68 buffer and 4.00 buffer to calibrate the meter when I want to measure low pH levels.

It's best if you can "frame" the pH you wish to measure with buffers above and below the value to be measured.

I hope you know about using an appropriate soaking solution for your electrode. Don't soak it in distilled water. pH electrodes will go bad over time (kind of like a battery).

When you get your EC Stamp, you'll need to use a resistor of at least 3.3K between it and the Prop to protect the Prop from the 5V signal levels.

When I read some data sheets on the type of ADC used in pH meters they stressed the importance of keeping the electronics clean. They strongly suggested using finger cots when handling the chip.

pH electrodes don't provide a signal that is easy to read for just any ADC chip.

Talke a look at this thread to see what is referred to as "pseudo real" numbers.

To turn the ASCII characters to a number, take a look at the "StrToBase" method in PST. You'll want to make it a public method. Use base "10" in the conversion. You'll still need to worry about the decimal point. If the decimal point is always in the same place, you can just us a constant multiplier to know how many places your pseudo real number has been shifted.

So unless you need some complex mathematics, I'd stay away from floating point numbers for now. When you do need FP, Lonesock's "F32" is the object to use. Lawson just fixed a bug in it. The most recent version is here (post #84).

ok , after hour and hour of reading and trying I got the difference problem solved , it,s still in float
now on my attemt to send the temp to the ph stamp Ive tryed everything again to get they data alined to be send .
like 23.5 <cr>
i moved the data in diferent forms , now I got them in the right spot in the data , but there in the wrong format , there decimal number and need to make it a asci .
can someone please point out wich way I have to look for an anwserrrrrrrrrrrr

correct, but all the digit's of the temperture (ec 27.5 ) must be send as (byte)asci so for 27.5 ill have to send 50, 55,46,53
after that I need to send a <cr> so 13
so the total sting is
50,55,46,53,13,0

hahah, Yea I noticed it a sec later, forgot to change it in the post.
but Im verry happy to say
that your the man of the night
it work like well
now it's like this

with this code I get a temperture compensated reading on my lcd , using a ph stamp of atlas and a ds1820 temp sensor
also I made some calc to get the dierance between the actual Ph and a target Ph later to set

It looks like the only time you're using floating point math is to multiply and divide (which work fine using integer math). I still think it would be easier to convert the temperature to a pseudo real number (by multiplying it by a set amount and then use the "FRound" or "FTrunc" method to convert it to an integer) and then do the rest of the calculations in pseudo real integers.

You can then use the "DecPoint" method I linked to, to send the number to the pH Stamp.