Code:
#include <stdio.h>
#include <stdlib.h>
#include <pca9685.h>
#include <wiringPi.h>
#include <mcp23017.h>
void setup()
{
wiringPiSetup(); //setup of wiringPi lib
mcp23017Setup(PINBASE3,0x20); //setup of mcp23017
mcp23017Setup(PINBASE4,0x70); //setup of mcp23017
pinMode(PINBASE3,INPUT); //encoder 1 of leg 1
pullUpDnControl(PINBASE3,PUD_UP); //pull up encoder
pinMode(PINBASE3+1,INPUT); //encoder 1 of leg 1
pullUpDnControl(PINBASE3+1,PUD_UP); //pull up encoder
pinMode(PINBASE3+2,INPUT); //encoder 2 of leg 1
pullUpDnControl(PINBASE3+2,PUD_UP); //pull up encoder
pinMode(PINBASE3+3,INPUT); //encoder 2 of leg 1
pullUpDnControl(PINBASE3+3,PUD_UP); //pull up encoder
pinMode(PINBASE3+4,INPUT); //encoder 3 of leg 1
pullUpDnControl(PINBASE3+4,PUD_UP); //pull up encoder
pinMode(PINBASE3+5,INPUT); //encoder 3 of leg 1
pullUpDnControl(PINBASE3+5,PUD_UP); //pull up encoder
pinMode(PINBASE3+6,INPUT); //encoder 1 of leg 2
pullUpDnControl(PINBASE3+6,PUD_UP); //pull up encoder
pinMode(PINBASE3+7,INPUT); //encoder 1 of leg 2
pullUpDnControl(PINBASE3+7,PUD_UP); //pull up encoder
pinMode(PINBASE3+8,INPUT); //encoder 2 of leg 2
pullUpDnControl(PINBASE3+8,PUD_UP); //pull up encoder
pinMode(PINBASE3+9,INPUT); //encoder 2 of leg 2
pullUpDnControl(PINBASE3+9,PUD_UP); //pull up encoder
pinMode(PINBASE3+10,INPUT); //encoder 3 of leg 2
pullUpDnControl(PINBASE3+10,PUD_UP); //pull up encoder
pinMode(PINBASE3+11,INPUT); //encoder 3 of leg 2
pullUpDnControl(PINBASE3+11,PUD_UP); //pull up encoder
pinMode(PINBASE3+12,INPUT); //encoder 1 of leg 3
pullUpDnControl(PINBASE3+12,PUD_UP); //pull up encoder
pinMode(PINBASE3+13,INPUT); //encoder 1 of leg 3
pullUpDnControl(PINBASE3+13,PUD_UP); //pull up encoder
pinMode(PINBASE3,INPUT); //encoder 1 of leg 1
pullUpDnControl(PINBASE3,PUD_UP); //pull up encoder
pinMode(PINBASE3+1,INPUT); //encoder 1 of leg 1
pullUpDnControl(PINBASE3+1,PUD_UP); //pull up encoder
pinMode(PINBASE3+2,INPUT); //encoder 2 of leg 1
pullUpDnControl(PINBASE3+2,PUD_UP); //pull up encoder
pinMode(PINBASE3+3,INPUT); //encoder 2 of leg 1
pullUpDnControl(PINBASE3+3,PUD_UP); //pull up encoder
pinMode(PINBASE3+4,INPUT); //encoder 3 of leg 1
pullUpDnControl(PINBASE3+4,PUD_UP); //pull up encoder
pinMode(PINBASE3+5,INPUT); //encoder 3 of leg 1
pullUpDnControl(PINBASE3+5,PUD_UP); //pull up encoder
pinMode(PINBASE3+6,INPUT); //encoder 1 of leg 2
pullUpDnControl(PINBASE3+6,PUD_UP); //pull up encoder
pinMode(PINBASE3+7,INPUT); //encoder 1 of leg 2
pullUpDnControl(PINBASE3+7,PUD_UP); //pull up encoder
pinMode(PINBASE3+8,INPUT); //encoder 2 of leg 2
pullUpDnControl(PINBASE3+8,PUD_UP); //pull up encoder
pinMode(PINBASE3+9,INPUT); //encoder 2 of leg 2
pullUpDnControl(PINBASE3+9,PUD_UP); //pull up encoder
pinMode(PINBASE3+10,INPUT); //encoder 3 of leg 2
pullUpDnControl(PINBASE3+10,PUD_UP); //pull up encoder
pinMode(PINBASE3+11,INPUT); //encoder 3 of leg 2
pullUpDnControl(PINBASE3+11,PUD_UP); //pull up encoder
pinMode(PINBASE3+12,INPUT); //encoder 1 of leg 3
pullUpDnControl(PINBASE3+12,PUD_UP); //pull up encoder
pinMode(PINBASE3+13,INPUT); //encoder 1 of leg 3
pullUpDnControl(PINBASE3+13,PUD_UP); //pull up encoder
pinMode(PINBASE3+14,INPUT); //encoder 2 of leg 3
pullUpDnControl(PINBASE3+14,PUD_UP); //pull up encoder
pinMode(PINBASE3+15,INPUT); //encoder 2 of leg 3
pullUpDnControl(PINBASE3+15,PUD_UP); //pull up encoder
}
int main()
{
setup();
while(1)
{
for(int i=PINBASE3;i<PINBASE3+16;i++)
{
delay(500);
printf("%d) %d\n",i,digitalRead(i));
}
}
}
Lesezeichen