Arduino Uno & ADG714 via SPI funktioniert nur sporadisch

Hallo zusammen,

ich habe einen ADG714 via SPI mit dem Arduino Uno verbunden und in Betrieb genommen. Momentan hängen an dem Analog Switch nur 8 LEDs. die SPI Übertragung funktioniert, zumindest habe ich auf dem Oszi ein Clock und SS Signal. Die LEDs leuchten auch, jedoch nur wenn ich mit meinem Finger das ADG714 berühre oder mich mit dem Oberkörper über die Schaltung beuge, das selbe gilt auch für den Arduino, sobald ich mit dem Finger etwas auf dem Board berühre leuchten die LEDs ansonsten tut sich nichts, trotz korrektem CLK und SS Signal auf dem OSzi. Woran kann das liegen ?

anbei mein Code:

#include <SPI.h>

void setup() 
  {
  digitalWrite(SS, HIGH);  
  SPI.begin (); 
  }
void loop() 
{
sw1();
sw2();
sw3();
sw4();
sw5();
sw6();
sw7();
sw8();
alloff();
}

void alloff()
{
  digitalWrite(SS, LOW);    
  byte test = B00000000;
  SPI.transfer (test);
  digitalWrite(SS, HIGH);
  delay(500);
  SPI.endTransaction ();
}
void sw1()
{
  digitalWrite(SS, LOW);    
  byte test1 = B10000000;
  SPI.transfer (test1);
  digitalWrite(SS, HIGH);
  delay(500);
  SPI.endTransaction ();
}
void sw2()
{
  digitalWrite(SS, LOW);    
  byte test2 = B01000000;
  SPI.transfer (test2);
  digitalWrite(SS, HIGH);
  delay(500); 
  SPI.endTransaction ();
}
void sw3()
{
  digitalWrite(SS, LOW);    
  byte test3 = B00100000;
  SPI.transfer (test3);
  digitalWrite(SS, HIGH);
  delay(500);
  SPI.endTransaction ();
}
void sw4()
{
  digitalWrite(SS, LOW);
  byte test4 = B00010000;
  SPI.transfer (test4);
  digitalWrite(SS, HIGH);
  delay(500);  
  SPI.endTransaction ();
}
void sw5()
{
  digitalWrite(SS, LOW);
  byte test5 = B00001000;
  SPI.transfer (test5);
  digitalWrite(SS, HIGH);
  delay(500);
  SPI.endTransaction ();
}
void sw6()
{
  digitalWrite(SS, LOW);
  byte test6 = B00000100;
  SPI.transfer (test6);
  digitalWrite(SS, HIGH);
  delay(500);
  SPI.endTransaction ();
}
void sw7()
{
  digitalWrite(SS, LOW);
  byte test7 = B00000010;
  SPI.transfer (test7);
  digitalWrite(SS, HIGH);
  delay(500);
  SPI.endTransaction ();
}
void sw8()
{
  digitalWrite(SS, LOW);
  byte test8 = B00000001;
  SPI.transfer (test8);
  digitalWrite(SS, HIGH);
  delay(500);  
  SPI.endTransaction ();
}

Die Verkabelung ist auch korrekt:

D13(CLK) ----> Pin1 ADG714 SCLK
D12(MISO)---> Pin3 ADG714 DIN
D11(MOSI)---> Pin22 ADG714 DOUT
D10(SS) -----> Pin24 ADG714 /SYNC

An dem Analog Switch habe ich jeweils an Source eine 5v Spannung (Selbe Leitung die auch den IC versorgt) angeschlossen und die LEDs hängen mit 330Ohm Vorwiderständen jeweils an Drain.
Anbei das Datenblatt zum Analog Switch.

ADG714_715.pdf (229 KB)

Wenn eine Schaltung so reagiert, liegt meist ein Schaltungsfehler vor.

GND zwischen Arduino und adg714 nicht verbunden ?
Offene Eingänge nicht richtig beschaltet ?

Also ohne ein Schaltbild deines Aufbaus können wir nur raten.

Arduino ADG714
5V ------------- VDD (pin2) und jeweils an jede Source Leitung des ICs
GND ----------- GND & VSS (pin4 & pin21)

Grüße

Zinga:
Arduino ADG714
5V ------------- VDD (pin2) und jeweils an jede Source Leitung des ICs
GND ----------- GND & VSS (pin4 & pin21)

Grüße

Sorry, aber das ist kein Schaltbild.

Keine vernünftigen Angaben, keine Hilfe...

Anbei der Schaltplan

die sind auf dem Board (jeweils 330Ohm), jedoch nicht auf dem Schaltplan

Crossposting

Dann lass dir deinen Fehler im "Mikrocontroller-Forum" erklären.

Was ist so schlimm daran ?

Zinga:
Was ist so schlimm daran ?

Ich halte das für ein egomanisches Vorgehen!
egoistisch + rücksichtslos

Meine Definition:

Crossposting bedeutet, dass ein und dieselbe Frage in mehreren Foren oder Newsgroups gleichzeitig gestellt wird. Ein solches Verhalten wird von den meisten Helfern nicht toleriert, denn damit stellst Du einerseits die Kompetenz der Helfer jedes einzelnen Forums und Newsgroup in Frage und bewirkst zudem, dass ein zig-faches an Stunden aufgewendet wird, um nur ein einziges Problem zu lösen, denn überall werden sich die Helfer daran setzen, eine Lösung für Dich zu finden. Das ist ganz klar ein Missbrauch an dem kostenlosen und freiwilligen Support, der hier angeboten wird. Wenn Deine Frage klar und deutlich gestellt wurde, dann wirst Du ganz bestimmt innerhalb kürzester Zeit eine Antwort erhalten. Sollte dies auch nach mehreren Tagen nicht der Fall sein, dann versuche bitte die Frage besser zu formulieren. Falls Du dennoch in einem zweiten Forum posten solltest, erwähne bitte, dass Du die Frage schon woanders gestellt hast, und dass Du es tust, weil keine Lösung gefunden werden konnte.

Entschuldigt bitte, aus dem Blickwinkel habe ich das nicht betrachtet.

Fein ...
Dann haben wir das ja schon mal geklärt!

Und was dein Problem angeht, machst du erstmal das, was dir im anderen Forum gesagt wurde.

SS zum Output