Tärning som startas med tryckknapp

Klipp av benen på motstånden och placera ut de som bilden

Hur du vänder motstånden spelar ingen roll.

Motstånd stitter ofta i tejpband med klister,

om du inte klipper av benen kan du få klister i ditt kopplingsdäck.

Lysdioderna lyser inte om du vänder dom fel men går inte sönder.

Vänd korta benet på lysdioden mot motståndet.

Klicka på bilderna för att förstora.

Koppla kablar från GND till dessa punkter på däcket.

Placera strömbrytaren på plattan så den får GND på ena benet

och en sladd till 9 på UNO kortet.

Koppla en sladd till varje från varje lysdiod till 2-8 på UNO-kortet.

2 5

3 8 6

4 7

Placera summer lång pinne i 11 och andra i GND.

Kopplingsschemat

Vill du uppdatera? En starta med en svepande hand: https://sites.google.com/site/pcharduino2015/taerning-startas-med-en-svepande-hand

/*

Experiment med tärning på UNO R3

En tryckknapp som sluter vid tryckning kopplas.

En av pinnarna till GND

Andra pinnen till 9

En Aktiv ton summer på 85 dB 5V.

Montera summer melllan lång pinne (plus) på pinne 11

och kort pinne på GND

7 st lysdioder kopplas med motstånd.

Lysdiod kopplas med långa pinnen till 2 och kort pinne till 470ohm motstånd och sedan andra ändan på motståndet till GND.

Gör samma med alla pinnar 3 till 8.

2 5

386

4 7

*/

#define pinneSummer 11

#define pinneKnapp 9

#define Av 0

#define Rullar 1

int TarningStatus = Av;

int RullFordrojning = 100;

int Num1[] = {0, 0, 0, 0, 0, 0, 8};

int Num2[] = {2, 0, 0, 0, 0, 7, 0};

int Num3[] = {2, 0, 0, 0, 0, 7, 8};

int Num4[] = {2, 0, 4, 5, 0, 7, 0};

int Num5[] = {2, 0, 4, 5, 0, 7, 8};

int Num6[] = {2, 3, 4, 5, 6, 7, 0};

void setup() {

pinMode(pinneSummer, OUTPUT);

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

pinMode(8, OUTPUT);

pinMode(pinneKnapp, INPUT_PULLUP);

randomSeed(analogRead(0));

}

void loop() {

int ServoVal = digitalRead(pinneKnapp);

if(TarningStatus == Av ){

if (ServoVal == 0){

TarningStatus = Rullar;

RullFordrojning = 50;

pipKort();

}

}

if(TarningStatus == Rullar){

pipKort();

switch (random(1, 7)) {

case 1:

TandLeds(Num1);

break;

case 2:

TandLeds(Num2);

break;

case 3:

TandLeds(Num3);

break;

case 4:

TandLeds(Num4);

break;

case 5:

TandLeds(Num5);

break;

case 6:

TandLeds(Num6);

break;

}

delay(RullFordrojning);

RullFordrojning = RullFordrojning + 10;

if(RullFordrojning > 300){

TarningStatus = Av;

delay(2000);

pipKort();

}

}

}

void TandLeds(int Num[6]){

SlackAllaLED();

int i;

for (i = 0; i < 7; i = i + 1) {

digitalWrite(Num[i], HIGH);

}

}

void TandAllaLED(){

digitalWrite(2, HIGH);

digitalWrite(3, HIGH);

digitalWrite(4, HIGH);

digitalWrite(5, HIGH);

digitalWrite(6, HIGH);

digitalWrite(7, HIGH);

digitalWrite(8, HIGH);

}

void SlackAllaLED(){

digitalWrite(2, LOW);

digitalWrite(3, LOW);

digitalWrite(4, LOW);

digitalWrite(5, LOW);

digitalWrite(6, LOW);

digitalWrite(7, LOW);

digitalWrite(8, LOW);

}

//Piper en kort.

void pipKort(){

digitalWrite(pinneSummer, HIGH);

delay(10);

digitalWrite(pinneSummer, LOW);

}