The Stack Overflow podcast is back! Listen to an interview with our new CEO.

Hot answers tagged

27

Asserting a pin means setting it to its active state. De-asserting a pin means setting it to its inactive state. If a pin is active high (which it is, in your case), then asserting it means setting it to logic high (usually 3.3V/5V) and de-asserting it means setting it to a logic low (0V). On the same page of the datasheet you've linked there's Table 2-04 ...


12

It means that the active level is applied. In the manual active level is indicated between brackets ("high"). That's the common standard for GPIO (General Purpose I/O), but lots of signals are often active low, like \$\overline{\mathrm{CS}}\$ (Chip Select), \$\overline{\mathrm{OE}}\$ (Output Enable), \$\overline{\mathrm{UB}}\$ (Upper Byte). Asserting \$\...


10

Some embedded system protocols, several of them extremely simple, are listed at Embedded Systems: Common Protocols, including: Tiny Embedded Network (TEN) Microcontroller Interpreter for Networked Embedded Systems (MINES) Yet Another Scalable Protocol (YASP) Local Interconnect Network (LIN) Serial Servo Controller (SSC) Robot Operating System serial (...


9

I would suggest two options. First - and this involves a small amount of wiring and soldering - using a PowerSwitchTail II. This is a very safe way of switching mains voltage. There is adequate isolation, it is safely cased and tested. If you really want to do no wiring or soldering at all, then I would suggest finding one of the common 434/868/915MHz (...


9

It's most likely you are confusing the RF output power with the digital outputs as Chris notes . In any case it's unlikely the outputs will be able to source/sink 50mA (usually <20mA) Their current capability should be mentioned in the datasheet though. EDIT - I checked the datasheet which confirms the 1mW transmit (i.e. RF comms) power, but I can't ...


9

Xbee modules are an option, as are other 800 to 900 Mhz RF modules, but subject to some constraints. I suggest you make your choice by looking at Digi's comparison matrix table of the different Xbee options; there are at least three that suit your application, and they are point-to-multipoint capable. The table states you can get outdoor range up to 40 km (...


9

The rule of thumb a lot of people use is that lower frequencies will have better "penetration" than higher frequencies. That's true in some cases, but not all. This is probably derived from calculating skin depth of materials. The skin depth is just how deeply into a material an electromagnetic wave of a particular frequency can penetrate. The equation used ...


8

This is how you control a relay. A relay gives you proper isolation from the mains, and with the appropriate relay you'll be able to switch more than a kW at 230V. The relay will need more current than the Arduino can supply. That's where transistor Q1 comes in. The transistor multiplies the input current from the Arduino (the "on/off" at the left) by ...


8

As with any radio system the bottom line is what can be achieved without the hindrance of obstacles. In free-space the baseline is dependent on what frequency you transmit at and how sensitive your receiver can be. The power path loss equation is this: Loss (dB) = 32.45 + 20\$log_{10}\$(f) + 20\$log_{10}\$(d) Where f is in MHz and d is in kilometres. This ...


7

How about this: You connect a 5V power supply, and the 4 inputs to 4 of your Arduino's outputs, and you're done. USD 16.50.


7

Use the fastest bit-rate you can afford, so that the transmitter doesn't have to be switched on longer than necessary. Using lower bit-rates doesn't make any difference in power, but it will in energy, since it takes longer to transmit. It also helps to use a single transmission to send for instance 100 kB than to switch the device 10 times on and off to ...


7

Because the light link specifications haven been released yet, except for members of ZigBee alliance I don't think you will be able to at this moment. Unless you want to become a member of the Zigbee alliance. I have had contact with one of their developers who said that modules that where able to use previous specifications should also be able to use the ...


6

You can use a CD4051 8-to-1 analog multiplexer and connect it to one of your analog channels, which will give you a total of 13 channels. You'll need 3 digital outputs to select the active channel on the multiplexer.


6

I don't think XBee radios, even the higher power XBee-Pro which has a maximum power output of +18 dBm (North America only), will be able to reliably communicate over a 2 mile link in all conditions. One of the XBee modules with "long range" capability is the XStream which claims: Indoor/Urban range up to 1500 feet (900 MHz model) Outdoor line-of-site ...


6

According to the product details, the output impedance is 100kΩ, so 100Ω would almost completely short the signal. To get 1.2V from 3V, you need a ratio of 1.2 / 3 = 0.4 Assuming a steady 100kΩ output impedance, you will need a single 66.6kΩ resistor from the sensors output to ground to divide the range down as necessary: 3V * (66....


6

My answer here may help: The appropriate code (Arduino) of Xbee Once you have one master and one slave like in that answer, repeat the slave configuration steps for the second slave. Then: To send from slave to master, just send the data. To send from master to a slave, set the master's DH and DL to the slave's SH and SL respectively, then exit command ...


6

Xbee modules have a slightly non-standard pin header layout, i.e. two rows of pins with 2 mm pitch (separation between centers of adjacent pins) instead of the more common 2.54 mm pitch used in the Arduino itself. Therefore directly connecting the XBee to the Arduino such as by plugging it directly in, is not possible even if the header pin rows were ...


6

The dropout voltage is only "typically" 1.7V, there is no guarantee of how bad it can be other than that implied by the 40mA out at 5.3 in (so it's not a very good regulator for this application), but that does not explain why you're getting higher than 3.3V. Assuming it's the correct part number, and is not damaged, the simplest explanation is that \$V_{...


5

Temperature isn't going to matter to the antenna or the RF field it creates. The issue is most likely with your circuit or what is powering it. Are all components you are using rated for under 0C operation? Some are only 0-70C, although going down to -20C is fairly common. Don't assume. Check all the datasheets. The most likely problem is the battery ...


5

The Arduino is not designed for low power. For an answer to another question I recently estimated the Uno's current at 50 mA, at a 9 V input that's 450 mW. Part of the reason for the high power requirements is that Arduino has 2 microcontroller running at high clock frequencies. Switching to the MSP430 platform looks like a good idea. I've used MSP430s ...


5

The radio being used by these modules (MAC & PHY layer) is defined by the IEEE 802.15.4 standard which specifies the use of Carrier sense multiple access with collision avoidance or abbreviated as CSMA/CA. A simple summary, a device will do a quick scan of the channel that its PAN network is on and if it senses that it is being utilized it will wait and ...


5

Yes, all you need to do is logic level conversion. Adafruit does that by using 74HC125 buffer: You can set up the same schematics on your breadboard or use it in your custom design. If you have Arduino Uno rev3, you can skip +3.3V regulator as Arduino provides a capable +3.3V regulator on board. The schematics picure is from Adafruit page.


5

I'd vote roll your own, and keep it as simple as possible. I've dealt with lots of serial protocols for various control applications, and a few things that I can recommend you include are: Start & stop characters which are not used elsewhere Some sort of checksum / error checking Some method of flow control / signalling, especially if you need bi-...


5

If your data is going through XBees, you should put the modules into API mode with escape characters, divide your data into logical packets, and take advantage of the fact that in API mode a packet which is given to an XBee will either arrive intact or not at all. Design your protocol around the transmission of chunks of 1-255 bytes, and let the XBee ...


5

The basic mistake you are making is that you cannot use a voltage divider to power a circuit. Let's do the maths. For the sake of the maths I'll say the XBee needs 100mA to run. I don't know what the actual value is, but that seems a reasonable value to me for an RF transceiver. When unloaded you have a simple divider with current flowing through two ...


5

I think it's nothing to do with the MOSFET- the CR2477 simply has too much internal resistance to drive enough current to run your circuit. As the battery terminal voltage drops, your boost regulator will try to draw more and more current to keep the output voltage stable and at some point cannot work. According to the datasheet, the voltage is starting to ...


5

Satellite is the solution. HF telemetry is incredibly specialised, requires licenses, and there are not "modules" in the sense you think of. (little pcbs that are cheap) There are many systems for data over HF radio, both commercial and amateur - go looking in the Ham radio world for Digital Modes where there is much info. Data rates are low. However, ...


4

The solution : You can't have two coordinator in master mode, so one should accept association and be configured as a END DEVICE: ATCE 0 ATA1 6 The other one should be set as the coordinator : ATCE 1 ATA2 6 After for the addressing you have two solutions : Local addressing using PAN ID (ATID) and Local ADDRESS (ATMY) Global addressing using Source High ...


4

I'd advise you to start by configuring the XBees in AT "Serial Wire" mode. This turns the XBees into a simple serial connection between the Arduinos. From that point on, you use Serial.print()/Serial.write() and Serial.read() just as if the Arduinos were connected directly to each other by wires. Let's name the XBees XBee_uno and XBee_mega for the ...


4

I know this is an old post, but since I stumbled on to it looking for a profile I had not seen before I figure this answer may help someone else. I've been working on this for a while - I don't consider my code "publishable" yet - I'm still using it in hack-and-sniff mode to find the clusters in question, but I can say the Light Link Application Profile is ...


Only top voted, non community-wiki answers of a minimum length are eligible