Tvillingar elektroniska spel (2 / 3 steg)

Steg 2: Programmera Tvillingarna



Du kan implementera funktionaliteten i en flera olika sätt.
I exemplet nedan (att vi använder i Geocaching utmaningar) använder samma kod för både tvillingar och vi ändra endast en rad beroende på vilken Twin vi program (tack Rion för denna smarta kodning!).

F.D.R. Geo-projektet Twin etappvis GeoCache
Detta är den slutliga Twin koden
Detta kräver en RF24L01 mottagare & en parallell LCD på Nano
Användaren anger 9 volts batteri

#include < LiquidCrystal.h >
#include < SPI.h >
#include < Mirf.h >
#include < MirfHardwareSpiDriver.h >
#include < nRF24L01.h >

LiquidCrystal lcd (2, 3, A0, A1, A2, A4);
#define pinUnused 0
#define deviceNumber 1 / / 1 eller 2: det enda att ändra mellan enheter
#define device1Name "TwinOne"
#define device1Final "N 32 xx.xxx"
#define device1Alone "Awaiting Romulus"
#define device2Name "TwinTwo"
#define device2Final "W 84 xx.xxx"
#define device2Alone "Awaiting Remus."
#define RF_DR_LOW 5
#define RF_PWR_LOW 1
#define RF_PWR_HIGH 2
#define cacheMessage "FDR TwinGeocache"
#define keyMessage "-> GOODLUCK <-"
#define successMessage "slutliga ståndpunkt:"

int takt;

void setup() {

Serial.BEGIN(9600);
pinMode (5, OUTPUT); LCD-V0 stift till kontroll ljusstyrka
analogWrite(5,120); 120 verkar vara bra ljusstyrka under 9 volt
LCD.BEGIN(16,2);
LCD.Clear();
Delay(10);
Mirf.cePin = 9; CE-stift på Uno
Mirf.csnPin = 10; CSN stift på Uno
Mirf.SPI = & MirfHardwareSpi;
Mirf.init();
Mirf.setRADDR ((deviceNumber == 1)? (byte*) device1Name: (byte *) device2Name);
Mirf.setRADDR ((byte *) "serv1");
Mirf.setTADDR ((deviceNumber == 1)? (byte*) device2Name: (byte *) device1Name);
Mirf.setRADDR ((byte *) "clie1");
Mirf.Payload = sizeof(rate);
Mirf.config();
randomSeed (analogRead (pinUnused));
displayMessage (cacheMessage, keyMessage);
fördröjning (4000);
}

void displayMessage (const char * line1, const char * rad2)
{
LCD.Clear();
lcd.setCursor (0, 0);
LCD.Print (line1);
lcd.setCursor (0, 1);
LCD.Print (rad2);
}

void sendData (void)
{
osignerade långa nu = millis();
Mirf.send ((byte *) & nu);
samtidigt (Mirf.isSending())
dröjsmål slumpmässiga (10).
}
bool readData (void)
{
bool dataFound = false;
samtidigt (Mirf.dataReady())
{
byte data[Mirf.payload];
Mirf.getData(data);
dataFound = sant;
}
återvända dataFound;
}

void loop() {
sendData();
om (readData() == true)
{
displayMessage (keyMessage, (deviceNumber == 1)? device1Final: device2Final);
osignerade långa nu = millis();
medan (millis() < = (nu + 1000))
sendData();
}
annat
{
displayMessage (cacheMessage, (deviceNumber == 1)? device1Alone: device2Alone);
osignerade långa nu = millis();
medan (millis() < = (nu + 1000))
sendData();
}
}

Se Steg
Relaterade Ämnen

Skapa din egen elektroniska spel Kit

ursprungligen designad för Maker Faire av Grand Idea Studio, "Bygga din egen elektroniska spel Kit" är en custom-skapade kit avsett att introducera dig till en värld av elektronik och lödning. När framgångsrikt monterad, blir satsen en versionen...

VHDL spel: LED - knappen Push spelet Instructable

Välkommen! Detta är en instructable att skapa en enkel VHDL spel med hjälp av lysdioder och knappar som vi kallade PushPace. Innan vi fortsätter, är här bakgrunden och inspirationen bakom spelet.Bakgrund Om du växte upp i 90-tal, är vi ganska säker p...

Operation spel

detta är den tredje lärdomen från en enkel krets som jag skapade för högstadiet och gymnasiet studenter. Det är roligt och innebär praktisk utbildning. För mer cool hands-on engineering projekt kolla maskin vetenskap (det är där jag jobbar).http://ww...

Baserade Arduino Bi-color LED matris orm spel

Vi demonstrerade hur en Arduino baserat Bi-color LED Matrix Tetris spel kan byggas i vårt senaste instructable. Vi var ganska överraskning det var med till Instructables hemsida och har samlat en hel handfull favoriter under en kort tidsperiod. Du ka...

Simon säger Narnia garderob spel

i år på stammen O behandla på min kyrka jag gjorde spelet "Simon säger Narnia". Detta är den elektroniska spel Simon av Hasbro inbyggd i en trä garderob som i filmen The Chronicles of Narnia, "Lejonet, häxan och lejonet" av C.S. Lewis....

Bop med FPGA ombord

Välkommen till Bop det med FPGA styrelsen Instructable,Projektet arbetar med CPE 133 på Cal Poly, San Luis Obispo. Detta projekt skapades av Ian Nielsen och Omri Nissan. Utanför koder var inblandade på olika platser och nämns i den slutliga rapporten...

100% trä verksamhet från skrot

Jag älskar en bra omgång klassiska världen dominans brädspelet risk. Jag gillar det så mycket att jag spelar spelet med familj och vänner till den punkt där vi behövs en resande trofé att uppmuntra mer ansikte mot ansikte spel i stället för elektroni...

LED reaktion Timer

detta projekt är en uppdaterad version av det ursprungliga reaktion timer projektet beskrivs i Len Buckwalter "Elektroniska spel & leksaker kan du bygga" bok. Glödlampor och passiva komponenter ersätts av en mikrokontroller och lysdioder.Ste...

Supercade - hur att designa och bygga en Bar Top MAME Arcade

Gör en MAME (flera Arcade Machine Emulator) maskin bygga är en av de mer utmanande DIY projekt du kommer över kunskaper och verktyg. När du är klar, kommer du har använt din arbetande/möbler i byggnaden, elektriker, målning/behandling, PC byggnad och...

Total Recall - Arduino Simon Says på steroider!

Total Recall är en Simon baserat spel för Arduino. Din grundläggande Arduino Simon Game består av 4 knappar, 4 lysdioder, en Arduino, lite kod och kanske en talare och ljudeffekter. Total Recall tar saker ett steg längre genom att lägga till en LCD-d...

P-piller pussel prydnad: återvinning och återanvändning av

jag hade nästan glömt bort dessa kul litet spel som spelas under min barndom. En av hazzards av att bli äldre antar jag.När jag berättade mina barn om denna prydnad som vi skulle göra, hade de ingen aning om vad jag pratade om. Åldern av elektroniska...

Elektronisk "Kungar" dricka spel krets!

Hi all!Jag utformat denna krets ungefär fyra månader sedan och jag hade så roligt med det, att jag gjorde den till ett kit. Jag designade den krets, program och PCB så att jag kunde dela detta spel med mina vänner. Jag uppfann inte spelet "Kungar&quo...

Nintendo DS spel fallet som lagring för elektroniska komponenter

jag var ute efter ett bra sätt att lagra min Arduino marker samt några andra komponenter. Jag ville ha något som var anti static och något som var robust. Jag har sedan länge hackat min DS om du vill att alla spel laddas på ett SD kort så jag inte lä...

ElectroFried elektroniska chock spel

The ElectroFried är ett spel med en chockerande kul nivå.ElectroFried är utvecklat för Global Game Jam 2011 i Antwerpen i design center på winkelhaak.Team Jekkos / Cinezaster beslutat att göra ett enkelt spel baserat på kolliderande elektroner.Med en...

Elektroniska fotboll kostym

För Halloween fick jag en idé att göra en elektronisk fotbollsspelare. För dem som minns det, var det ett spel där du hade lite fotbollsspelarna som vibrerade runt på metall villkor. De hade en bas och det var ganska svårt att kontrollera sina rörels...

Nybörjarguide till att spela Piano

STEG 1 Varför spela Piano?STEG 2 titta på PianoSTEG 3 hem nycklar och A-GSTEG 4 vad är skalor?STEG 5 behandlingen musik: IntroduktionSTEG 6 rader och utrymmenSTEG 7 skrivet Piano musik och rytmSTEG 8 nycklar och tonarterSTEG 9 få det tillsammans med...

Elektroniska trummor Lingo

I denna tutorial förklara jag några av termerna som används av DIY'ers när man talar om elektroniska trummor och tillbehör.Jag försöker lägga till bilder när tillgängliga för att bättre stödja de definitioner som ges.Steg 1: Skillnaden mellan en elek...

10 minuters elektroniska läder band

vi har drunknat i önskemål om snabba sätt att införliva ledande tråd, ljus och batterier i nya projekt och detta är vad vi kom fram till.Här visar vi hur du skapar din egen elektroniska läder band på under 10 minuter. Detta band kan spela in och spel...

Elektroniska LEGO DL-44 Blaster (ljus & ljud)

Uppdatering: detta projekt är nu tillgänglig på LEGO idéer --så säker att stödja det om du skulle vilja se det säljas i butiker en dag!Byggdes ursprungligen för Star Wars dag 2014, presentera jag ett projekt att jag har varit ständigt revidera och gö...