herbalmickey
24.10.2018, 11:34
Hallo,
habe eine Frage zum oben genannten Thema:
Ich möchte lediglich einen MircoServo (SG90) auf einer PCF8574 Erweiterung ansprechen. Am Servo hängt zur Zeit keine Last.
Die einzelnen Pins kann ich ansprechen / abfragen. Aber Das reicht ja nicht, um einen Servo in einen entsprechenden Winkel zu fahren. Das einzige was ich rausbekomme ist ein kurzes zucken des Servo's.
Habe schon mit der Servo.h versucht, aber das brachte mich letzten ende auch nicht weiter.
Anbei noch der Code, der natürlich nichts bringt: :-)
#include <Wire.h>
#define PCF8574 0x27
void setup()
{
Wire.begin();
}
void loop(){
schreiben_PCF8574(PCF8574, B000001);
delay(5);
schreiben_PCF8574(PCF8574, B000000);
delay(5);
delay(3000);
}
void schreiben_PCF8574(int I2C_Adresse, byte data)
{
Wire.beginTransmission(I2C_Adresse); // Connect
Wire.write(data); // data Byte senden
Wire.endTransmission(); // Disconnect
delay(1);
}
byte lesen_PCF8574(int I2C_Adresse)
{
byte data = 0xFF;
Wire.beginTransmission(I2C_Adresse); // Connect
Wire.requestFrom(I2C_Adresse, 1); // ein Byte (8 Bit) anfordern
if (Wire.available()) data = Wire.read(); // Daten vorhanden?
Wire.endTransmission(true); // Disconnect
return data;
delay(1);
}
habe eine Frage zum oben genannten Thema:
Ich möchte lediglich einen MircoServo (SG90) auf einer PCF8574 Erweiterung ansprechen. Am Servo hängt zur Zeit keine Last.
Die einzelnen Pins kann ich ansprechen / abfragen. Aber Das reicht ja nicht, um einen Servo in einen entsprechenden Winkel zu fahren. Das einzige was ich rausbekomme ist ein kurzes zucken des Servo's.
Habe schon mit der Servo.h versucht, aber das brachte mich letzten ende auch nicht weiter.
Anbei noch der Code, der natürlich nichts bringt: :-)
#include <Wire.h>
#define PCF8574 0x27
void setup()
{
Wire.begin();
}
void loop(){
schreiben_PCF8574(PCF8574, B000001);
delay(5);
schreiben_PCF8574(PCF8574, B000000);
delay(5);
delay(3000);
}
void schreiben_PCF8574(int I2C_Adresse, byte data)
{
Wire.beginTransmission(I2C_Adresse); // Connect
Wire.write(data); // data Byte senden
Wire.endTransmission(); // Disconnect
delay(1);
}
byte lesen_PCF8574(int I2C_Adresse)
{
byte data = 0xFF;
Wire.beginTransmission(I2C_Adresse); // Connect
Wire.requestFrom(I2C_Adresse, 1); // ein Byte (8 Bit) anfordern
if (Wire.available()) data = Wire.read(); // Daten vorhanden?
Wire.endTransmission(true); // Disconnect
return data;
delay(1);
}