Show Posts
Pages: [1] 2
1  Using Arduino / Networking, Protocols, and Devices / Re: Problem w/ USB-Host Shield on: January 01, 2013, 07:42:34 am
I had this same problem, and after inspecting my soldering I notice I hadn't added a pin for the GND connection smiley
2  Forum 2005-2010 (read only) / Troubleshooting / Re: AVR include directory on: December 22, 2009, 07:57:19 am
Hi all,

I've just encountered a problem similar to this (on my fresh install of Debian 5/Lenny) and fixed it by installing the following:

gcc
gcc-avr
avr-libc
avrprog
avrdude

Some of those probably don't need to be installed but I just installed the lot and it seems to work.

Regards,
Tim
3  Forum 2005-2010 (read only) / Bugs & Suggestions / Addition to Wire reference page on: March 07, 2010, 10:26:42 am
Wire.
<rant>As a reference page, it really should reference some technical details and limitations of the library - like the fact that I2C can only buffer 32 bytes of data - meaning if you send more than 32 bytes in a single transmission it silently ignores every byte above the 32nd.
</rant>

This took me an hour or more to figure out, can someone please add a note to this effect to the following reference docs:
http://arduino.cc/en/Reference/WireSend
http://arduino.cc/en/Reference/Wire

Thanks!
4  Forum 2005-2010 (read only) / Syntax & Programs / Re: Encryption with arduino board on: December 08, 2008, 04:29:36 am
ECC is one of the most complex AND computationally intensive encryption routines, due to the nature of Elliptic Curves. ECC is based upon solving the discreet logarithm problem and that in itself requires a very high level of knowledge of mathematics.

I'd recommend strongly that you try something simpler first, or implement what you're trying to do in 16 or 32-bit on a normal PC architecture and then convert it to 8 bit for the Arduino.
If you haven't written cryptography algorithms before I would be very impressed if you manage to pull this off within 12 months with an Arduino.

Sorry to put a downer on this idea, but you have to start small and work your way up - jumping in at the deep end and drowning is the best way to put someone off swimming.

If you're determined to do this, try implementing first ElGamal encryption, or the Digital Signature Algorithm (DSA), which both use discreet logarithms.

- Tim
5  Forum 2005-2010 (read only) / Syntax & Programs / Re: Encryption with arduino board on: December 07, 2008, 08:31:21 am
Sure it's possible, but the ATMEGA168 (on the diecimila at least) is only 16Mhz, so encrypting anything with a "modern" algorithm (AES, RSA) will take at least a few seconds, depending entirely on key length, rounds used, string to encrypt/decrypt, etc.

Plus the diecimila only has 512bytes of memory, which must include storage space for the variables used to decode the encrypted string (or encode the plaintext string), so you're going to be limited to probably 256 bytes at most (two SMS messages worth of text).
Plus you need storage space for the key, an means to input and output the messages and possibly the keys.

I'd recommend a more powerful device for doing cryptography personally, but you could easily use an arduino for Classical cryptography - Vigenere ciphers and Shift/Substitution ciphers for example. These require very little computation as they are character-based - they were essentially around just before computers could decode them.
6  Forum 2005-2010 (read only) / Syntax & Programs / Re: Header file wquestion on: December 08, 2008, 04:08:36 am
try replacing this
Code:
void add_byte(byte_array_s *byteArray, const byte _byte);
with this
Code:
void add_byte(byte_array_s *byteArray, const byte _byte)
{
    //do something;
}
- Tim
7  Forum 2005-2010 (read only) / Syntax & Programs / Re: sizeof() problem on: December 07, 2008, 10:59:14 am
ok, thanks for the ideas folks
8  Forum 2005-2010 (read only) / Syntax & Programs / Re: sizeof() problem on: December 07, 2008, 09:11:22 am
Ahhhh that explains it... so is there a function to return how long an array is?

.. I think I'll start using char[] arrays seeing as the PWM pins only have 256-bit resolution. integers just seem too wasteful now.

Cheers!
9  Forum 2005-2010 (read only) / Syntax & Programs / sizeof() problem on: December 07, 2008, 08:37:32 am
Hi folks,

Code:
int variables[5] = {a,b,c,d,e};
Serial.println( sizeof(variables) );

Why does this block of code return 10?

Thanks in advance for your help.
10  Forum 2005-2010 (read only) / Development / Re: AVR with embedded USB? on: January 11, 2009, 06:47:20 am
To be honest, it just looks like a less comprehensive but cheaper alternative to the Arduino Nano..

http://arduino.cc/en/Main/ArduinoBoardNano

I'm sure this will appeal to some people, but I personally only use Arduinos for interfacing with the outside world, not my USB port.. 38Kbps is plenty fast enough for this purpose IMHO.
11  Forum 2005-2010 (read only) / Development / Re: Working on a 69 I/O Pin Megaduino. on: January 11, 2009, 06:36:16 am
You could just use a standard Arduino for sake of simplicity and address as many other I/O pins as you need using I2C interfacing.

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1231672744
12  Forum 2005-2010 (read only) / Interfacing / Re: Building an Ethernet bandwidth monitor - Suggestio on: January 11, 2009, 10:27:17 am
Just don't forget how UTP works - when one wire in each twisted pair is high, the other is low - so the same amount of current is always passing through the line. This method allows countering for noise on the line by simply examining the difference in voltage level between the paired wires.

You could theoretically tap the Tx and Rx pairs and monitor them both for wave changes, simply counting the wave changes would give a good idea of the very lowest fundamental level of traffic on the network.
13  Forum 2005-2010 (read only) / Interfacing / Re: Building an Ethernet bandwidth monitor - Suggestio on: January 11, 2009, 08:56:37 am
I'd find this a very useful device to connect between my ethernet gateway and the wall outlet - it could easily show (through LED-bargraph or LCD) when the connection is heavily loaded, and perhaps act as a warning device if the activity is suspiciously high for some reason.
14  Forum 2005-2010 (read only) / Interfacing / Re: Add 15 extra Digital I/O pins with one I2C device on: January 17, 2009, 06:44:01 pm
The only obvious thing I did differently was that I didn't use a pull-up resistor because the Arduino has built in pull-up resistors which are good enough for a handful of devices as far as I'm aware.

Try running a loop to talk to all 127 possible addresses, maybe it'll respond to an address you think it isn't programmed to.
15  Forum 2005-2010 (read only) / Interfacing / Re: Add 15 extra Digital I/O pins with one I2C device on: January 15, 2009, 03:49:58 am
Ok, for reference, I've also figured out how to use the BV4206 GPIO Digital Read function.

I've just got it reading a 4x4 keypad with no major issues.

Code:
   Wire.beginTransmission(0x10);  // join I2C, talk to BV4206 by id
    Wire.send(0x03);   //read command
    Wire.send(0x00);  //the digital input id
    Wire.endTransmission();      // leave I2C bus
            
    Wire.requestFrom(0x10, 1); //get byte
    byte key = Wire.receive(); //read the byte

From the read the the write functions now explained here it should be fairly straightforward to use any of the commands in the chip's manual, which is available on the website.

I'd like these groups of code put in the Arduino.cc Playground area as a more permanent reference, if anyone would kindly put it there for me smiley

Thanks
Pages: [1] 2