Arduino Mastermind vak (Prototype) (14 / 14 stap)

Stap 14: De code

int led1 = 2; Dit stelt getallen naar namen. Dit wordt later gebruikt voor geleid [i]

int led2 = 3;

int led3 = 4;

int led4 = 5;

int i = -1; Ik ingesteld op -1, alleen de code Randomize gebruikt wanneer Setup; heet.

int j = 0; Opnieuw ingesteld op 0 voor een nieuwe ronde, j j wordt als een index wanneer de juiste code wordt aangeroepen.

#include / / bevat de servo-bibliotheek

Servo servo1; Naam servo

dubbele code [4] = {1, 1, 1, 1}; Maakt een array genaamd code, er bestaat uit 4 cijfers.

dubbele corrigeren [5] = {0, 0, 0, 0, 0}; Hiermee maakt u een array genaamd juist, het is bestaat uit 5 cijfers en wordt gebruikt om te zien als alle getallen juist hebben al geraden.

dubbele geleid [4] = {2, 3, 4, 5}; Maakt een array led genoemd en bestaat uit bestaat uit 4 cijfers en wordt gebruikt voor het activeren van de LED's, wanneer de index wordt aangeroepen.

VOID Setup {}

Setup wordt ook gebruikt om het programma te herstellen wanneer de juiste code is ingevoerd.

seriële communicatie 9600 bps te initialiseren:

Serial.begin(9600);

dubbele corrigeren [5] = {0, 0, 0, 0, 0}; Hiermee stelt u de juiste matrix

Hiermee stelt u de knoppen (9 tot en met 12) erkend te worden als input en de LED's (2 tot en met 5) als output.

pinMode (9, INPUT);

pinMode (10, INPUT);

pinMode (11, INPUT);

pinMode (12, INPUT);

pinMode (2, OUTPUT);

pinMode (3, OUTPUT);

pinMode (4, OUTPUT);

pinMode (5, OUTPUT);

servo1.attach(1); hecht de servo op pin 1

servo1.write(90); Stel de Servo op deze positie

delay(2000); Houd deze positie voor 2000ms te resetten van het deksel

servo1.write(170); sluiten van het deksel

Ik = -1; willekeurige volgorde van de code als ik = -1

digitalWrite (led1, laag); Hiermee stelt u alle LED's

digitalWrite (led2, laag);

digitalWrite (led3, laag);

digitalWrite (led4, laag);

analogWrite (8, random(0,255)); De RGB ingesteld op een willekeurige kleur

analogWrite (7, random(0,255));

analogWrite (6, random(0,255));

}

VOID generateCode()

{

de code randomize als ik = -1

randomSeed(random());

for (int i = 0; ik < 4; i ++)

{

corrigeren van [0] = 0;

corrigeren [1] = 0;

corrigeren van [2] = 0;

corrigeren [3] = 0;

corrigeren [4] = 0;

code [i] = random(1,5);

}

debug code zodat u niet hoeft te achterhalen van de code.

Serial.println("code");

Serial.println(code[0]);

Serial.println(code[1]);

Serial.println(code[2]);

Serial.println(code[3]);

}

ongeldig retry() {}

Als code onjuist is wordt deze functie aangeroepen

Serial.begin(9600);

dubbele corrigeren [5] = {0, 0, 0, 0, 0};

Ik = 0; Ik ingesteld op 0, zodat code wordt niet opnieuw ingesteld.

digitalWrite (led1, laag);

digitalWrite (led2, laag);

digitalWrite (led3, laag);

digitalWrite (led4, laag);

}

void loop {}

Als (ik == -1) {}

generateCode(); Genereer een nieuwe code als ik = -1

i ++;

}

// code 1 ////////////////////////

De volgende code zal voorlezen als de input gelijk aan het getal in de huidige positie is.

Als het aantal en de plaats klopt de led zal oplichten en de "juiste" array zal worden ingesteld op 1 voor de betreffende positie

Als het nummer correct is, maar de positie is verkeerd het lampje zal langzaam knipperen en verder naar de volgende positie, is juist niet ingesteld op 1

Als het nummer niet helemaal klopt zal de led snel knipperen en verder naar de volgende positie, juist niet is ingesteld op 1

Als alles correct is = 1. De LED's knipperen en de servo zal het veranderen van positie om het vak te openen. de functie setup wordt genoemd voor het spel opnieuw beginnen.

Als een van de getallen in de matrix "correct" 0 de rode led knippert één keer en de functie opnieuw wordt genoemd.

Als (digitalRead(9) == HIGH) / / als de knop is ingedrukt >

{

Als (code [i] == 1) {/ / als code aan knop ingedrukt klopt

digitalWrite((led[i]), hoge); Schakel ledon

i ++; voorschot index

corrigeren [i] = 1; juiste index ingesteld op 1

delay(250);

}

anders als (code [1] == 1 of code [2] 1 of code [3] == == 1 of code [4] == 1) {}

Serial.println ("rechts, maar verkeerde locatie");

digitalWrite((led[i]), hoge);

delay(500); vertragen zodat knop zal niet worden ingevoerd om te vaak tijdens 1 pers.

digitalWrite((led[i]), laag); Leidde langzaam knipperen code.

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

i ++;

delay(250);

}

anders als (code [i]! = 1) {}

Serial.println("Wrong");

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

i ++;

delay(250);

}

}

Als (digitalRead(10) == HIGH)

{

Als (code [i] == 2) {}

digitalWrite((led[i]), hoge);

i ++;

corrigeren [i] = 1;

delay(250);

}

anders als (code [1] 2 of code [2] == == 2 of code [3] 2 of code [4] == == 2) {}

Serial.println ("rechts, maar verkeerde locatie");

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

i ++;

delay(250);

}

anders als (code [i]! = 2) {}

Serial.println("Wrong");

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

digitalWrite((led[i]), hoge);

delay(200);

i ++;

delay(250);

}

}

Als (digitalRead(11) == HIGH)

{

Als (code [i] == 3) {}

digitalWrite((led[i]), hoge);

i ++;

corrigeren [i] = 1;

delay(250);

}

anders als (code [1] 3 of code [2] == == 3 of code [3] 3 of code [4] == == 3) {}

Serial.println ("rechts, maar verkeerde locatie");

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

i ++;

delay(250);

}

anders als (code [i]! = 3) {}

Serial.println("Wrong");

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

i ++;

delay(250);

}

}

Als (digitalRead(12) == HIGH)

{

Als (code [i] == 4) {}

digitalWrite((led[i]), hoge);

i ++;

corrigeren [i] = 1;

delay(250);

}

anders als (code [1] 4 of code [2] == == 4 of code [3] 4 of code [4] == == 4) {}

Serial.println ("rechts, maar verkeerde locatie");

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

delay(500);

digitalWrite((led[i]), laag);

delay(500);

digitalWrite((led[i]), hoge);

i ++;

delay(250);

}

anders als (code [i]! = 4) {}

Serial.println("Wrong");

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

delay(200);

digitalWrite((led[i]), laag);

delay(200);

digitalWrite((led[i]), hoge);

i ++;

delay(250);

}

}

controleert als de gehele code juist is ingevoerd.

Als (digitalRead(led4) == HIGH en corrigeren [1] == 1 en corrigeren [2] == 1 en corrigeren [3] == 1 en corrigeren [4] == 1) {}

Als (j < = 20) {}

digitalWrite (led2, laag);

digitalWrite (led1, laag);

digitalWrite (led3, laag);

digitalWrite (led4, laag);

delay(100);

digitalWrite (led2, hoge);

digitalWrite (led1, hoge);

digitalWrite (led3, hoge);

digitalWrite (led4, hoge);

delay(100);

j ++;

Ik = 0;

int i = 0;

servo1.write(90);

}

anders als (j > 20)

{

j = 0;

Setup;

}}

Als dit niet correct, probeer opnieuw

anders als (digitalRead(led4) == HIGH en corrigeren [1] == 0 of digitalRead(led4) == HIGH en corrigeren [2] == 0 of digitalRead(led4) == HIGH en corrigeren [3] == 0 of digitalRead(led4) == HIGH en corrigeren [4] == 0) {}

delay(2000);

digitalWrite (led4, laag);

digitalWrite (led2, laag);

digitalWrite (led1, laag);

digitalWrite (led3, laag);

delay(600);

digitalWrite (led4, hoge);

delay(600);

Ik = 0;

int i = 0;

Retry() ;}}

Gerelateerde Artikelen

SenseBox 13-Arduino Sensor vak

SenseBox 13-Arduino Sensor vak

Hallo! Heb ik besloten om een doos van de sensor met een heleboel ingangen. Dit apparaat kan nuttig zijn voor een heleboel dingen. Ik zal voorbeelden geven in de laatste stap. U kunt toevoegen of verwijderen van sommige sensoren als u ze niet nodig h
Arduino Synth vak

Arduino Synth vak

Dit is een synthesizer gebaseerd uit de OctoSynth leerprogramma.Benodigde materialen:Arduino UnoUSB-kabel aan de computer verbinden met de ArduinoSoldeer pistoolSoldeerGrote dunne koperen plaatKleine luidspreker2 kleine vierzijdig mandenSchuim te sni
Persistentie van de visie met behulp van de Arduino UNO(New Prototype)

Persistentie van de visie met behulp van de Arduino UNO(New Prototype)

Hallo Guyz.Ik had gemaakt A Project op POV met behulp van Arduino UNO. Ik had vele modellen van vele verschillende gebruikers weergegeven op deze site. Dus kwam ik met een nieuw prototype van POV. Ik was niet zeker in het begin dat het zal werken of
Arduino besluit vak. (Attiny85)

Arduino besluit vak. (Attiny85)

Dus ik een beetje verveeld dit weekend was (eigenlijk ik schreef dit enkele maanden geleden) en sinds had ik besteld een bos van Attiny85 chips de week nadat ik besloten om een vrij willekeurige project mee te maken.Dit is een besluit van de doos, du
NVCBOARD, Arduino + Rasp inhoudsopgave Prototype

NVCBOARD, Arduino + Rasp inhoudsopgave Prototype

Este proyecto es una eenvoudige mesa con dos placas protoboard, un Arduino y una Raspberry Pi. Hij querido crear una mesa de textopvraag que incluya estas dos deplataformas para poder crear aplicaciones que requieran ambas, ya que, estoy indagando un
Arduino hout vak

Arduino hout vak

In dit Instructable zal ik u tonen hoe maak je een houten doos.Stap 1: Arduino Uno en materialen Omdat is een "houten box" je moet... Hout.Ik gebruik een houten plaat een een vierkante stick.1. Knip de plaat als tow identieke stukken (9 cm x 9,
Arduino nutteloos vak

Arduino nutteloos vak

Wat is in het vak???Is het iets???Gaat het om me pijn doen???Gewoon hit de switch jongens!!! Niets zal pijn doen, misschien...Echt nu, dit project gaat om een doos met een Arduino daarin. Het doet niets. Letterlijk. Het is in een slecht humeur en all
Arduino auto lichtbalk - Prototype

Arduino auto lichtbalk - Prototype

In dit project van Arduino zal ik u tonen hoe ik maakte mijn prototype van een lichtbalk.Houd er rekening mee dat ik niet verantwoordelijk voor problemen ben met andere mensen (en misschien de politie) u gaat eventueel te voeren.In veel landen is het
Arduino veiligheid vak

Arduino veiligheid vak

Arduino kluisDit project maakt een beveiligingssysteem voor een vak of een container. Plaats de LDR in een donkere container. Wanneerde container wordt geopend de zoemer klinkt iedereen te laten weten dat de container is geopendAls de container is sn
Arduino gebaseerd hackable prototyping board

Arduino gebaseerd hackable prototyping board

Eerder in het jaar die ik nodig had om te bouwen van een controlesysteem met de mogelijkheid om te detecteren alcohol damp, vloeistof temperatuur, geluid audio alarmen en trigger Relais meten. Ik ontwierp een Printplaat voor de 328 Atmega-chip en all
Arduino Vocal effecten vak

Arduino Vocal effecten vak

Deze vocale effecten Arduino aangedreven vak pitch verschuivingen en verstoort de binnenkomende audiosignalen te produceren een breed scala aan vocale effecten. Dit project is mijn eerste experiment met real-time digitale signaalverwerking, met behul
Arduino-gecontroleerde, aluminium Aartsengel kostuum Wings

Arduino-gecontroleerde, aluminium Aartsengel kostuum Wings

ik heb altijd van de Marvel karakter aartsengel. Toen mijn broer, (schaamteloze plug alert) budding stripauteur David Fernandez, liet me foto's van een cosplay Verdrag ging hij naar ik dacht dat "zou het niet geweldig als iemand anders heeft gemaakt
Adresseerbaar melkflessen (LED-verlichting + Arduino)

Adresseerbaar melkflessen (LED-verlichting + Arduino)

maken PPE flessen melk in goed uitziende LED-verlichting, en een Arduino gebruiken ze te bestrijden. Dit een aantal dingen, vooral de melkflessen, recycleert en maakt gebruik van een zeer lage hoeveelheid macht: de LEDs blijkbaar minder dan 3 watt ve
Arduino Chicken Coop Controller

Arduino Chicken Coop Controller

De afgelopen paar jaar die mijn familie heeft het houden van ex-batterijkippen - ze zijn ongeveer 18 maanden oud en hebben hun hele leven binnen een gekooide omgeving geleefd. Zo veel als wij houden van deze kleine bundels van vreugde en eieren kan h