Xtreme Buzzwire-4-2 (Arduino Jam project) (3 / 6 steg)
Steg 3: Koden
Men koden inte är svårt, men fortfarande var jag ganska stolt över att, efter en heldag med skriva kod utan provning (medan Jan var bygga plattform och handtag etc.) Det fungerade nästan helt när du testar det ut allt för första gången. Så gjorde vi inte hade att spendera timmar på felsökning, bara några minuter.Detta lämnade oss med tillräckligt med tid att genomföra vissa extra funktioner och "finishin inslag" som gjort detta projekt slutförts och en lyckad helg-projekt.
Låt oss ta en titt på betydande delar av den.
första variablerna:
byte P1pin = A0; analogt sensorpins (spelare ring)
byte P2pin = A1;
byte speedPin = A2; analoga svårigheten stifts (potmeter)
Detta är de 3 begagnade analoga ingångarna. Om du ser oväntat beteende efter bygga och ansluta allt, kanske bytt du spelarens handtag. Antingen kan du återansluta kablarna eller ändra P1pin och P2pin veriables i te kod.
byte dataPin = 11; Shiftregister DATA-pin
byte latchPin = 8; Shiftregister spärr-pin
byte clkPin = 12; Shiftregister klocka-pin
Dessa är anslutningarna till den första shiftregister, andra är ansluten till först. igen: för mor info kolla http://www.arduino.cc/en/Tutorial/ShiftOut
Den kod för att hantera shiftout för de lysdioder finns någonstans nära botten av koden i en funktion kallas: updateLeds()
Jag måste erkänna att koden fortfarande kan använda vissa tweaking/städa upp, till exempel: stiften för högtalare och signal stiften för servo är inte anges som en variabel ovanpå koden ännu, men hårdkodade i funktionerna.
Om du vill ändra PWM stift där du ansluta te servo, bara titta i setup ()-slinga och ändra värden för:
servoP1.attach (9).
servoP2.attach (10).
Om du vill ändra PIN-koden till wich du ansluta högtalaren, titta längst ner i koden för varje funktion som ser ut så här:
Tone(2,800,200)
det första värdet är speakerpin (2 i detta fall) de nästa 2 värdena är av tonen, frekvens och varaktighet om du vill ändra ljuden.
funktionen tone() används i de senaste 3 funktioner kallas: buzz(), beginbuzz() och victory()
Eftersom koden är väl kommenterade, jag tycker det är meningslöst att gå mer i detalj om det.
Ta en titt på det, läsa kommentarerna, och om du har några frågor, kontakta mig, eller titta i kommentarerna nedan, du kanske redan besvarats av någon annan ;-)
Och låt oss nu gå över till Jan, och hur det var bygga...