Show Posts
Pages: 1 ... 139 140 [141] 142 143 ... 343
2101  Using Arduino / Networking, Protocols, and Devices / Re: Problem with SPI communication AD7856 on: April 17, 2013, 12:49:23 pm
Quote
This ADC have a 8 channels

Yes, excuse me, I looked at the wrong datasheet. Next time please provide a link to the datasheet, this saves us a lot of time searching for it.

Code:
  digitalWrite(12,LOW);        //start convertion
  delayMicroseconds(1);        //
  digitalWrite(12,HIGH);       //

You must not use the SPI pins as digital IOs while the SPI hardware is controlling them. You have to do a SPI.end() if you want to manipulate the SPI pins yourself.


And you still send zeros while reading:

Code:
  adcMSB=SPI.transfer(0x00);  //send 0x00 to generate clock signal
  adcLSB=SPI.transfer(0x00);  //send 0x00 to generate clock signal

These hints assumes that your software version did work with the chip.
2102  International / Deutsch / Re: 10x10 RGB LED Matrix mit TLC5940 on: April 17, 2013, 12:33:34 pm
Quote
Ich mag meine gedimmt LED ganz gerne. Natürlich mischen sich die Farben noch durch das gedimmten Plexiglas, aber mit nicht gedimmte LEDs erscheinen die 3 Farbekreise auf dem Glas...

Die Strings gibt's mit mattiertem Gehäuse, womit die ganze LED in einer (gemischten) Farbe erscheint.
Bsp: http://shop.boxtec.ch/pixel-string-50pcs-ws2801-p-40604.html oder http://shop.boxtec.ch/pixel-modul-26mm-matt-ws2801-p-40940.html
Aber auch die Strips (http://shop.boxtec.ch/pixel-strip-ws2801-p-40601.html) sind auf Milchglas in ein paar cm Entfernung nicht mehr als 3 Komponenten erkennbar.
2103  International / Deutsch / Re: IR Senden geht nicht - Anfänger braucht Starthilfe on: April 17, 2013, 12:18:03 pm
Quote
Ist es möglich einen IR HEX String zu senden?

Grundsätzlich schon, aber dazu müsstest Du auch wissen, wie lange ein logisches Bit in diesem Code dauert. Da dies nicht standardisiert ist, müsstest Du das auch noch herausfinden. Woher hast Du denn diese Hex-Codes?
2104  International / Deutsch / Re: Lilypad USB v1.1 und SPI??? on: April 17, 2013, 12:13:09 pm
Quote
Ob die 6 Kontakte auf der Platine in der Nähe der USB Buchse für einen SPI Header taugen, müsste man durchmessen, im schematic seh ich sie jedenfalls nicht.

Nach dem Board-Layout sind sie ein ICSP-Header. Somit sind alle notwendigen Signale verfügbar, damit Du SPI als Master sicher benützen, als Slave wird's etwas schwieriger, da der SS-Pin für die RX-LED verwendet wird.
2105  Using Arduino / Networking, Protocols, and Devices / Re: uploading sketch using ethernet on mega and ethernet shield on: April 17, 2013, 11:50:58 am
The fuses should be as from boards.txt for the Mega2560:

FUSES      = -U efuse:w:0xfd:m -U hfuse:w:0xd8:m -U lfuse:w:0xff:m

Have you checked that the generated file was transfered to the Mega2560 and not any other?

And next time, please use code tags!
2106  International / Deutsch / Re: Arduino-Oszilloskop - [Nano Version] on: April 17, 2013, 11:39:40 am
Quote
irgendwie klappt der sketch bei mir nicht. Die Zeile: "sbi(ADCSRA,ADATE); // Auto Trigger Enable" stoppt regelrecht die Loop-Funktion bei mir

Entschuldige, ich hatte den Code zuerst nur für den ATmega328P und habe dann den Trick mit dem analogRead() gemacht, aber dabei die wichtige Reihenfolge vergessen. Der Auto Trigger darf erst nach dem analogRead() aktiviert werden, da der analogRead()-Call sonst nicht mehr zurückkehrt.
Ich hoffe, jetzt habe ich es richtig hingekriegt (habe keinen Arduino hier zum Testen):

Code:
void setup() {

    // setzt den ADC-Divisor von 128 Bit auf 16 Bit
    // die Genauigkeit sinkt etwas, aber die Geschwindigkeit steigt um das 6,5-fache
    sbi(ADCSRA,ADPS2);
    cbi(ADCSRA,ADPS1);
    cbi(ADCSRA,ADPS0);

    int dummy = analogRead(A0); // setzt die Analog-Register korrekt
    sbi(ADMUX, ADLAR); // damit kriegen wir die oberen 8 Bit direkt in ADCH
    ADCSRB = 0; // free running mode
    sbi(ADCSRA,ADATE); // Auto Trigger Enable
    sbi(ADCSRA, ADSC); // starte Konvertierung
    Serial.begin(250000);
}
2107  Using Arduino / Networking, Protocols, and Devices / Re: Arduino I2C Slave to hold I2C bus when buffered writing to EEPROM on: April 17, 2013, 11:13:53 am
Quote
I think that the Wire library does not allow this situation.

Correct but the hardware theoretically allows it. So if you write your own TWI routines you can implement that (clock stretching). You even might send a NAK to the master if the write buffer is full.
2108  Using Arduino / Networking, Protocols, and Devices / Re: Ethernet Simple Tweet Post (Failed connection) on: April 17, 2013, 10:57:13 am
If you have a pretty standard setup, you can just use DHCP by replacing the following line:

Code:
Ethernet.begin(mac, ip);

by

Code:
Ethernet.begin(mac);

Ensure you use a current IDE, version prior to 1.0.3 (AFAIR) contained bugs in the Ethernet code.
2109  International / Deutsch / Re: 10x10 RGB LED Matrix mit TLC5940 on: April 17, 2013, 10:42:31 am
Alternativ könntest Du auch pro Zelle einen ATtiny (z.B. 4313) einsetzen, dann könntest Du so etwas wie einen durchgeschleiften SPI-Bus machen, also in etwa so wie das ein WS2801 macht, aber mit Lese- und Schreibleitung für die Slaves.

Das Multiplexen einer PWM-Ausgabe halte ich für ziemlich ambitioniert. Damit Deine LEDs nicht sichtbar flackern, müsstest Du  eine PWM-Grundfrequenz von über 4MHz an den TLC übergeben (100Hz * 10 Zeilen * 4096 Abstufungen). Zudem hast Du dann nur noch maximal 1/10 der Helligkeit, die Du jetzt bekommst. All das könntest Du Dir sparen, wenn Du jedes Modul autonom machst (wie oben beschrieben).
2110  International / Deutsch / Re: Arduino Due Abfragegeschwindigkeiten ggf auch die anderen :) on: April 17, 2013, 10:15:38 am
Lesen kannst Du die relativ rasch, die Frage stellt sich mehr, wie schnell Du die eingelesenen Daten verarbeiten kannst.
Wenn Du Dich auf 8 Eingänge beschränken kannst, kannst Du alle mit einem einzigen Befehl einlesen, bis in's Prozessor-Register geht das also praktisch im vollen Takt. Nur dort nützt Dir das wahrscheinlich nicht allzu viel. Du musst sie mindestens im Speicher ablegen und von dort wahrscheinlich irgendwie auf den PC bringen. Oder wie gedachtest Du die Ausgabe zu machen?
2111  International / Deutsch / Re: Serielle Kommunikation synchronisieren on: April 17, 2013, 10:10:05 am
Code:
      delay(1);

Ein delay() mit einer ganzen Millisekunde hat in diesem Sketch gar nichts verloren und ist auch völlig unnütz.

Zudem: wieso machst Du die Behandlung der seriellen Schnittstelle nicht während Du auf den nächsten Event wartest? Das Zeichen vom Computer kann auch während der Ausgabe empfangen werden.
Dann würde ich auf binäre Übertragung umstellen, dann sparst Du die Zeit zum Parsen.
2112  Using Arduino / Networking, Protocols, and Devices / Re: Arduino Ethernet Freezes on: April 17, 2013, 09:05:12 am
Quote
I wrote the server side software as well, It only sends one bit back. I figured that would be easier on the arduino side.

Even though you wrote the server yourself, I would check if it really does what you expect it to do by controlling the traffic between the two. Sometimes there is some little fact forgotten in the programming or you use a library that inserts another character which you didn't realize yet.

If the server code is of acceptable size, post it, it may give us hints to the problem.
2113  Using Arduino / Networking, Protocols, and Devices / Re: connecting to a switch network on: April 17, 2013, 08:53:19 am
IP addresses in the 100.100.100.x network are not in a private range of IPs but in the shared address space reserved for ISP's internal usage (for carrier grade NAT). Was that IP just a wildly guessed example or does your PC really have such an address? If yes, have you configured it or where does it originate from?
2114  Using Arduino / Networking, Protocols, and Devices / Re: Arduino I2C Slave to hold I2C bus when buffered writing to EEPROM on: April 17, 2013, 08:44:53 am
Does that mean your actual question was "Can the EEPROM write be made faster"? The answer is: no, because the hardware needs so much time.
2115  Using Arduino / Networking, Protocols, and Devices / Re: RS485 Protocol Library problems on: April 17, 2013, 08:11:24 am
Did you check that what you received is exactly what you sent? The RS485 protocol includes a CRC to check the correct transmission of the content. If that doesn't match, the rcvMsg() function returns 0.
Pages: 1 ... 139 140 [141] 142 143 ... 343