Lav en Intel Edison Talk til Game Maker: Studio: 16 trin

Lav en Intel Edison Talk til Game Maker: Studio: 16 trin

Indholdsfortegnelse:

Anonim

I denne instrukser vil jeg vise dig, hvordan man laver et program i Game Maker, der vil underrette en Intel Edison, når mellemrumsknappen blev trykket, og derefter vil Edison fortælle Game Maker, at den modtog den. Dette er ikke meget nyttigt i øjeblikket, men senere kan du tilføje ting som temperatursensorer til Edison og lave et vejrprogram på Game Maker, der modtager temperaturdata fra Edison og viser det som en visuel.

Ting du har brug for:

Game Maker - Dette er et gratis program, der indeholder andre betalte versioner. Jeg bruger GM: Studio professionel

Intel edison w / expansion board - Dette er hvad jeg brugte, men du kan også komme videre med Breakout Board

Arduino IDE

To usb-til-micro-usb-kabler

En 7-15 V DC strømforsyning (Dette vises i trin af linket i næste trin)

Jeg bruger også Windows 10

Jeg foreslår også at bruge to computere, en til alle Game Maker stuff og den anden til alle Intel Edison stuff. Det skyldes, at da jeg brugte en computer, havde jeg problemer. Hvis du gør dette, skal du også sørge for, at hvis du bruger en pc, som du bruger en anden pc til.

forsyninger:

Trin 1: Opsætning af Intel Edison

Intel har en god og nem vejledning til opsætning af Edison placeret her: Setup Edison

(Her vises strømforsyningen fra det foregående trin)

Bare gå gennem trinene, men spring over den del, der snakker om, hvordan du opsætter det andet breakout board (medmindre du bruger det). Installer alle drivere og software og fortsæt med den instruerbare.

Trin 2: Indstil Arduino IDE

Nu skal vi faktisk tilføje Intel Edison-kortet til Arduino IDE, så vi kan programmere Edison derfra.

1: Så gå til Arduino IDE og vælg "Tools" dropdown menuen

2: Nu svæver du over "Board" og vælger "Board Manager …" øverst

3: Skriv "intel edison" i søgefeltet. Kun én ting skal komme op (hvis ikke, se på billederne for at sikre). Jeg har allerede det, så for dig, i stedet for at sige "Fjern" skal det sige "Installer". Tryk på installationen og vent på, at den installeres. Du skal også installere hver driver, som den beder dig om.

Trin 3: Download koden

Nu har du brug for Arduino-koden. Download koden og klik derefter på den, når den er. Tryk derefter på OK, når den beder om at oprette en mappe til den.

Trin 4: Rediger koden

Skriv nu dit netværksnavn og det er adgangskoden, hvor det vises på billedet (den øverste cirkel). Sørg for at holde dem inde i citaterne. Du kan også redigere den besked, som Edison sender til Game Maker (Den nederste cirkel). Sørg for, at det også er i citater.

Trin 5: Upload skitse til Edison

Nu skal vi sætte koden på Edison.

Først: Højreklik på Windows-knappen og vælg Enhedshåndtering (Du kan også bare søge efter det på din pc)

Andet: Vælg rullemenuen kaldet "Ports" og noter den virtuelle com port af Edison

Tredje: Gå til Arduino IDE og vælg rullemenuen "Værktøjer", og vælg porten i den virtuelle com-port fra det andet trin under port.

Sidste: Læg nu skitsen (Code) til Edison ved at trykke på den cirkulære knap med pilen i den øverst på IDE'en.

Trin 6: Download Game Maker-filen

Nu til Game Maker-delen

Open Game Maker og gå på fanen "Ny", skriv et navn til dit projekt og tryk på create

Trin 7: Lav et nyt objekt

Nu i Game Maker højreklik på "Objects" og opret en ny objekt.

Trin 8: Navngiv det og lav en Opret begivenhed

Du behøver ikke, men jeg hedder mit objekt obj_control

Tryk på knappen "Tilføj begivenhed" og vælg Opret begivenhed

Trin 9: Tilføj koden i Opret begivenhed

Vælg nu fanen "Control" til højre og træk kodeblokken til "Actions" -rummet til venstre.

Et nyt vindue skal dukke op, som du kan skrive ind, men hvis det ikke gør det, skal du bare dobbeltklikke på den nye kodeblok.

Tilføj derefter denne kode, der er kommentarer i det, der forklarer hvad alting er:

var type = network_socket_udp;

socket = network_create_socket (type); // ingen port siden klienten er ligeglad // Server IP og port, der skal sendes pakker remote_ip = "192.168.10.214"; // Edisons IP remote_port = 8000; // Porten Edison er på

// Lav en buffer for at holde meddelelsen sendt til Edison var size = 1024; var type = buffer_fixed; varjustering = 1; // Lav en variabel for at holde bufferen send_buffer = buffer_create (størrelse, type, justering);

msg_id = "Intet endnu"; /////////////////////////////

receive_ip = "";

Trin 10: Lav trinhændelsen

Tryk nu på "Tilføj begivenhed" for at tilføje en anden begivenhed og vælg trin-arrangementet.

Ligesom det forrige trin trækker du en kodeblok i Handlingsfeltet og tilføjer denne kode:

hvis (keyboard_check_pressed (vk_space)) // Kontrollér om der trykkes på plads

{buffer_seek (send_buffer, buffer_seek_start, 0); // Sæt bufferen til begyndelsen buffer_write (send_buffer, buffer_text, "space pressed"); // Skriv strenge "space pressed" til bufferen // Send bufferen til Edison network_send_udp_raw (socket, remote_ip, remote_port, send_buffer, buffer_tell (send_buffer)); }

Trin 11: Lav spilletidbegivenheden

Tilføj nu et Game End-arrangement. For at gøre dette skal du trykke på "Tilføj event" og trykke på "Andet" og vælge Game End-begivenheden

Træk i en kodeblok og læg følgende kode:

/// Ødelæg serveren

network_destroy (sokkel);

Trin 12: Tilføj netværksbegivenheden

Alle kode i denne begivenhed udføres, når Game Maker modtager noget fra netværket, så det udføres kun, når Edison sender det svar.

Tilføj en ny begivenhed kaldet "Networking". For at gøre dette skal du trykke på "Tilføj begivenhed", tryk på "Asynkron" og vælg Netværksbegivenheden

Tilføj derefter denne kode:

/// Hvis data modtages, hent det, og gem det derefter

var buffer = async_load ? "Buffer"; // async_load ? "buffer" indeholder de data, som Edison sender receive_ip = async_load ? "Ip"; // Gt IP for Edison buffer_seek (buffer, buffer_seek_start, 0); // Sæt bufferen til starten

msg_id = buffer_read (buffer, buffer_text); // Hold dataene i en variabel

Trin 13: Lav Draw Event

Denne begivenhed bruges til at vise de oplysninger, vi får fra Edison.

Tilføj en Draw-begivenhed ved at trykke på "Tilføj event", tryk på "Draw", og vælg derefter den meget øverste (Draw).

Tegn en kodeblok og tilføj denne kode:

/// Tegn de modtagne data

draw_text (x, y, "Genoplivet data fra ip:" + streng (receive_ip)); draw_text (x, y + 32, string (msg_id));

Trin 14: Lav et værelse

Højreklik på "Værelser" og tilføj en ny

Trin 15: Tilføj objektet til værelset

Vælg fanen Objekter og klik ind i boksen lige under den. Vælg det objekt, vi netop har oprettet (obj_control), og klik derefter på et hvilket som helst sted i rummet (gridområdet), så du kan se den lille blå cirkel.

Trin 16: Grand Finale

Du skal stadig have koden kører på Edison, hvis ikke så fortsæt og upload det (Tryk på cirklen med pilen i den øverst på Arduino IDE). Når først det er uploadet, skal du åbne seriell skærm ved enten at trykke på ctrl + skift + m eller ved at trykke på seriel skærmknappen øverst til venstre på Arduino IDE. Det skal til sidst sige, at det forsøger at forbinde. Hvis det ikke siger, at efter ca. 20 sekunder, så (1) prøv at tage Edison fra alle strøm, skal du sætte den i igen og uploade koden. Hvis det siger, at det forsøger at forbinde, skal du vente i 10 sekunder, indtil det står, at det er forbundet og siger, at det er IP-adresse og ting. Hvis det siger, at det forsøger at forbinde mere end 3 gange, prøv metode 1 ovenfor. Når det er tilsluttet, skal du gå til Game Maker og trykke på den grønne pil øverst. Tryk ikke på den orange, fordi det vil give dig noget, du ikke vil have lige nu. Når spillet er startet, skal du trykke på mellemrum, og du skal se din Edisons IP-adresse og den besked, den sendte. Du bør også se noget i den Arduino serielle skærm, der har Game Maker PC'ens information og siger "space pressed".

BEMÆRK: Hvis dette ikke virker, skal du prøve at tilslutte Edison til en anden computer (Hvis du bruger en pc, skal du tilslutte den til en anden pc, ikke en Mac, jeg har underlige resultater) end den, du kører Game maker-programmet på. Hvis du gør dette, skal du også sørge for at installere Edison-driverne på den computer.

GOD FORNØJELSE!