Show Posts
|
|
Pages: [1] 2 3 ... 42
|
|
1
|
Using Arduino / Project Guidance / Re: Help with multiple DS18S20 sensors and remote data-logging
|
on: Today at 10:59:29 am
|
|
OK, after the flight of fancy, we are down to basics. If you really stick to just the sensors, an SD card and a clock, i.e. no comms and no local output, a Uno would suffice. The sudden death killers are the libraries and you don't need many. I don't think you would require any for the light and humidity devices, and the programme would be about 25k.
No matter what you mean by interlinked, you need to be careful about using 2x6v.
If you intend to use them in series for 12v, Arduino won't like it, and will get hot and wasteful, so I think you should also consider an efficient off-board 7v regulator, or even use 5v directly, thereby bypassing the on-board regulators.
Using 2x6v in parallel would be too marginal as 6v isn't far enough above 5v for the on-board regulators to work reliably. The same obviously applied if you intend to use them sequentially
I believe the best battery power for Arduino is probably 4x2v deep-cycle lead acid. They should run on shelf-life and be good for at least six months without attention BUT I recall you only want one reading/hr and and that is infrequent enough to merit some deep thinking clock control whereby you might be able to reduce demand by about 99.5% and get by on D-cells!. I just use a cheapo DS1307 clock but there may be more sophisticated modules around that can turn Arduinos on and off with their own hardware.
|
|
|
|
|
2
|
Using Arduino / Project Guidance / Re: Help with multiple DS18S20 sensors and remote data-logging
|
on: June 18, 2013, 09:42:43 pm
|
a Mega would be massive overkill for just a string of DS18S20 plus perhaps a uSD/EEPROM and an RTC. It could easily be done on a Nano with spare pins to use if light intensity and humidity sensors are added.
The pins aren't the problem, it's the memory. This is something best learned sooner rather than later, and a Nano could be just as much a waste of money as a Uno. What I am doing is nothing exceptional but it takes 42k and eleven libraries. Megas don't cost much more and can use the same peripherals, so you might as well get it right the first time. This is the experience of somebody who didn't.
|
|
|
|
|
3
|
Using Arduino / Project Guidance / Re: Help with multiple DS18S20 sensors and remote data-logging
|
on: June 18, 2013, 08:23:54 pm
|
multiple DS18S20 temp sensors along a 100m transect,
You may find that most of your problems will lie in the above. The rest could be quite easy - depending on the facilities at the remote location. I am doing much the same thing with two remote facilities, one 800km up the coast and the other a similar distance in the opposite direction, plus a third installation here at home. In all cases, internet is available, as well as 240v. The remote installations are on cable-connect to existing routers, but the local needs WiFi. The objective is to upload data to Xively, a free internet service. Xively enables your data to be viewed in real time display by anybody anywhere, thereby relieving you of any need to drive at all. You can also download historic data when and as you require. The same data is constantly available on LCD display and recordable locally via bluetooth. Whatever you do, I submit you should get a Mega 2560. The Uno does not have enough memory for this sort of thing. Other items in my kit are Ethernet shield, which includes an SD card Sensor shield LCD display Realtime clock module Bluetooth module The sensor shields are home made and incorporate the clock as well as the connections for sensors and bluetooth. External datafeeds to xively and PC don't actually need the clock but the SD does. This is not only for the data but it is also used to make a new file every day, using the date as a filename. An ordinary 2Gb card will last years. The clock battery is good for about ten years and will probably die before that card fills. As I understand it, you want DS18B20s in a line up to 100m. All my sensors are on 3m cable and I don't know much about longer distances but there is a raft of information available. What I do know is that being cheap with cable can be a big mistake.
|
|
|
|
|
4
|
Using Arduino / Storage / Re: dateTimeCallback
|
on: June 18, 2013, 06:35:15 pm
|
SdFile::dateTimeCallback(dateTime);
do i have to do this ??
No. But it might be a good idea. Your code is incomplete, nothing is clear. It isn't even clear that you might have a problem. I have never seen that command before. It could be something that was used in an older IDE and is now superceded, but it sounds like something particular to the clock library and used for data/time stamping the data entry. This presupposes you are using a clock library.
|
|
|
|
|
8
|
Using Arduino / Programming Questions / Re: How to set up bluetooth shield?
|
on: June 17, 2013, 06:57:26 pm
|
|
You should have the default password with the datasheet. If the module is an HC-0x it is sure to be 1234 and remains that way until you specifically alter it - if you can. If you are just transferring data, you should not need to do anything at the Arduino end, you just send it as you would to the serial monitor. All the work is at the PC end.
|
|
|
|
|
10
|
Using Arduino / Sensors / Re: temperature sensor question
|
on: June 17, 2013, 02:55:23 am
|
|
You are setting up the device addresses at the start and then getting the temperature by index in the loop. This may not be the cause of your problem but it is surely pointless, and certainly muddies the water.
Since you already have the addresses, you might check out Mark McComb's stuff at Hacktronics.
|
|
|
|
|
11
|
Using Arduino / Programming Questions / Re: Problems getting the DS18B20 to work with code from Bildr.com
|
on: June 16, 2013, 07:11:58 pm
|
Me too. The code could be junk, so, if you can't fix it with the appropriate delay, try either http://sheepdogguides.com/arduino/ar3ne1tt.htm if you are sure you won't ever use more than one or two DS18B20, or Hacktronics if you need to use the one-wire system. I would suggest the latter anyway. You seem to be implying that you might not have paid enough for your sensor. I'm sure you have paid as much as you need to, the sensor can take a lot of abuse and is probably fine. If you find it getting very hot, you have wired it the wrong way round, but it, and the Arduino, will probably survive.
|
|
|
|
|
12
|
Using Arduino / LEDs and Multiplexing / Usable 4x7 LED with 7221
|
on: June 15, 2013, 10:26:03 am
|
I throw this into the mix, FWIW. As it is, it is good for readings from 0.00 to 99.99 and it may be painlessly modified and improved upon. The first leading zero is suppressed. Credit to Largomike1 // pin 12 is connected to the MAX7221 pin 1 // pin 11 is connected to the CLK pin 13 // pin 10 is connected to LOAD pin 12
#include "LedControl.h" LedControl lc=LedControl(12,11,10,1); // lc is our object
float input; int num; int digit0, digit1, digit2, digit3;
void setup() { Serial.begin (9600); // the zero refers to the MAX7219 number, it is zero for 1 chip lc.shutdown(0,false);// turn off power saving, enables display lc.setIntensity(0,8);// sets brightness (0~15 possible values) lc.clearDisplay(0);// clear screen input = 34.56; //dummy feed kW num = input*100; }
void loop() { cfgdigits();
lc.setDigit(0,0,digit0,false); lc.setDigit(0,1,digit1,false); lc.setDigit(0,2,digit2,true);// true gives DP! if (num > 999) { lc.setDigit(0,3,digit3,false); } else { lc.setChar(0,3,' ',false); } delay(500); num --;//count down!! } void cfgdigits () { if (num > 999) { float result = num / 1000; // = 3.456 digit3 = result; //digit3 is int, so it's just thous =3 int remain = num%1000; // result is int so this gets the remainder = 456 digit2=remain/100; //digit2 is int, so its just the huns = 4 remain = num%100; // result is float so this gets the remainder =56.00 digit1=remain/10; //digitTwo is int, so its just the tens = 5 digit0 = remain % 10; //this gets the remainder of 56.00/10 =6 } else if (num > 99) { float result = num / 100; // = 4.56 digit3 = 0; // NO diigit3 - leadingg zero is blank digit2 = result; //digitThree is int, so it's just huns =4 int remain = num%100; // result is float fo this gets the remainder =56.00 digit1=remain/10; //digitTwo is int, so its just the tens = 5 digit0 = remain % 10; //this gets the remainder of 56.00/10 =6 } else if (num>9) { float result = num / 10; digit3 = 0; // digit2 = 0; digit1 = result; digit0 = num % 10; } else { digit3 = 0; digit2 = 0;// digit1 = 0; digit0 = num; } }
|
|
|
|
|
14
|
Using Arduino / LEDs and Multiplexing / Re: Decimal point with 4x7 and 7221
|
on: June 14, 2013, 11:19:36 pm
|
|
Yes, the "eighth segment" is used on the relevant digit, so that it looks like what you would expect.
I was starting to regret this venture, as there seems to be little practical support for the 7221 but I now think something good will come of this.
|
|
|
|
|
15
|
Using Arduino / Project Guidance / Re: Mega 2560 and bluetooth
|
on: June 14, 2013, 08:21:30 pm
|
I can't change settings of BT connection. The AT commands have no effect.
That might be an electrical issue. Check the data sheets. I believe a particular pin has to be held high in order to send AT commands.
|
|
|
|
|