I am trying to connect HT9032D with arduino. The Dout pin is connected to the RX pin on the arduino. The circuit setup is exactly same as in the datasheet. Still I'm not getting any reading from the RX pin. Can someone tell me where the mistake is found.
The mistake is your belief that the application circuit will work as shown in the datasheet. It’s a non-specific example with a non-existent program listing. It’s what we call a conceptual drawing. Holtek provides the concept, you provide the details. So far, you’ve provided no details.
sailek:
I am trying to connect HT9032D with arduino. The Dout pin is connected to the RX pin on the arduino. The circuit setup is exactly same as in the datasheet. Still I'm not getting any reading from the RX pin. Can someone tell me where the mistake is found.
With the limited information you have given, it's impossible for anyone to give an answer.
What code are you using?
Show us a schematic of how you have this all connected.
Do you actually have this connected to a land-line telephone circuit?
Is your program detecting the "ringing" of the telephone?
sailek:
I am trying to connect HT9032D with arduino. The Dout pin is connected to the RX pin on the arduino. The circuit setup is exactly same as in the datasheet. Still I'm not getting any reading from the RX pin. Can someone tell me where the mistake is found.
Well, I don't see anything in the datasheet regarding the protocol of either the DOUT or DOUTC outputs. So, to assume the protocol is TTL level RS232, might be an error.
Have a look at this Application Note from Holtek -- scroll down to the Serial Interface section at the bottom of the document -- that seems to be the most likely place to get insight on the protocol: http://www.holtek.com.tw/documents/10179/116745/an0053e.pdf
I searched the above document for the term "RS232" and found nothing, so this may be a proprietary protocol, and if so, you might have to roll your own receiver, in software.
BTW: are you seeing any kind of signal occurring at the DOUT or DOUTC outputs? That would at least give you an indication of whether or not this thing is decoding anything.
UPDATE: It looks like what this thing is doing is translating the FSK signal into a TTL bit stream. So, more than likely, the protocol information is all in sections regarding what it's receiving. I just briefly scanned the document, so I can't say for sure -- in depth reading is your job
Before you can expect any data output this must occur:
This pin presents the output of the demodulator whenever CDET pin is low.
This data stream includes the alternate 1 and 0 pattern, the marking, and
the data. At all other times, this pin is held high.
So, check CDET to be low, which means the carrier was detected. With no carrier(tone), there is no data.
You still have not told us this is connected to a regular telephone line!!!
Paul_KD7HB:
With the limited information you have given, it's impossible for anyone to give an answer.
What code are you using?
Show us a schematic of how you have this all connected.
Do you actually have this connected to a land-line telephone circuit?
Is your program detecting the "ringing" of the telephone?
Paul
It is connected to a regular telephone. And it is not detecting the "ringing". Actually I am using the 8 dip HT9032D which does not have a ringing detection.
sailek:
It is connected to a regular telephone. And it is not detecting the "ringing". Actually I am using the 8 dip HT9032D which does not have a ringing detection.
Ok, Do you see the 1700 Hz signal in your oscilloscope?
avr_fred:
The mistake is your belief that the application circuit will work as shown in the datasheet. It’s a non-specific example with a non-existent program listing. It’s what we call a conceptual drawing. Holtek provides the concept, you provide the details. So far, you’ve provided no details.
When my phone is idle it is 48.1 V. And i am using HT9032D 8 dip.
You have nothing connected to the serial port you would have to use the mySerial port here, if indeed the chip provides you with asynchronous at 1200 baud.
Grumpy_Mike:
You have nothing connected to the serial port you would have to use the mySerial port here, if indeed the chip provides you with asynchronous at 1200 baud.
Also you need to start it off with mySerial.begin
I have done that but still not getting any results. I want to confirm whether Dout on HT9032D should be connected to the pin 10 on arduino.
Your Ht9032_get simply reads all the characters into the same variable until the buffer is empty and then returns the last character it read. You don't want to do that do you?
Note you are using pin 11 for both those statements. I know you are not using TX but the code should set the pin high and this might interfere with the function of the LCD, so pick another unused pin for the TX definition ( don't pick 0 or 1 )
How do I convert into useful information.
We need to see it this indeed is what the chip is giving you in terms of serial data first before we see if the data is indeed asynchronous serial data.
Grumpy_Mike:
Your Ht9032_get simply reads all the characters into the same variable until the buffer is empty and then returns the last character it read. You don't want to do that do you?
SoftwareSerial mySerial(10, 11); // RX, TX
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Note you are using pin 11 for both those statements. I know you are not using TX but the code should set the pin high and this might interfere with the function of the LCD, so pick another unused pin for the TX definition ( don't pick 0 or 1 )
We need to see it this indeed is what the chip is giving you in terms of serial data first before we see if the data is indeed asynchronous serial data.
This time I removed the lcd display code from it. I do not get any results on the serial monitor when the phone rings. I wonder if the baud rate I set for Serial.begin(9600) is correct.
The Serial.begin just sets the baud rate for communication between the Arduino and the serial monitor. This can be anything providing both the Arduino and serial monitor are set to the right thing. It is the software serial that is critical as 1200 baud.
However unless you have corrected your code from the last code you posted to read the software serial correctly you are wasting your time looking at other things.
). It connects via UART pins (D0, D1) to the Arduino.
I can confirm it works in Canada but should work in USA too. I've read that many telcos in Europe use DTMF tones instead.