Ronald, je kan idd tot 3 servo's aansluiten met knoppen op de arduino,
De knoppen moet ik die dan op de analoge kant van de arduino
aansluiten of op de PCA 9685?
..maar anderen hebben dat ook al gedaan en bieden een werkende oplossing...
Je hebt dan op een Arduino Uno nog 4 analoge ingangen over. Hier kun je tig schakelaars op aansluiten. Zie dit draadje: https://forum.beneluxspoor.net/index.php?topic=93603.msg3222130131#msg3222130131
Die werkt wel met schakelaars, dus waarschijnlijk ga ik die gebruiken, als het met de arduino niet lukt
#include <Servo.h>//#define module2 // nu doen we module 2, als je module 3 wilt flashen, moet je de // tekens verplaatsen van 3 naar 2#define module3#if defined module2 // deze lijsten worden gebruikt voor module 2const int nServo = 4 ; // of hoeveel je er ook hebt. Servo point[nServo] ; // array met servo objectenconst int servoPin[nServo] = { 3,4,5,6 } ; // pinnen voor de servo motorsconst int inputPin[nServo] = { A0, A1, A2, A3 } ; // pinnen voor de schakelaarsconst int servoMinPositions[nServo] = { 80, 80, 80, 80 } ; // mininum positiesconst int servoMaxPositions[nServo] = { 100, 100, 100, 100 } ; // maximum posities#elif defined module3 // deze lijsten worden gebruikt voor module 3const int nServo = 6 ; // of hoeveel je er ook hebt.Servo point[nServo] ; // array met servo objectenconst int servoPin[nServo] = { 3,4,5,6,7,8 } ; // pinnen voor de servo motorsconst int inputPin[nServo] = { A0, A1, A2, A3, A4, A5 } ; // pinnen voor de schakelaarsconst int servoMinPositions[nServo] = { 80, 80, 80, 80, 80, 80 } ; // mininum positiesconst int servoMaxPositions[nServo] = { 100, 100, 100, 100, 100, 100 } ; // maximum posities#endifvoid setup() { for( int i ; i < nServo ; i ++ ) { pinMode( inputPin[i], INPUT_PULLUP ) ; // initialiseer input pinnen point[i].attach( servoPin[i] ) ; // initialiseer servomotors }}void loop(){ for( int i ; i < nServo ; i ++ ) { byte minPos = servoMinPositions[ i ] ; byte maxPos = servoMaxPositions[ i ] ; if( digitalRead( inputPin[i] ) ) point[i].write( minPos ) ; // input hoog -> servo min positie else point[i].write( maxPos ) ; // input laag -> servo max positie } delay( 100 );}