Styra en Furby med Arduino (eller andra mikrokontroller) (5 / 9 steg)
Steg 5: Definiera stiften på kortet och Anslut
Denna del är en fråga om preferens, men när jag skriver kod, jag föredrar att inte memorera vilket stift är anslutna till som fungerar.
Således har jag definierat på toppen av den kod som fungerar vilket stift.
Men eftersom ibland jag koppla ur menyfliksområdet och glömma som gick där, jag också definierat ribbon pins.
Därför har jag tre uppsättningar av #defines.
Ett prov - här är den kod som definierar de motoriska funktionerna:
Först definiera jag funktioner. Detta är de namn som jag använder i koden.
De definieras i termer av stiften på styrelsen.
#define MOTOR_FORWARD U1_FORWARDMOTOR
#define MOTOR_REVERSE U1_REVERSEMOTOR
Nästa definiera jag vilket stift i styrelsen gå till vilka band kablar:
#define U1_REVERSEMOTOR RIBBON_A_8
#define U1_FORWARDMOTOR RIBBON_A_7
Slutligen kartor i menyfliksområdet till stiften på arduino styrelsen. Dessa kan få omdefinieras om jag kopplar i menyfliksområdet till andra delar av styrelsen:
#define RIBBON_A_7 36
#define RIBBON_A_8 38
Obs: Vad är det med alla RIBBON_A affärer du frågar?
Jag bröt i menyfliksområdet i delar, och namn att hålla reda på dem:
- RIBBON_A = stor band - 10 stift
- RIBBON_B = små band - 2 stift
- RIBBON_C = medium band - 7 stift
- RIBBON_D = små band - 3 stift
För min setup, har jag arrangerat dem i en 11 x 2 rutnät på arduino Mega så de är kompakt.
- RIBBON_A + RIBBON_B_0
- RIBBON_C + RIBBON_D + RIBBON_B_1
Jag definierar slutligen där min knappar går. Eftersom de är "negativ logik" knappar, det är låg när man trycker, deras namn som börjar med "X":
#define XBUTTON_FWD 52
#define XBUTTON_REV 53