Stjäla Bacon spel med Arduino
10 x lysdioder
11 x 330 Ohm motstånd
1 x 10 k Ohm motstånd
1 x-knappen
1 x växla
1 x Summer
19 x hoppare ledningar
1 x bakbord eller Perfboard
1 x Arduino Mega 2560 eller Arduino Uno
Detta tog jag och min kompis några timmar eftersom vi skrev koden oss själva. Men om du använder koden nedan då det tar du bara ca 30 minuter till en timme.
Detta är koden jag använde:
#include "pitches.h"
int melodi [] = {
NOTE_C4, NOTE_C3, NOTE_C5};
variabel initiering/instansiering
int led11 = 4;
int led12 = 5;
int led13 = 6;
int led14 = 7.
int led21 = 8;
int led22 = 9;
int led23 = 10;
int led24 = 11;
int ledJackpot1 = 3;
int ledJackpot2 = 12;
int pushButtonPin = 2;
int pushSwitchPin = 40;
int Summer = 42.
int buttonState;
lång rand1;
lång rand2;
lång rand3;
körs när reset trycks, endast en gång
void setup() {
pinMode(led11,OUTPUT);
pinMode(led12,OUTPUT);
pinMode(led13,OUTPUT);
pinMode(led14,OUTPUT);
pinMode(led21,OUTPUT);
pinMode(led22,OUTPUT);
pinMode(led23,OUTPUT);
pinMode(led24,OUTPUT);
pinMode(ledJackpot1,OUTPUT);
pinMode(ledJackpot2,OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode (pushButtonPin, ingång);
pinMode (pushSwitchPin, ingång);
randomSeed(analogRead(0));
}
den huvudsakliga funktionen. går oändligt eller tills avsluta av användare
void loop()
{
få tillstånd av knappen
buttonState = digitalRead(pushButtonPin);
IF(buttonState == High) {
om (digitalRead(pushSwitchPin) == hög) {rand1 = random(1,10);} annat {rand1 = random(1,5);} //new linje
rand1 = random(1,10); Detta var vår gamla linje
rand2 = random(1,5);
Switch(rand1) {
fall 1: om (digitalRead(led11) == låg) {digitalWrite(led11,HIGH);} annat {alreadyOut(1);} bryta;
fall 2: om (digitalRead(led12) == låg) {digitalWrite(led12,HIGH);} annat {alreadyOut(1);} bryta;
fall 3: om (digitalRead(led13) == låg) {digitalWrite(led13,HIGH);} annat {alreadyOut(1);} bryta;
fall 4: om (digitalRead(led14) == låg) {digitalWrite(led14,HIGH);} annat {alreadyOut(1);} bryta;
fall 5: om (digitalRead(led11) == låg) {digitalWrite(led11,HIGH);} annat {alreadyOut(1);} bryta;
mål 6: om (digitalRead(led12) == låg) {digitalWrite(led12,HIGH);} annat {alreadyOut(1);} bryta;
fall 7: om (digitalRead(led13) == låg) {digitalWrite(led13,HIGH);} annat {alreadyOut(1);} bryta;
mål 8: om (digitalRead(led14) == låg) {digitalWrite(led14,HIGH);} annat {alreadyOut(1);} bryta;
mål 9: digitalWrite(led21,HIGH);
digitalWrite(led22,HIGH);
digitalWrite(led23,HIGH);
digitalWrite(led24,HIGH);
digitalWrite(led11,HIGH);
digitalWrite(led12,HIGH);
digitalWrite(led13,HIGH);
digitalWrite(led14,HIGH);
Jackpot();
bryta;
standard: bryta;
}
Switch(rand2) {
fall 1: om (digitalRead(led21) == låg) {digitalWrite(led21,HIGH);} annat {alreadyOut(2);} bryta;
fall 2: om (digitalRead(led22) == låg) {digitalWrite(led22,HIGH);} annat {alreadyOut(2);} bryta;
fall 3: om (digitalRead(led23) == låg) {digitalWrite(led23,HIGH);} annat {alreadyOut(2);} bryta;
fall 4: om (digitalRead(led24) == låg) {digitalWrite(led24,HIGH);} annat {alreadyOut(2);} bryta;
standard: bryta;
}
Delay(300);
}
}
blinkar grön lysdioder för att beteckna jackpot
void jackpot()
{
While(true) {
digitalWrite(ledJackpot1,HIGH);
digitalWrite(ledJackpot2,LOW);
tonen (42, melody[0],125);
Delay(100);
digitalWrite(ledJackpot1,LOW);
digitalWrite(ledJackpot2,HIGH);
tonen (42, melody[1],125);
Delay(100);
}
}
void alreadyOut(int team)
{
IF(Team == 1)
{
int nop = 4;
IF(digitalRead(led11) == hög)
NOP-= 1;
IF(digitalRead(led12) == hög)
NOP-= 1;
IF(digitalRead(led13) == hög)
NOP-= 1;
IF(digitalRead(led14) == hög)
NOP-= 1;
Switch(Nop) {
fall 0: om (digitalRead(pushSwitchPin) == hög) {jackpot();} annat {break;}
fall 1: digitalWrite(led11,HIGH);
digitalWrite(led12,HIGH);
digitalWrite(led13,HIGH);
digitalWrite(led14,HIGH);
bryta;
fall 2: rand3 = random(1,3);
IF(digitalRead(led11) == hög)
{
IF(digitalRead(led12) == hög)
{
IF(rand3 == 1) {
digitalWrite(led13,HIGH); }
annat {
digitalWrite(led14,HIGH); }
}
IF(digitalRead(led13) == hög)
{
IF(rand3 == 1) {
digitalWrite(led12,HIGH); }
annat {
digitalWrite(led14,HIGH); }
}
IF(digitalRead(led14) == hög)
{
IF(rand3 == 1) {
digitalWrite(led12,HIGH); }
annat {
digitalWrite(led13,HIGH); }
}
}
IF(digitalRead(led12) == hög)
{
IF(digitalRead(led13) == hög)
{
IF(rand3 == 1) {
digitalWrite(led11,HIGH); }
annat {
digitalWrite(led14,HIGH); }
}
IF(digitalRead(led14) == hög)
{
IF(rand3 == 1) {
digitalWrite(led11,HIGH); }
annat {
digitalWrite(led13,HIGH); }
}
}
bryta;
fall 3: rand3 = random(1,4);
IF(digitalRead(led11) == hög)
{
IF(rand3 == 1) {
digitalWrite(led12,HIGH); }
IF(rand3 == 2) {
digitalWrite(led13,HIGH); }
IF(rand3 == 3) {
digitalWrite(led14,HIGH);}
}
IF(digitalRead(led12) == hög)
{
IF(rand3 == 1) {
digitalWrite(led11,HIGH); }
IF(rand3 == 2) {
digitalWrite(led13,HIGH); }
IF(rand3 == 3) {
digitalWrite(led14,HIGH);}
}
IF(digitalRead(led13) == hög)
{
IF(rand3 == 1) {
digitalWrite(led11,HIGH); }
IF(rand3 == 2) {
digitalWrite(led12,HIGH); }
IF(rand3 == 3) {
digitalWrite(led14,HIGH); }
}
IF(digitalRead(led14) == hög)
{
IF(rand3 == 1) {
digitalWrite(led11,HIGH); }
IF(rand3 == 2) {
digitalWrite(led12,HIGH); }
IF(rand3 == 3) {
digitalWrite(led13,HIGH); }
}
bryta;
}
} annat
{
Team 2
int nop = 4;
IF(digitalRead(led21) == hög)
NOP-= 1;
IF(digitalRead(led22) == hög)
NOP-= 1;
IF(digitalRead(led23) == hög)
NOP-= 1;
IF(digitalRead(led24) == hög)
NOP-= 1;
Switch(Nop) {
fall 0: om (digitalRead(pushSwitchPin) == hög) {jackpot();} annat {break;}
fall 1: digitalWrite(led21,HIGH);
digitalWrite(led22,HIGH);
digitalWrite(led23,HIGH);
digitalWrite(led24,HIGH);
bryta;
fall 2: rand3 = random(1,3);
IF(digitalRead(led21) == hög)
{
IF(digitalRead(led22) == hög)
{
IF(rand3 == 1)
digitalWrite(led23,HIGH);
annat
digitalWrite(led24,HIGH);
}
IF(digitalRead(led23) == hög)
{
IF(rand3 == 1)
digitalWrite(led22,HIGH);
annat
digitalWrite(led24,HIGH);
}
IF(digitalRead(led24) == hög)
{
IF(rand3 == 1)
digitalWrite(led22,HIGH);
annat
digitalWrite(led23,HIGH);
}
}
IF(digitalRead(led22) == hög)
{
IF(digitalRead(led23) == hög)
{
IF(rand3 == 1)
digitalWrite(led21,HIGH);
annat
digitalWrite(led24,HIGH);
}
IF(digitalRead(led24) == hög)
{
IF(rand3 == 1)
digitalWrite(led21,HIGH);
annat
digitalWrite(led23,HIGH);
}
}
bryta;
fall 3: rand3 = random(1,4);
IF(digitalRead(led21) == hög)
{
IF(rand3 == 1)
digitalWrite(led22,HIGH);
IF(rand3 == 2)
digitalWrite(led23,HIGH);
IF(rand3 == 3)
digitalWrite(led24,HIGH);
}
IF(digitalRead(led22) == hög)
{
IF(rand3 == 1)
digitalWrite(led21,HIGH);
IF(rand3 == 2)
digitalWrite(led23,HIGH);
IF(rand3 == 3)
digitalWrite(led24,HIGH);
}
IF(digitalRead(led23) == hög)
{
IF(rand3 == 1)
digitalWrite(led21,HIGH);
IF(rand3 == 2)
digitalWrite(led22,HIGH);
IF(rand3 == 3)
digitalWrite(led24,HIGH);
}
IF(digitalRead(led24) == hög)
{
IF(rand3 == 1)
digitalWrite(led21,HIGH);
IF(rand3 == 2)
digitalWrite(led22,HIGH);
IF(rand3 == 3)
digitalWrite(led23,HIGH);
}
bryta;
}
}
}