Go Down

Topic: using the tx and rx lines (Read 3767 times) previous topic - next topic


Ok, I looked at your programs again and I am doing the same thing to get the same results.   >:( I tried extra reads, swapping logic on Chip Select and the only thing that caused more consistent results was slowing the clock rate down.  I don't have an oscilliscope (yet) but I wonder if the clock still runs when you aren't transmitting or have the SS_PIN selected.

One thing I did do was tried hooking both 3.3 and 5v up on their respective pins.  I tried the 3.3v first and it kept shutting down the Duemilnove (to much draw?).  It wasn't till after I tried the 5v that I noticed the note about not using both at the same time.  I hope I didn't blow some circuit on the SS5500.  I haven't yet put a continuity tester on my wiring to see if I accidently put a short in to the 3.3v while wiring up all the GND pins.

I'm going to try and switch to the Vout method just to get going on the project.  I may come back and revisit the UART and SPI methods later.  I guess my first attempt again with SPI should include a more powerfull 3.3v supply.

I really want to do SPI because my final project calls for this and an SPI display.  Theoretically you can use SPI bus like IC2 with a separate pin for each CS.  Each device is supposed to pass on the commands if CS isn't selected . . . like it is doing right now.  


I have tried to use pha555 version and can not get anything out of it think it must be wiring. looking at the code and the diagram I am confused.

This is what I did I use two analog inputs and output to a lcd.

This is my code if you can help build onto it let me know.

Thanks all,
Hugh :)

 Analog input, analog output, serial output
 Reads input pin A0 for temp from sensor and outputs degress f
 Reads input pin A1 for humidity from sensor and outputs in %

Reads an analog input pin, maps the result to a range from 0 to 255
and uses the result to set the pulsewidth modulation (PWM) of an output pin.
Also prints the results to the serial monitor.

 The circuit:
* Temp sensor output connected to analog pin 0.
  Humidity sensor output connected to analog pin 1
* LED connected from digital pin 9 to ground
  LCD connections reset connected to digital pin 12
                  enable = D11
                  DB4 =  D5
                  DB5 =  D4
                  DB6 =  D3
                  DB7 =  D2

created 7 Oct 2010
Modified  7 Oct 2010
by Hugh Coleman

This example code is in the public domain.


// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = A0;  // Analog input on pin A0 for temp reading
const int analogOutPin = 9; // Analog output pin that the LED is attached to
const int analogInPinOne = A1; // Analog input pin A1 for humidity reading

int tempValue = 0;        // value read from sensor output
int outputValue = 0;        // value output to the PWM (analog out)
int humidValue = 0;
int OutPutValueOne = 0;

void setup() {
 // set up the LCD's number of columns and rows:
 lcd.begin(16, 2);
 // initialize serial communications at 9600 bps:


void loop() {
 // read the analog in value:
 tempValue = analogRead(analogInPin);   //reads the value on analog pin a0:
 humidValue = analogRead(analogInPinOne); //reads the value on analog pin a1
 // map it to the range of the analog out:
 outputValue = map(tempValue, 0, 1023, 0, 255);

 // change the analog out value:
 analogWrite(analogOutPin, outputValue);          

 // print the results to the serial monitor:
 Serial.print("sensor = " );                      
 //           sets the cursor and prints Temp:
     lcd.print("Temp");    //outputs Temp to lcd:
 //            sets the cursor and prints the current temp in F:
     lcd.setCursor(11, 0);
     lcd.print(tempValue*.155);  //calls the tempValue multiplies it times .155:
 //           sets the cursor and prints Humidity:
     lcd.setCursor(0, 1);
     lcd.print("Humidity");  //outputs Humidity to lcd:
 //            sets the cursor and prints the current relative humidity:
     lcd.setCursor(11, 1);
     lcd.print(humidValue/10);  //analog a1 input divided by 10:
//             sets the cursor and prints the % sign    
     lcd.setCursor(14, 1);
//    delay 3 seconds:      
         Serial.print("\t output = ");



So I also tried the code from pha. No success.
I got something like T_F = -5061 RH = -5061

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131