Show Posts
Pages: 1 ... 6 7 [8] 9
106  Using Arduino / Networking, Protocols, and Devices / Re: RF Super Heterodyne Wireless Receiving Module TDL-9927 - What pin does what? on: July 21, 2012, 03:43:26 pm
Here is where I bought the device

http://www.dealextreme.com/p/superheterodyne-wireless-receiving-module-green-128975?item=28

Specs:

Model: TDL-9927
- Material: PCB
- Working Frequency: 315Mhz
- Oscillation Mode: Surface acoustic wave (SAW)
- Bandwidth: 2MHz
- Modulation Systems: ASK/OOK
- Sensitivity: -100dBm
- Transmission Rate: < 5Kbps
- Antenna Length: 24mm
- Working Voltage: DC 3V~5V
- Working Current: <= 5.5mA
- Ideal for wireless remote control device, burglar alarm security system etc.


I found a document online in Chinese that is for this board (aparantly)

http://www.tuodi.com/Manual/TDL9927.pdf

I tried to translate the document but google returns nothing for it - also copying to the clipboard did not work for me.

But from the diagram we have this



I am about to give it a try hope it is accurate

chris
107  Using Arduino / Project Guidance / Taking arduino circuit and making it a small dedicated project on: July 21, 2012, 12:49:56 am
I am working on a simple pulse counter for electricty monitoring in my home.

My device/circuit will/does contain the following

* Serial Bluetooth Module - bought off www.dealextreme.com for $6.60 USD
* Schmitt Trigger - 40106
* Light Dependant Resister
* Possibly a Real Time Clock - Not sure if I need it yet - may just use the PC clock when saving data.
* Arduino Duemilanova

I want to make the hardware small (not SMD but small) - low power and self contained so I want to remove the Arduino itself and use something smaller, but something that still works with Arduino code.

So my question is how to shrink this down?

Could I look at an ATTINY85?  I think this does not have a UART so my TX/RX is a problem on the Bluetooth Module - Am I correct? - I found this video



Could I look at a simple ATMega 168 or similar as seen in this video



I am currently needing 3.3v and 5v but that could be reduced to the 3.3v alone ( the schmitt trigger is a 40106 which can run at 3v - currently 5)

I need one digital input which triggers an interrupt when it changes.

If anyone has any ideas I would really appreciate them

Cheers

chris
108  Using Arduino / Networking, Protocols, and Devices / I need to add a small aerial to my Bluetooth module from China on: July 20, 2012, 11:24:00 pm
Hi all

I have a cheap bluetooth module that I bought from China on Deal Extreme.

http://www.dealextreme.com/p/80711

Now it comes with a small track at one end of the PCB that is an aerial.



My problem is that I am wanting to use this module to measure my power usage so it must go in the cabinet with the power meter. The power meter is on the outside of the house in a metal unit.

So I need an aerial to pass the bluetooth signal to my PC to capture data.

Does anyone know how to create a simple external aerial for a device like this?

I tried putting a 20cm peice of wire onto the aerial on the PCB but then the device was not detected at all - so I need to understand how I can proceed.

Any help is really appreciated

Chris
109  Using Arduino / Sensors / Re: Home Energy Monitoring via flashing LED on Meter on: July 20, 2012, 06:28:33 pm
i think it might be a good idea to pull down the other 5 inputs...
because: a floating input wastes power...  smiley

Thanks for the advise.

I take it that pulling it down means connecting a resister to GND?

If so how do I calculate the correct value for a resister to GND?

Should I be looking at the datasheet for this type of Information? I am a newbee and want to learn so if you can point me to a web site that would be great, even just letting me know a 10K resister etc would.

Chris
110  Using Arduino / Networking, Protocols, and Devices / Re: RF Super Heterodyne Wireless Receiving Module TDL-9927 - What pin does what? on: July 19, 2012, 08:59:30 pm
Thanks

I found a PDF appliation circuit for the RX3310A so was going to try to trace the pins from the chip to the external pins.

What is the decoding chip for ? The site talks about Remote Controls etc..

Is this PT2272 chip on the back of the circuit board?  I am at work so can't look at the moment.

Chris
111  Using Arduino / Networking, Protocols, and Devices / RF Super Heterodyne Wireless Receiving Module TDL-9927 - What pin does what? on: July 19, 2012, 02:05:59 pm
I have purchase a RF Super Heterodyne Wireless Receiving Module TDL-9927 from china.

Problem is there is no details on which pin does what!

The model is TDL-9927

There are lots of sellers selling these and none show which pins are which.



Cheers

Chris
112  Using Arduino / Sensors / Re: Home Energy Monitoring via flashing LED on Meter on: July 16, 2012, 03:45:57 am
OK

I have started from scratch as far as the hardware goes - the software is the same as earlier in this post history for this topic.


The image contains most of the hardware but I will repeat it here:

1 x 4.7K OHM Resister
1 x LDR (10M in the dark, 0 in the light)
1 x 40106 Schmitt Trigger - Inverting.
Hookup Wire




This along with the original code from above is nicely capturing the pulses from LED on arduino board, and also a torch.

I will next need to do some testing with the actual live meter.

Next problem is the meter is in a steel box on the outside of the house - I need to figger out a wireless solution but am happy at the moment.

Chris
113  Using Arduino / Sensors / Re: Home Energy Monitoring via flashing LED on Meter on: July 15, 2012, 04:50:46 am
u can use a nand schmitt trigger too...
X = ((HIGH NAND X) NAND HIGH)
F  = ((T) NAND T)=F
T  = ((F) NAND T)=T

Thanks I thought it should work but I will buy some straight triggers tomorrow.

a LDR sounds good too...

I will try this and see if this is better or not - I guess with a volage dividor and a schmitt trigger it would be good if it is fast enough.

i still think that the arduino pin has something like a schmitt trigger builtin...

No idea myself.

what does the scope say?

I will try tomorrow and post results here

did u try that debounce library? i guess those blinks r 30msec long...
even if u tell the debounce library to skip 40msec, u could detect >10Hz...
after 160secs u could have 1kWh (max)...
that limits ur load to 22.5kW (22 vacuum cleaners)...

No I did not since my code is using interrupts and the debounce is not.


I have seen it years ago and was thinking about it a week or two back. Amazing what one can monitor but toilet flushes do not interest me.

Cheers

Thanks for your help

Chris
114  Using Arduino / Sensors / Re: Home Energy Monitoring via flashing LED on Meter on: July 15, 2012, 12:56:20 am
OK - I am getting myself lost here.

My TSOP136 IR Receiver is pulsing like this

1 pulse
2 pulses
1 pulse
2 pulses

and sometimes

1 pulse
1 pulse
2 pulses


Now the RED LED  is pulsing just one per second. So that should be

1 pulse
1 pulse
1 pulse
etc

a Red LED is around the 650 nm wave length and the IR Receiver I assume since it is IR is more like 875 or so. It is oviously pickin up the flash but maybe in this case it is too smart since it says in the docs

"PIN Diode, pre-amplifier, AGC, pass Filter and demodulator"

Would I be better off with a LDR feeding into a Schmitt Trigger?

I went out and bought the wrong schmitt IC today at the local JAYCAR - I ended up buying a 4093 QUAD 2-INPUT NAND SCHMITT TRIGGER CMOS IC instead of 74C14 HEX SCHMITT TRIGGER CMOS IC

Do you think the lack of a Schmitt Trigger could be causing this double counting sometimes?

Chris
115  Using Arduino / Sensors / Re: Home Energy Monitoring via flashing LED on Meter on: July 14, 2012, 04:18:03 am
1.
is it "1600 times for 1KWh"...?  smiley


... or even kWh  smiley-cool

Actually

1600 Imp KwH

Or something like that - it is dark. So 1600 flashes per Kilo Watt Hour!

Thanks for the tip on the Schmitt Trigger - RIDDICK

Chris
116  Using Arduino / Sensors / Home Energy Monitoring via flashing LED on Meter on: July 14, 2012, 12:54:38 am
I have seen some posts around the net on Monitoring your home electricity meter by counting the flashes on the LED that most have.

In my case it is a red led that flashes 1600 times for 1 KW.

I have simulated this setup with 2 arduino's

I am using a TSOP4136 IR Receiver

http://uk.farnell.com/vishay/tsop4136/photodiode-ir-receiver-36khz/dp/4913164

A the moment the IR Receiver's out is fed into pin 3 on the arduino duemilanove.

I am using this code

Code:
/*-----( Declare Constants )-----*/
#define ANALOG_SENSOR_PIN  A0
#define DIGITAL_SENSOR_PIN 3 
#define LEDPIN    13  // The onboard LED

int Counter = 0;

/*-----( Declare Variables )-----*/
int  switch_state;  /* Holds the last digital value */
int  LightAnalogValue; /* Holds the last analog value */
unsigned long pulseCount = 0;  // Counts power pulses in interrupt, 1 pulse = 1 watt
unsigned long pulseTotal = 0;  // Total power used since the sketch started
 
volatile int pulseFlag = 0;

void setup()   /*----( SETUP: RUNS ONCE )----*/
{
       /*Initialize INT0 for accepting interrupts */
     PORTD |= 0x04;
     DDRD &=~ 0x04;
     
  pinMode(LEDPIN, OUTPUT);
  Serial.begin(9600);          // Enable the Serial data output
//Enable interrupt for light sensor on Digital 3

  attachInterrupt(1, Pulse, FALLING);
}/*--(end setup )---*/

void Pulse() // routine called when light sensor interrupt is triggered
{
    detachInterrupt(0);
    pulseFlag = 1;
}

void loop()

  if (pulseFlag == 1)
    logPulse();  //if interrupt caused by light sensor, count the pulse
}

void logPulse() //count a pulse from the light sensor
{
   pulseCount ++;
   pulseFlag = 0;
   Serial.print("Pulse Count: ");
   Serial.println(pulseCount);
   Serial.println(millis());
   delay(10);
   attachInterrupt(0, Pulse, LOW); 
}

Now this seems to work but looking with a scope the signal is noisy and it is not a nice square wave - almost a sine wave.

What is the best way to clean this up and make it a square wave?

Chris
117  Using Arduino / Project Guidance / Sending data with a LASER from PC/Arduino to another Arduino/PC on: July 05, 2012, 02:59:40 pm
I am interested in sending Data from a PC to another PC or Arduino to Arduino via a laser.

I found this video that shows how it is done but no code/schematic.



Has anyone found a more detailed example with schematic and code?

I will try this weekened to reproduce what I have seen in the video but if someone knows of a tutorial that does this already it would help me a lot.

cheers

chris
118  Topics / Science and Measurement / Re: personal weather station on: July 01, 2012, 06:46:18 pm
What do You use for sky conditions? Which sensors are You using?

Sorry for the delay in getting back to you.

I am using a Cloud Sensor from http://www.auroraeurotech.com/CloudSensor.php

This is a great device as it tells me if it is clear or cloudy (or partly cloudy), and I have used it along with my other weather station data to detemine if it is drizzling, raining, snowing etc...

Chris


119  Using Arduino / Networking, Protocols, and Devices / Looking for advice on CHEAP ardunio compatible Bluetooth Modules on: June 23, 2012, 03:36:25 am
Hi All

Looking for advice on CHEAP ardunio compatible Bluetooth module - two way communication with PC. Maybe Wireless Serial Port?

I have been looking at EBAY and see some cheap bluetooth devices - but do these work with Ardunio? and are they worth looking at?

http://www.ebay.co.uk/itm/Wireless-Serial-Port-4-Pin-Bluetooth-RF-Transceiver-Module-Backplane-RS232-/261031580546?pt=LH_DefaultDomain_0&hash=item3cc6b1d382

I am wanting to send simple small payloads both ways between a PC with Bluetooth adapter + Ardunio or (similar) with Bluetooth ( and back to the PC)

Does anyone have any expericence with these board, or any boards and what is the cheapest + easiest to work?

My preference would be something that can work with an ATTINY at some point in the future as well.

Chris
120  Using Arduino / Sensors / Re: Trying to control Mitsubishi Heat Pump Air Conditioning Unit on: June 22, 2012, 10:58:56 pm
smiley  SUCCESS smiley

OK I have found what the problem was - not hardware just software.

I had been looking at the values that I receive and thought that generally they look like multiples of 400 but they are not all multiples of 400.  Some values are 1550, 1150, 350 etc.

Quote
unsigned int powerOn[] = {
   3200,1550,400,400,400,1200,400,350,400,400,400,1200,400,400,400,1150,400,400,400,400,400,1200,350,1200,400,1200,400,400,400,1150,
   400,400,400,1200,400,1150,400,1200,400,400,400,400,350,400,400,400,400,1200,400,1150,400,400,400,1200,400,1200,350,400,400,400,
   400,1200,400,400,400,350,400,1200,400,400,400,400,400,1150,400,1200,400,400,400,1150,400,1200,400,400,400,1150,400,1200,400,1200,
   400,400,350,1200,400,400,400,1200,400,1150,400,400,400,400,400,400,400,1150,400,400,400,1200,400,400,350,1200,400,1200,400,1200,
   350,1200,400,400,400,1200,350,1200,400,1200,400,400,400,350,400,400,400,400,400,1200,400,400,350,400,400,400,400,1200,400,1150,
   400,400,400,1200,400,1200,350,400,400,400,400,1200,400,400,350,400,400,1200,400,400,400,400,400,1150,400,1200,400,400,400};

So I modified the code in irremote.cpp and modified the interrupt code added a funtion

so in the interrupt function I added

Quote
     irparams.rawbuf[irparams.rawlen++] = fixTimer(irparams.timer);

Quote
case STATE_MARK: // timing MARK
    if (irdata == SPACE) {   // MARK ended, record time
      irparams.rawbuf[irparams.rawlen++] = fixTimer(irparams.timer);
      irparams.timer = 0;
      irparams.rcvstate = STATE_SPACE;
    }
    break;
  case STATE_SPACE: // timing SPACE
    if (irdata == MARK) { // SPACE just ended, record it
      irparams.rawbuf[irparams.rawlen++] = fixTimer(irparams.timer);
      irparams.timer = 0;
      irparams.rcvstate = STATE_MARK;
    }
    else { // SPACE
      if (irparams.timer > GAP_TICKS) {
        // big SPACE, indicates gap between codes
        // Mark current code as ready for processing
        // Switch to STOP
        // Don't reset timer; keep counting space width
        irparams.rcvstate = STATE_STOP;
      }
    }
    break;

In the fixTimer function I just hard coded some values.

Since the code was using the value t * 50ms so my code really just enforces a return value of 1600,1200,400 or something > 1600 (not sure I need this)

Quote
unsigned int fixTimer(unsigned int t)
{
   if (t < 20)
      return 8;
   else if (t  < 31)
      return 24;
   else if (t  < 33)
      return 32;
   else
      return t;

}


Now I have two IR Raw arrays that I can use.

Quote
unsigned int powerOn[] = { // 65214,
3200,1600,400,400,400,1200,400,400,400,400,400,1200,400,400,400,1200,400,400,400,400,
400,1200,400,1200,400,1200,400,400,400,1200,400,400,400,1200,400,1200,400,1200,400,400,
400,400,400,400,400,400,400,1200,400,1200,400,400,400,1200,400,1200,400,400,400,400,
400,1200,400,400,400,400,400,1200,400,400,400,400,400,1200,400,1200,400,400,400,1200,
400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,400,
400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,1200,400,1200,400,1200,
400,1200,400,1200,400,1200,400,1200,400,1200,400,400,400,400,400,400,400,400,400,400,
400,400,400,400,400,400,400,400,400,1200,400,1200,400,400,400,1200,400,1200,400,1200,
400,400,400,1200,400,400,400,400,400,1200,400,400,400,400,400,400,400,1200,400};

unsigned int powerOff[] = { // 32284,
3200,1600,400,400,400,1200,400,400,400,400,400,1200,400,400,400,1200,400,400,400,400,
400,1200,400,1200,400,1200,400,400,400,1200,400,400,400,1200,400,1200,400,1200,400,400,
400,400,400,400,400,400,400,1200,400,1200,400,400,400,1200,400,1200,400,400,400,400,
400,1200,400,400,400,400,400,1200,400,400,400,400,400,1200,400,1200,400,400,400,1200,
400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,400,400,
400,400,400,400,400,400,400,400,400,400,400,400,400,400,400,1200,400,1200,400,1200,
400,1200,400,1200,400,1200,400,1200,400,1200,400,400,400,400,400,400,400,400,400,400,
400,400,400,400,400,400,400,400,400,1200,400,1200,400,1200,400,1200,400,1200,400,1200,
400,400,400,1200,400,400,400,400,400,400,400,400,400,400,400,400,400,1200,400};

So it looked like the Mitsubishi Heat Pump was quite particular about exactly what it saw.

So in this case it is also not Power On / Power Off - the heat pump sets all parameters at once.

So my powerOn actually sets it to Power On with the Mode set to Cooling, the temperature set to 25c, Auto fan mode, and no airflow controls set.

My powerOff actually sets it to Power Off with the Mode set to Cooling, the temperature set to 25c, Auto fan mode, and no airflow controls set.

I have spent hours and hours on this. But thanks for your help and I hope this saves some times for somone else!

chris
Pages: 1 ... 6 7 [8] 9