Stap 5: Software-Interface
MRETV is zo eenvoudig te programmeren als het is om te bouwen, dus dit zal kort worden gehouden. De volgende drie voorbeelden zal helpen u start met het gebruik van MRETV in uw eigen werk. Zij zijn opgenomen in de MRETV.zip als SoftwareInterfaceExample.ino. Het is best een terminal programma gebruiken om te verbinden met MRETV voor het testen van de invoer (in plaats van de ingebouwde seriële monitor in de Arduino omgeving.)
Er zijn 3 stappen voor het gebruik van MRETV in uw schetsen.
1. Neem de onderdelen
2. begin() output [en input]
3. de updategegevens
Video gebruiken in een schets:
1. onderdelen // 2. beginnen 3. bijwerken van scherm
#include / / MRETV zelf
#include / / een lettertype, standaard fontheight is 8
UCHAR Screenbuf [20 * 20] = {}
"Hier een tekenreeks gebruiken om in te stellen van uw eerste scherm"}; een plek om te zetten gegevens weergeven, 20 rijen van 20 tekens
VOID Setup {}
Screen.begin (textfont, Screenbuf, 20 * fontheight, 1, 20, 20, 20); Start de video-uitgang
(lettertype, buffer, ScreenHeight (pix), ScreenWidth (tekens), top (pix), links (pix) modus) boven en links zijn centreren, modus = 1 voor normale tekst
}
vluchtige uint a, diepte = 0;
void loop {}
for(a=5000;a;a--); / / ons vertragen
Screen_progstr (8,0, "Snelheid"); informatie zo nodig bijwerken
Screen.DEC(56-((int)depth/300));
Screen_progstr (11,0, "Diepte");
Screen.hexint(depth++);
}
Met behulp van geluid in een sketch:
Vergeet niet de 3 stappen.
1. Neem de onderdelen
2. begin() output
3. de updategegevens
1. onderdelen
MRETV maakt gebruik van een speciaal bestand Arduino\libraries\MRETV\MRETV.extensions te houden van informatie over de uitgebreide functies
Als de generatie van het geluid. (Te weten waarom de deskundige Zie.) Om het geluid moet u definiëren een Audio-type gebruiken, zullen we
"#define monoaudio" in dit bestand. (zie nu het 'default_extensions' in MRETV.extensions.)
#include / / MRETV zelf // 2. beginnen 3. bijwerken van scherm 3. bijwerken van geluid
#include / / een lettertype, standaard fontheight is 8
#include "saw.h" / / enkele monsters sound
PROGMEM const char * klinkt [] = {/ / optionele matrix van geluidsvoorbeelden, moet worden aangeroepen 'klinkt []' en in progmem.
sawCo4, sawDbo4, sawDo4, sawEbo4, sawEo4, sawFo4, sawGbo4, sawGo4, sawAbo4, sawAo4, sawBbo4, sawBo4};
UCHAR Screenbuf [20 * 20] = {}
"Hier een tekenreeks gebruiken om in te stellen van uw eerste scherm"}; een plek om te zetten gegevens weergeven, 20 rijen van 20 tekens
VOID Setup {}
Screen.begin (textfont, Screenbuf, 20 * fontheight, 1, 20, 20, 20); Start de video-uitgang, geluid is ingeschakeld op hetzelfde moment
(lettertype, buffer, ScreenHeight (pix), ScreenWidth (tekens), top (pix), links (pix) modus) boven en links zijn centreren, modus = 1 voor normale tekst
}
vluchtige uint a, diepte = 0;
void loop {}
for(a=4000;a;a--); / / ons vertragen
Screen_progstr (8,0, "Snelheid"); informatie zo nodig bijwerken
Screen.DEC(56-((int)depth/300));
Screen_progstr (11,0, "Diepte");
Screen.hexint(depth++);
Als (! () diepte & 0x07f)) switch(depth/0x80) {/ / nu en dan piept
Case 1:
ssample(sawBo4,50); afspelen van een monster direct (monster, duur (1 / 60sec))
breken;
koffer 17:
diepte = 0;
breken;
standaard:
Als ((diepte/0x80) > 5) setaudio((depth/0x80)-6,15); spelen van een steekproef uit de array (monster, duur (1 / 60sec))
breken;
}
}
Via de ingang (toetsenbord en/of seriële Rx) in een sketch:
1. onderdelen #include // 2. beginnen vluchtige uint a, diepte = 0, snelheid = 56; 3. inkomende gegevens bijwerken 3. bijwerken van scherm 3. bijwerken van geluid
in 'Arduino\libraries\MRETV\MRETV.extensions' zullen we
"#define monoaudio"
' #define firmwaremultiport / / toetsenbord en serial
#define translatekeys / / geen rawkey omhoog/omlaag spullen
#define mergstreams / / omgaan met beide samen
#include / / een lettertype, standaard fontheight is 8
#include "saw.h" / / enkele monsters sound
PROGMEM const char * klinkt [] = {/ / optionele matrix van geluidsvoorbeelden, moet worden aangeroepen 'klinkt []' en in progmem.
sawCo4, sawDbo4, sawDo4, sawEbo4, sawEo4, sawFo4, sawGbo4, sawGo4, sawAbo4, sawAo4, sawBbo4, sawBo4};
UCHAR Screenbuf [20 * 20] = {}
"Hier een tekenreeks gebruiken om in te stellen van uw eerste scherm"}; een plek om te zetten gegevens weergeven, 20 rijen van 20 tekens
VOID Setup {}
Screen.begin (textfont, Screenbuf, 20 * fontheight, 1, 20, 20, 20); Start video-uitgang, geluid, toetsenbord en seriële extensies
(lettertype, buffer, ScreenHeight (pix), ScreenWidth (tekens), top (pix), links (pix) modus) boven en links zijn centreren, modus = 1 voor normale tekst
}
void loop {}
UCHAR kin; teken in van seriële/toetsenbord stream
for(a=4000;a;a--); / / ons vertragen
switch(Chin=video.readS()) {/ / een teken van seriële (met toetsenbord samengevoegd)
geval van 0: / / geen teken ontvangen van input
breken;
geval van ': / / s van input
setaudio(0,35);
breken;
kast 0x0d: / /
diepte = 0xfff8 & (diepte + 0x8);
diepte-= 1;
breken;
}
if(Chin) {}
Screen_progstr (8,0, "Snelheid"); informatie zo nodig bijwerken
Screen.DEC(Speed-((int)depth/3));
Screen_progstr (11,0, "Diepte");
Screen.hexint(depth++);
Als (! () diepte & 0x07)) switch(depth/0x8) {/ / nu en dan piept
Case 1:
ssample(sawBo4,50); afspelen van een monster direct (monster, duur (1 / 60sec))
breken;
koffer 17:
diepte = 0;
breken;
standaard:
Als ((diepte/0x8) > 5)setaudio((depth/0x8)-6,15); spelen van een steekproef uit de array (monster, duur (1 / 60sec))
breken;
}
}
}