Ho inserito il codice sopra ma ancora non funziona: rilevo col tester una tensione di 3,27 volt circa in tutti e 4
i canali.
Problema a far funzionare l'MCP4728
0
voti
Almeno qualcosa fa...
Un passetto avanti rispetto a prima.
Dal terminale (System.println) cosa leggi?
Dopo l'ultima parentesi graffa dell'if e prima del primo mcp.setChannelValue aggiungi
Poi vediamo cosa dice al terminale.
Un passetto avanti rispetto a prima.
Dal terminale (System.println) cosa leggi?
Dopo l'ultima parentesi graffa dell'if e prima del primo mcp.setChannelValue aggiungi
- Codice: Seleziona tutto
Serial.println("MCP4728 chip found");
Poi vediamo cosa dice al terminale.
0
voti
Ecco il diagramma dell'accrocco:
Ho inserito il cdice richiesto dopo la graffa dell' if() e dal monitor seriale ottengo il seguente messaggio:
Non ricevo il seguente messaggio:
Ho inserito il cdice richiesto dopo la graffa dell' if() e dal monitor seriale ottengo il seguente messaggio:
- Codice: Seleziona tutto
Adafruit MCP4728 test!
Failed to find MCP4728 chip
Non ricevo il seguente messaggio:
- Codice: Seleziona tutto
MCP4728 chip found
2
voti
alien75 ha scritto:Ho fatto il pullup a 3,3V perché è consigliato dai datasheet dato che lo YUN lavora con uscite a 3,3V.
Questo non è corretto. Mi sono guardato le specifiche dello YUN ed ha un microprocessore AR9331 che lavora a 3.3v. C'è anche un ATmega32U4 che lavora a 5v ed è con esso che vengono esposti i pin I/O. Quindi I2C a 5v.
"It is not possible to access the I/O pins of the Atheros AR9331. All I/O lines are tied to the 32U4.
Each of the 20 digital i/o pins on the Yún can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volt. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions: Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data using the ATmega32U4 hardware serial capability. Note that on the Yún, the Serial class refers to USB (CDC) communication; for TTL serial on pins 0 and 1, use the Serial1 class..."
Posso suggerirti, prima di vedere se il DAC funziona, di controllate se funziona il dialogo I2C. A tal proposito potresti utilizzare un firmware I2C scanner per Arduino. Anche perché l'MCP4728 ha l'address i2c programmabile e se è stato cambiato quello di default non potrai mai stabilire una comunicazione senza conoscere il giusto address.
0
voti
Ecco lo schema modificato secondo le indicazioni precedenti:
ed ecco il codice dello scanner I2C:
Ho fatto 432 scansioni dopodichè mi sono fermato ma non ho rilevato nessuna porta nel MCP4728.
ed ecco il codice dello scanner I2C:
- Codice: Seleziona tutto
#include <Wire.h>
int num=0;
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
{
Serial.println("No I2C devices found\n");
Serial.println(num);
++num;
}
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
Ho fatto 432 scansioni dopodichè mi sono fermato ma non ho rilevato nessuna porta nel MCP4728.
0
voti
I pullup ci vanno. A meno che la tua schedina non li ha già.
Chi c’è in linea
Visitano il forum: Nessuno e 8 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)






