Show Posts
Pages: 1 2 [3] 4 5 ... 12
31  Using Arduino / Networking, Protocols, and Devices / Re: Multiplexing switch inputs with an i2c ic? on: January 14, 2013, 11:43:48 am
Sorry about the noise ... I've already found out about the PCF8574 by myself :-)
32  Using Arduino / Networking, Protocols, and Devices / Multiplexing switch inputs with an i2c ic? on: January 14, 2013, 11:25:16 am
I'm not shure if something like that exist, I didn't find anything, maybe I'm looking in the wrong direction.

Is there some kind of IC that's capable of "sensing" a group of digital inputs (like a bunch of switch buttons) and provide their status on an i2c channel (e.g. a microcontroller asking for it on the i2c wire)?

I am thinking about a way of adding a bunch of switches to a system's UI without using other multiplexing methods. Since I'm already using i2c on the system I may as well hook up another device on the wire and let it act as an interface to those switches. That would simplify the project. But I really don't know if something like that already exist. Any hint?

33  Using Arduino / Networking, Protocols, and Devices / Re: Some question about i2c, smb, wire.h and twi ... all together. on: January 11, 2013, 12:34:24 pm
As you said I'm not very clear ... actually because I'm not clear myself. Not having enough electronic/coding background, I cannot (yet) sort out all the words I see : i2c, wire.h, twi, etc.

Wire.h is the library Arduino provides for Two Wire Interface communications, which is generally called i2c.
Read here: http://arduino.cc/en/Reference/Wire

Quote
My question should be :
- what are the libraries available ?
- is there any compatibility to look at ? (on the IDE side and on the board side (uno, due, leonardo, mega, etc.)
- for each library what does it cover ? will my component be compatible with it ?
- ?!?
- Some libraries may not be compatible with a specific Arduino IDE (e.g. the Wire library changed with Arduino ver.1). But the i2c library (which is called Wire.h in Arduino) comes with it anyway. You don't have to manually install it alongside. It comes with the package.
- The i2c protocol is generic enough to deal with any component talking this "language" on the wire. Consider it as a tool to "talk" to other devices on the wire. It's up to the various devices to listen to that data coming in, and acting accordingly. You program the Arduino in order to make it "talk" to them, send them "orders" or "requests for data". i2c provides only an interface for this talking to happen; but it's up to you to make all those devices listen and talk meaningfull "sentences".

I bet everything will be much clearer as soon as you start coding some basic example with a few i2c devices.

Quote
And then, on the component side it is SMB compatible. So where does SMB fit in the i2c language or the twi thingy?
SMB is a subset of i2c. Check wikipedia for some more: http://en.wikipedia.org/wiki/I%C2%B2C

You should really spend some time reading the i2c basics first though. That will save you lots of time (and troubles) in the immediate future :-)
34  International / Hardware / Re: Collegamento wifi economico: esiste? (anche fai-da-te!) on: January 11, 2013, 11:26:25 am
Ti aggiungo un dettaglio, mi pare di ricordare che i radiomodelli (se si parla di macchine radiocomandate) vengono controllati da radicomandi che operano sui 2.4GHz
Se vuoi allinearti puoi provare con gli nRF24L01 che ti hanno suggerito prima, che però sono molto diversi dai moduli 433MHz di cui ti ho parlato io.
35  International / Hardware / Re: Collegamento wifi economico: esiste? (anche fai-da-te!) on: January 11, 2013, 11:07:02 am
Lascia stare i modulini a 433MHz, in genere devi codificare/decodificare manualmente i dati con una qualche codifica per poter comunicare, hanno un range inferiore al bluetooth in tantissimi casi e un sacco di altri problemi di interferenze

Dissento su alcuni dettagli. E' vero che l'economicità di sti' 433MHz da 1 euro e mezzo non ne fa dei campioni di performance ma è bene dare informazioni più corrette.

La portata è limitata a pochi centimetri se li si usa così come sono. Basta aggiungere un'antennino rudimentale (17cm di filo rigido) per estenderne la copertura ad alcune decine di metri (senza ostacoli). Anche aumentare la tensione di alimentazione aiuta ad ampliarne la copertura.

Di interferenze se ne avranno sempre. E' normale su queste frequenze perchè sono quelle rimaste appositamente libere per legge per questi usi "civili" e di apparecchi che sfruttano quelle frequenze ce n'è parecchi. Però c'è da dire che le librerie VirtualWire offrono un protocollo con controllo degli errori. C'è di che poterle usare senza grosse difficoltà. Basta scrivere del codice pulito con Arduino e si ottengono comunicazioni efficienti.

La mia esperienza (seppur modesta) dopo i primi passi falsi è stata buona e mi sento di consigliare chi voglia prendere in considerazione questi "giocattoli" che i cinesi su eBay quasi te li regalano :-)
36  Topics / Home Automation and Networked Objects / Re: Cheap and small RF Rx/Tx on: January 11, 2013, 10:46:04 am

Those modules are very easy to use with the VirtualWire library. Go get it. It lets you send short data packages, enough for your purpose.
Don't expect long distance range, the signal will suffer because of every obstacle you put inbetween.
I used them at home, they cover some 10meters w/ obstacles. Much depends on the power supply too (higher voltage makes them cover higher distances).
37  International / Software / Re: Rete arduino con Ds1307 e sensore temperatura on: January 11, 2013, 04:47:32 am
come si può notare del debug, ogni tanto il master, invece di riceve 2128 riceve ÿ.

A tal riguardo puoi leggere questo post: http://arduino.cc/forum/index.php/topic,21730.msg161771.html#msg161771

Probabilmente è anche legato al tuo "if (Serial.available())" che non fa un check esatto.
38  International / Software / Re: Rete arduino con Ds1307 e sensore temperatura on: January 11, 2013, 04:38:05 am
Viste le distanze che vuoi coprire, hai mai pensato ai moduli RF a 433MHz? Tipo questi: http://www.ebay.it/itm/433Mhz-RF-transmitter-and-receiver-module-Alarm-Set-for-Arduino-ARM-MCU-WL-/330854868895?pt=LH_DefaultDomain_0&hash=item4d087ca79f

Costano due lire e funzionano discretamente bene. Io un po' li ho usati, potenze basse ma consentono di generare un buon network distribuito senza dover cablare nulla.
39  Using Arduino / Networking, Protocols, and Devices / Re: Accessing SDRAM DIMM SPD eeprom on: January 10, 2013, 04:24:05 am
I'm done. Everything went well at the end. Reading the PC100 SDRAM SPD eeprom with i2c and Arduino is easy if you wire it right (I did not at first!). I ended up wiring it directly to the eeprom ic with a few test hooks instead of using the board's pinout.

Data can be interpreted using the following Intel doc: http://www.taricorp.net/wp-content/uploads/2012/04/SPDSDRAM1.2a1.pdf . It's titled "PC SDRAM Serial Presence Detect (SPD) Specification" Rev.1.2A, December 1997, by Intel.

Just my 2cent to the community :-)
40  Using Arduino / Networking, Protocols, and Devices / Re: Accessing SDRAM DIMM SPD eeprom on: January 09, 2013, 08:30:41 pm
Mmhhh.... I started the investigation with an old PC100 DIMM memory module. I'm getting strange results ... I wonder if it's me not testing it properly.

Anyway, I can detect the i2c address of the SPD eeprom, which is 83, and that's a consistent result. I always get the same result using the very well know i2c_scanner of Tod E. Kurt.

But then, when I try and read every byte of it, I get inconsistent results, some portions of the memory footprint gets read ok, some other changes every time ... I have to check for those wirings, maybe it's just that.

Anyway, I can say it's not that difficult to do. I wonder what will I read there inside :-)

41  Using Arduino / Networking, Protocols, and Devices / Accessing SDRAM DIMM SPD eeprom on: January 09, 2013, 06:52:37 pm
I'm going to give a try at accessing some DRAM DIMM eeprom (the one used for storing SPD data) via i2c. I wonder if somebody else did that too in the past and has some experience to share before I dig my hole too dip to get of it :-)
42  Using Arduino / General Electronics / Re: Cheap RF 433MHz modules at more than 5volts? on: October 26, 2012, 11:23:54 am
Yes, all grounds  need to be connected.

"Still, does the TX module expect to receive an "amplified" data signal too?"
No, it still expects 0-5V signal.

Thank you Man, you're always quick and spot-on, that's comforting :-)
43  Using Arduino / General Electronics / Re: Cheap RF 433MHz modules at more than 5volts? on: October 26, 2012, 08:39:20 am
"Just to be clear: is it safe to power the TX module with +9V and still feed 0-5V digital signals from an Arduino pin?"
If the device supports 12V, then yes.
Ok, so it's safe, reassuring  :-)

Quote
More power for the amplifier, separate from the input stage.
But I should use a common GND, right?

Still, does the TX module expect to receive an "amplified" data signal too? I'm sorry if I look naive but ... I'm still sending data from an Arduino pin which is calibrated on a 0-5V range, so I just want to be shure (I'm already pretty shure but I'm not an expert) that I don't need to change the signal voltage level, that if I keep it on a 0-5V range the TX module will be ok with that.

44  Using Arduino / General Electronics / Cheap RF 433MHz modules at more than 5volts? on: October 26, 2012, 05:45:50 am
Hi everybody,
I'm toying around with a few 433MHz RF modules, these ones: http://www.ebay.it/itm/140847542952?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
Using the VirtualWire library makes running those modules a joke :-)

I'm wondering if I can power the TX modules at more than 5V, let's say 9Volts, in order to increase TX range. As you may have seen, the eBay seller states it runs at 3V-12V, and I guess pumping up the voltage source may increase the output signal. But what happens to the input channel. I'm currently feeding a signal from Arduino, I don't know how VirtualWire codes the digital signal to be sent to the TX module (I guess it's a simple 0V-5V/off-on sequence). Anyway, does increasing the power supply of the TX module influence the way the data channel has to be controlled?
Just to be clear: is it safe to power the TX module with +9V and still feed 0-5V digital signals from an Arduino pin?

Cheers,
  Roberto
45  Using Arduino / Programming Questions / Re: DS18B20 + VirtualWire: How to cut down flash memory usage? on: October 21, 2012, 02:32:45 pm
Quite a bit of code in the library is used to detect the device address (it uses some fancy algorithm to try various ones after another). If you know the device address, hard-code that and strip out the detection stuff.

This is this function:

Code:
uint8_t OneWire::search(uint8_t *newAddr)
...

Looks like you might be able to do that simply by undefining "ONEWIRE_SEARCH".

See OneWire.h:

Code:
// you can exclude onewire_search by defining that to 0
#ifndef ONEWIRE_SEARCH
#define ONEWIRE_SEARCH 1
#endif

// You can exclude CRC checks altogether by defining this to 0
#ifndef ONEWIRE_CRC
#define ONEWIRE_CRC 1
#endif

// Select the table-lookup method of computing the 8-bit CRC
// by setting this to 1.  The lookup table no longer consumes
// limited RAM, but enlarges total code size by about 250 bytes
#ifndef ONEWIRE_CRC8_TABLE
#define ONEWIRE_CRC8_TABLE 0
#endif

// You can allow 16-bit CRC checks by defining this to 1
// (Note that ONEWIRE_CRC must also be 1.)
#ifndef ONEWIRE_CRC16
#define ONEWIRE_CRC16 0
#endif

You might also save space by omitting the CRC checks (be aware the data might be wrong from time to time).

Quite usefull suggestions, I'll definetely try those ones. I've never modified a library like that but it all looks wisely doable :-)

It's a start, I just hope I don't regret "playing" with those libraries without really knowing how they actually work. Still, I'll give it a go.
Pages: 1 2 [3] 4 5 ... 12