Show Posts
Pages: [1] 2 3 ... 343
1  Using Arduino / Networking, Protocols, and Devices / Re: I2C vs SPI: What do you pick, and why? on: June 19, 2014, 05:35:18 am
In addition to what Riva wrotes, I2C has an additional advantage: You can connect 3V3 and 5V devices on the same bus without the need for a level converter. That's because the master as well as the slaves are not actively supplying a high state but only pulls the data signal to ground if necessary while a pull-up resistor pulls the signal high if no bus member is pulling it down. A level of 3V3 is a HIGH level for almost all 5V devices so you won't get problems connecting both types of devices to the same bus.

Both (SPI and I2C) are limited to a short bus length (about half a meter) without additional precautions but the I2C bus is extended more easily if that's necessary.
2  International / Deutsch / Re: Arduino Due IDE on: June 19, 2014, 05:23:10 am
Quote
daher kann ich sie kaum per i2c von Arduinos zum RPi hin- und herschieben.

Du scheinst auf I2C fixiert zu sein. I2C ist ein Bussystem, das in erster Linie für Sensordaten gedacht war. Ein Master kontrolliert einen oder mehrere Slaves, der Master gibt den Takt vor und sagt jedem Slave explizit, wann er etwas senden darf. I2C läuft normalerweise mit 100kHz, die schnelle Variante mit 400kHz, damit kriegst Du vielleicht 20-30kB/s übertragen. SPI wäre wesentlich schneller (Faktor 10 mit den ATmegas), aber auch dort gibt es einen Master, der die Slaves abfragt. Zwei-Wege-Kommunikation kannst Du mit dem UART (der asynchronen seriellen Schnittstelle) machen, dort würde ich aber nicht mehr als ca. 25kB/s an Übertragungsleistung erwarten.

Ich würde für die meisten Anwendungen, die einen Pi und einen Arduino beinhalten, die SPI-Schnittstelle wählen und dort den Pi als Master agieren lassen (davon ausgehend, dass der Arduino der IO-Konzentrator ist, während der Pi die eigentlichen Berechnungen durchführt). Damit erreichst Du gute Geschwindigkeiten und hast relativ wenig Overhead.
3  International / Deutsch / Re: C Programmierhilfe bei string einlesen als Pointervariable on: June 18, 2014, 12:38:39 pm
Code:
void getSerialString(char *inString[] ) {

Wieso willst Du hier ein Array von C-Strings, also ein Array von Arrays? Die Definition ist identisch mit

Code:
void getSerialString(char **inString ) {

Quote
Arduino: 1.5.6-r2 (Windows XP), Board: "Arduino Duemilanove or Diecimila, ATmega168"

Die 1.5.6-Version ist Beta und sollte nur für den Due und den Yun eingesetzt werden, nicht aber für den Duemillanove oder noch ältere Modelle. Vor allem als Anfänger empfiehlt es sich nicht, Vorabversionen der IDE einzusetzen, einige Beschreibungen aus dem Internet funktionieren damit nicht mehr und Du wirst nicht auf Anhieb auf die Idee kommen, dass es an der Beta-Version liegt.
4  International / Deutsch / Re: Arduino Due IDE on: June 18, 2014, 12:31:41 pm
Quote
@pylon: Welche Nachteile siehst du bei der "neuen" Version?

Das Installieren der Bibliotheken verändert sich und stimmt nicht mehr mit den Anleitungen im Netz überein. Und ja, das Teil ist jetzt schon eine Weile raus, aber immer noch im Beta-Status. Minime Anpassungen in den mitgelieferten Bibliotheken wurden vorgenommen, so dass in speziellen Situation ein leicht verändertes Verhalten resultieren kann. Wenn Du dann ein Problem bekommst, wird niemand für die Überprüfung auch eine Beta-IDE verwenden.  Nichts Gravierendes, aber genug, um davon abzuraten.
5  Using Arduino / Sensors / Re: IRremote library works with Leonardo? on: June 18, 2014, 12:19:46 pm
Quote
My IR Transmit LED is fixed connect on digital pin 11.

On the Leonardo?
6  Using Arduino / Sensors / Re: hef4067 question on: June 18, 2014, 09:46:00 am
There is no link to the hardware datasheet, no wiring diagram to understand how that hardware is connected to the Arduino and the code is only a minimal excerpt which doesn't contain any hint about what you're trying to do. Provide the necessary information!

Quote
but i have a problem whith th expansion of digital output using a demultiplexer solution.

May we ask you to tell us your problem?
7  Using Arduino / Networking, Protocols, and Devices / Re: Which WSN attacks can be protected by Key exchange+encryption on: June 18, 2014, 09:40:35 am
Quote
For exchanging the key I am using AES encryption.

You're using AES encryption on an Arduino? Interesting, what library are you using? How do you exchange the keys for the AES encryption (AES is symmetrical).

Quote
I have tried to know more about attacks and their prevention but can't figure out which attacks can one simple key exchange using encryption protect a device from.

The key exchange itself doesn't protect from any attack. What are you using the keys for?
8  International / Deutsch / Re: Arduino Due IDE on: June 18, 2014, 09:33:18 am
Quote
aah, danke, ich hab noch 1.05r2 (ohne Due), dann werd ich gleich mal umsteigen!

Steig nur um, wenn Du einen Due kaufst. Mit dem UNO hast Du eigentlich nur Nachteile bei der neuen Version (es ist eine BETA!).
9  Using Arduino / Networking, Protocols, and Devices / Re: BC127 Software Serial not reading on: June 17, 2014, 12:23:47 pm
Quote
I'm connecting to the short side FTDI TX and RX. Should I not be doing this? Maybe I should read a little bit more about FTDI. I thought that is where it was best to hook data up.

I would have done the same but I would connect TX of the board to TX of the Arduino and RX of the board to RX of the Arduino because the TX signal goes over a level converter (5V <-> 3V3) while the RX signal is connected with only a resistor in series to the RX pin of the chip. In the datasheet I cannot find any note that the chip is 5V tolerant so connecting the RX pin of the module to TX of the Arduino may damage the module.
The connection examples from Sparkfun are made with 3V3 Arduino Mini Pros, there they connect with RX/TX crossed so the available information is not clear and contradictory.
10  Products / Arduino Yún / Re: Arduino Yún probelms with RAM? on: June 17, 2014, 07:44:49 am
It's always at the 256th message where it crashes? How fast are you sending the data to the Yun? You don't check for a buffer overflow.
If you're sending fast enough, it's possible that the Arduino reads more than one message and after some time the buffer fills up, memory gets corrupted and the Arduino freezes.
11  Products / Arduino Yún / Re: Arduino Yún probelms with RAM? on: June 16, 2014, 01:36:32 pm
First of all, you're using the String class which fragments the memory and results in failing allocations although theoretically enough memory is available.
Then you call readString() which just reads until there is an error or a timeout occurred. Was that really your intention?

Then make some examples of content sent to the Yun. In your code it looks like it's easily parsable, so it might not be necessary to read in the complete message but directly parse it as it comes in.
12  International / Deutsch / Re: Struct füllen in C, kurzschreibweise ? on: June 16, 2014, 01:25:25 pm
Du meinst wahrscheinlich ein Comound Literal:

Code:
F_tag = (tmElements_t) {.Day=7, .Year=2012-1970, .Month=5, .Second=0, .Minute=0, .Hour=7};
13  International / Deutsch / Re: Problem GPS beim sparkfun can bus shield? on: June 16, 2014, 01:16:25 pm
Quote
Ich möchte vorerst Motor spezifische Daten loggen und diese sammt GPS daten auf  der SD speichern.  Um dann die Daten auf einer Map zu zeigen. Mit dem MEGA2560, hätte ich da viel Aufwand das Programm um zuschreiben ?

In diesem Fall würde ich Dir dringend raten, auf den Mega2560 zu wechseln, mit zwei SoftwareSerial-Objekten im Einsatz wirst Du sonst mit grosser Wahrscheinlichkeit Datenverluste haben, weil die Interrupts zu lange gesperrt werden.

Das Umschreiben ist nicht sehr kompliziert, anstatt der SoftwareSerial-Objekte verwendest Du einfach Serial1, Serial2 oder Serial3. Etwas komplizierter ist die Hardware-Änderung, denn die Anschlüsse von GPS und LCD müssen auf andere Pins gebracht werden. Wenn Du D4, D5 und D6 nicht anderweitig brauchst (auf dem Mega hast Du ja genügend frei Pins), kannst Du einfach mittels Jumper-Kabeln die Verbindung machen, musst aber darauf achten, dass die 3 Pins nie per Software als Ausgang geschaltet werden. Wenn Du sicher gehen willst, kannst Du die drei Pins am Shield abschneiden, dann kann es bestimmt nie zu einem Kurzschluss kommen.
14  International / Deutsch / Re: Problem GPS beim sparkfun can bus shield? on: June 16, 2014, 08:56:29 am
Und für beides verwendest Du SoftwareSerial? Hast Du darauf geachtet, dass Du das GPS-Modul nach dem LCD definierst (nur eine Instanz von SoftwareSerial kann empfangend sein)? Du bist Dir im Klaren, dass Du vom GPS-Modul nichts empfangen kannst, solange Du etwas an das LCD schickst? Auch die CAN-Schnittstelle kann in dieser Zeit nichts empfangen.
SoftwareSerial sollte nur als allerletzte Notlösung genommen werden, es ist kein gleichwertiger Ersatz für eine serielle Schnittstelle in Hardware.

Welche Art von Daten loggst Du mit dem Teil? Kommen die von der seriellen Schnittstelle oder wofür verwendest Du die? "Nur" zum Debuggen? Dann besorge Dir schnell einen Mega2560, der hat 4 Hardware-Schnittstellen, mit der Emulation in Software wirst Du nicht glücklich werden.
15  Using Arduino / Networking, Protocols, and Devices / Re: Speed (latency) of ENC28J60 module / ethernet on: June 16, 2014, 08:40:02 am
To make your requests faster, remove the serial output to a 9600 baud interface, every character sent to this interface needs about 1ms to be sent. A typical browser request header is almost 500 bytes in size, so you get almost to the delay you experienced.

Also change the output of the result page to a version where you use the two argument write() method and no print() or println() methods because these send the data out using one argument write() calls, so every byte might be sent in a single packet.

Using these two optimizations you probably get the response time down to very few dozens of milliseconds (or less).
Pages: [1] 2 3 ... 343