Hallo zusammen,
ich möchte mit einem Analog Poti (3 Draht) per Arduino UnoR3, ein DigitalPoti (AD5204, 4x100k) ansteuern
- also nicht per Taste sondern tatsächlich per analog Poti.
Der AD 5204 soll dabei ebenfalls als 3 Draht Poti arbeiten.
Verdrahtet (mehrfach überprüft und durchgemessen) sind Poti / Uno und AD 5204 folgendermaßen:
Analog Poti => Arduino:
ein PIN geht auf + 5V
Schleifer geht auf A0
der andere PIN geht auf GND
Digital Poti AD 5204 => Arduino:
GND => GND
CS (PIN4) => Pin 10
VDD (PIN6) => 5V
SDI (PIN8) => Pin 11
CLK (PIN9) => Pin 13
SDO (PIN10) => Pin 12
Die AD 5204 Ausgänge A1- A4, B1 - B4 und W1 - W4 sind in meinem Fall bisher noch komplett unbeschaltet.
Widerstandsänderungen müssten sich dort dann eigentlich direkt per Multimeter ohne weitere zusätzliche Beschaltungen messen lassen... ?
Allerdings bin ich mir hier nicht so ganz sicher, da im Tutorial Sketch des ansonsten baugleichen AD5206 auch folgendes steht:
Die Rennbahn:
- Alle A-Pins des AD5206 sind mit + 5V verbunden
- Alle B-Pins des AD5206 sind mit Masse verbunden
Das AD 5204 / 5206 Datenblatt habe ich hier mal mit angehängt.
Ich verwende für den AD 5204 allerdings diesen Sketch :
/*
AD5204 - Arduino Example
www.danielandrade.net - daniel spillere andrade
https://github.com/dansku/ad5204
June 2014
*/
#include "SPI.h" // SPI Library
const int CS = 10; // Chip Select For the AD5204
//----[Setup]------------------------
void setup()
{
pinMode(CS,OUTPUT);
digitalWrite(CS,HIGH);
SPI.begin(); // start SPI bus.
SPI.setBitOrder(MSBFIRST);
}
//----[Loop]--------------------------
void loop()
{
//Set resistance from 0% to 100% in all output
for(int i=0;i<4;i++){
for(int j=0;j<255;j++){
setPot(i,j);
delay(100);
}
}
}
//----[Functions]--------------------
// POT value: 0 -> 3
// LEVEL valeu: 0 -> 254 (8 bits)
void setPot(int POT, int LEVEL){
digitalWrite(CS, LOW);
SPI.transfer(POT);
SPI.transfer(LEVEL);
digitalWrite(CS, HIGH);
}
Mit analogRead(A0) könnte ich zwar auch meinen analog Poti Wert auslesen...
Aber wie wird daraus dann der Code den der AD 5204 an seinen Eingängen benötigt ?
Habe das Datenblatt dazu schon mehrmals "Quer" gelesen - es müssen wohl verschiedene Bits an die Eingänge CS / CLK / SDI zum AD 5204 übertragen werden.
Aber welche in abhängigkeit von meinem analogen Poti, wie genau und in welchem Format, erschließt sich mir zZ leider noch nicht... Hier benötige ich Eure Hilfe !
Meine zentrale Frage ist daher:
Was muss ich wie und wo im obigen Code ergänzen um mit meinem Analog Poti dann den AD5204 ansteuern zu können ?
würde mich sehr freuen wenn mich hier die Profis etwaserleuchten
könnten !
Grüsse
AD5204_5206.pdf (302 KB)