Interagera med en OLED och en Accelerometer (3 / 6 steg)

Steg 3: Koden

När vi har ledningarna Ställ in, kan vi använda följande kod för att skapa vårt spel:

< br >< p > #include < JUGL.h >< br > #include < SPI.h >
#include < Wire.h >
#include < JUGL_SSD1306_128x64.h >
med hjälp av namnområdet JUGL;
SSD1306_128x64 föraren;

CONST int xpin = A3; Tilldela pin A3 till x
CONST int ypin = A2; Tilldela y pin A2
int x, y, x 1, y1, r, varx, variera, bredd, höjd; Definiera variabler
int xy [2]. Array till hold (x, y) koordinat

Förklaring av funktionerna
void cirkel (IScreen & scr);
void move_right (IScreen & scr);
void stop_right (IScreen & scr);
void move_left (IScreen & scr);
void stop_left (IScreen & scr);
void move_up (IScreen & scr);
void stop_up (IScreen & scr);
void move_down (IScreen & scr);
void stop_down (IScreen & scr);

void setup() {
IScreen & skärm = föraren; Hänvisa till drivrutinen
skärmen. BEGIN(); Initiera skärm
bredd = skärm. GetWidth(); Få bredden på skärmen (128)
höjd = skärm. GetHeight(); Få höjden på skärmen (64)
Circle(Screen); Rita cirkel
}

void loop() {
x1 = analogRead(xpin); Läs x analog data
Y1 = analogRead(ypin); Läs y analoga data

IScreen & skärm = föraren; Hänvisa till drivrutinen

om (x1 < 500) {//Check om sensor lutar till höger
move_right(Screen); Flytta bollen till höger
om (varx > = bredd-1-r) {//Check om bollen nått slutet av skärmen
stop_right(Screen); Stoppa flyttar
}
}

om (x1 > 520) {//Check om sensorn vinklas till vänster
move_left(Screen); Flytta bollen till vänster
IF(VARX=height-1-r) {//Check om bollen nått slutet av skärmen
stop_up(Screen); Stoppa flyttar
}
}

IF(Y1>510) {//Check om sensorn vinklas ner
move_down(Screen); Flytta bollen
IF(varyr) {//Check om bollen är inom gränserna
scr. Flush(); Uppvisning på skärm
}
}

void stop_left (IScreen & scr) {
scr. Förloppsindikatorförekomstens; Tydlig skärm
VARX = r; Uppdatera varx
XY [0] = varx; Lagra nya varx värde
scr. FillCircle(Point(5,xy[1]),r); Rita cirkel
scr. Flush(); Uppvisning på skärm
}

void move_up (IScreen & scr) {
scr. Förloppsindikatorförekomstens; Tydlig skärm
variera += 10. Flytta bollen 10 pixlar upp, tilldela värdet varierar
XY [1] = varierar; Store nya varierar värdet
scr. FillCircle(Point(xy[0],vary),r); Rita cirkel
IF(varyr) {//Check om bollen är inom gränserna
scr. Flush(); Uppvisning på skärm
}
}

void stop_down (IScreen & scr) {
scr. Förloppsindikatorförekomstens; Tydlig skärm
variera = r; Uppdatering varierar
XY [1] = varierar; Store nya varierar värdet
scr. FillCircle(Point(xy[0],5),r); Rita cirkel
scr. Flush(); Uppvisning på skärm
} < /p >

Se Steg
Relaterade Ämnen

Att bygga robotar med Raspberry Pi och Python

målet med denna handledning är att hjälpa dig att börja programmering med Python att styra din Arduino robotar med en Raspberry PI. Vi går över grunderna som installation och några enkla exempel att styra din robot från en Python GUI från Raspberry P...

Hur du ansluter en Sensor med Audio Input och Output

en sensor är en av en grundläggande komponent för att fånga fysiska miljön. Du kan få förändringen av ljus med en CDS fotocell, kan du mäta utrymmet med en distansera sensor och du kan fånga din rörelse med en accelerometer.Det finns redan flera sätt...

Fjärrkontroll med Raspberry Pi och Phidget WebService

Aktivera din hallon Styrrelä, ledde, sensor och digital ingång med Phidget WebService. "Phidget WebService är en bakgrundsprocess som sänder alla händelser och data från ett USB-Phidget över nätverket: den använder länken lokala adressering där du ka...

AVR programmering med Arduino, AVRdude och AVR-gcc

AVR är en gemensam, billig typ av mikro-controller som kan verka skrämmande att arbeta med, men oroa dig inte! När du har Ställ in grundläggande kunskap och kan de bli inte bara nyttigt, men viktigt att nya projektidéer som du drömmer upp!Denna handl...

Visa väder och läge med chipKIT WF32 och LabVIEW

För detta projekt, som chipKIT WF32, LabVIEW och LabVIEW MakerHub LINX används visas både nuvarande utanför temperatur i ditt område genom att trycka på en av knapparna ombord, och din nuvarande position genom att trycka på en annan ombord knapp.LINX...

King Size trägolv plattform säng och sänggavel med inbyggd belysning och försäljningsställen och dolda lådor för $400!

Wow, det är en riktigt lång titel!För några år sedan, jag konstruerade och byggde denna huvudgavel för min fru (fästman på gång) när vi bodde ifrån varandra. Det ansluts till någon 1 standard vägguttag, och inkluderar 2 strömbrytare för overhead lamp...

Smart babymonitor med Intel Edison och Ubidots

Intellekten Edison är liten nog för kläder. Det ger stor flexibilitetför utvecklare genom språk och programmeringsmiljö det erbjuder och den har integrerat Wi-Fi och Bluetooth som gör det perfekt för en bärbar. Nu för tiden finns det många kläder på...

Burn ratten - Airwheel med integrerad biometri och belysning

Följ mig som jag bygger biometriska (fingeravtrycksläsare), integrerad främre och bakre belysning och mer i min nya Airwheel Q3 självbalanserande enhjuling för en Burning Man 2015 transport! Detta är en avancerad skicklighet nivå projekt, jag försökt...

Hur man gör slem med tandkräm och lim

Denna handledning visar dig hur man gör slem med tandkräm och limSteg 1: Steg 1: material -Behöver använda Gel tandkräm-Elmers lim... Klar eller vit (jag använder vitt i denna tutorial)-Något att blanda (jag använder slutet av en sked)-En skål (kan o...

Perfekt Espresso med Aerobie Aeropress och Hario Skerton

Nästan kan perfekt Espresso och många andra varianter av kaffe uppnås med mycket billigt sätt. Brygger från dyra maskiner kan replikeras med min process och endast offra några konsekvens eller uppskumning förmåga.Här är vad du behöver;En Aeropress oc...

Sockerkulör fyllda kladdiga choklad cupcakes med choklad glasyr och bacon bitar

jag fick en idé i mitt sinne ett tag. Jag älskar dessa choklad täckt karameller med havssalt, bacon går bra med choklad (jag menar, vad går inte med bacon?) och jag älskar att göra cupcakes så jag kom med idén att kombinera allt detta i en awesome re...

Biogasanläggning med kök och matavfall

Långt tillbaka har jag postat en instructable på hur man konstruerar prototypen av en biogasanläggning, med 50 liters kapacitet tank som digestor, som du kan se här:Det var min första instructable och människor fortfarande kommenterar och ber mig om...

DIY Emergency Power Bank med AA batterier och USB-DC-spänning Step-up Boost modul

DIY Emergency Power Bank med AA batterier och USB-DC-spänning Step-up Boost modulEtt AA-batteri är en standard storlek enda cell batteri-cylindriska torr. AA batterier är vanliga i bärbara elektroniska enheter. Ett AA-batteri består av en Elektrokemi...

Starta brand med tuggummi Wrapper och batteri

Hur man starta brand med tuggummi Wrapper och batteriElement, som krävs:Tuggummi med metallfolie wrapperBatteriHandske (valfritt)Steg 1:Skär tuggummi wrapper i 3 bitar (endast en bit som behövs)Steg 2:Vik pappret på mitten och skär i 45 graders vinke...

Julgran som styrs från telefon: ingen kodning krävs elnätet växla med partikel fotonen och IFTTT göra

En huvudbrytaren drivs av en partikel fotonen och IFTTT. Driva någon enhet (julgran!) i ditt hus från telefonen! Eller från twitter! eller beroende på vädret i din plats! Med ingen kodning och minimal lödning skicklighet krävs.Detta instructable anvä...

Förseglade Sparbössa med Peep Hole och ljus

Jag har en bror som tycker att jag är en bank. Han tar alltid min förändring men jag har aldrig fångat honom. En dag mamma var att göra en Milo för mig och sa att det ingen var kvar i burken. Vem har haft Milo innan vilja veta min smärta. Jag sa till...

Pärlstav armband - handgjort armband med bohemiska kristaller och Miyuki seed beads av

Pärlstav armband - handgjort armband med bohemiska kristaller och Miyuki seed beads av...

Pärlstav armband - handgjort armband med Swarovski kristaller och Miyuki seed beads av

Pärlstav armband - handgjort armband med Swarovski rivolis och biconer och Miyuki seed beads av....

Pärlstav ring - handgjord ring med Swarovski kristaller och Miyuki pärlor och utsäde pärlor

Pärlstav ring - handgjord ring med Swarovski rivoli och biconer och Miyuki pärlor och utsäde pärlor....