Arduinogame för nybörjare (3 / 3 steg)
Steg 3: Koden, inte för hårt och inte för länge!
PIN ansluten till ST_CP av 74HC595
int latchPin = 13.
PIN ansluten till SH_CP av 74HC595
int clockPin = 12;
PIN ansluten till DS för 74HC595
int dataPin = 11;
int intervall = 2000.
byte ledarray [8] = {B00000001, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B10000000}; byte pointsarray [8] = {B00000001, B00000010, B00000100, B00001000, B00010000, B00100000, B01000000, B10000000};
int knapp1 = 2;
int knapp2 = 3;
int knapp3 = 4;
int knapp4 = 5;
int knapp5 = 6;
int knapp6 = 7.
int knapp7 = 8;
int knapp8 = 9;
int lednr;
int pinCount = 8;
int poäng = 0;
void setup() {
Ange stift att produktionen så kan du styra övergången registrera
pinMode (latchPin, produktionen);
pinMode (clockPin, produktionen);
pinMode (dataPin, produktionen);
pinMode(2,INPUT_PULLUP);
pinMode(3,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
pinMode(5,INPUT_PULLUP);
pinMode(6,INPUT_PULLUP);
pinMode(7,INPUT_PULLUP);
pinMode(8,INPUT_PULLUP);
pinMode(9,INPUT_PULLUP);
Serial.BEGIN(9600);
void loop() {för (int jag = 0; jag < 17; i ++) {int prevMillis = millis(); lednr = random(8);
Serial.Print(lednr);
ta latchPin låg så lysdioderna inte ändras medan du skickar i bitar:
digitalWrite (latchPin, låg);
flytta ut bitarna:
shiftOut (dataPin, clockPin, MSBFIRST, ledarray[lednr]);
ta den spärr pin hög så lamporna tänds:
digitalWrite (latchPin, hög);
paus innan nästa värde:
Delay(50); While((Millis() - prevMillis) < intervall) {om (digitalRead(lednr+2) == låg) {poäng ++, tone(10,440,300), delay(30), break;}} //while Serial.println (poäng). } }