Remote control (9 / 17 steg)

Steg 9: Den "Kod" :)) kod



Koden är ganska stort och det blir ganska svårt att förklara och inga bilder hjälper också: P
De första försöken fick jag 99% microcontroller minne, blixten och RAM, så jag lärde mig att använda "programem" att skriva en int i EPROM, även LCD-chaufför eller bibliotek... och mycket mer.

OK låt oss börja med Lcd.

Första gången du inte inkludera biblioteket #include. I biblioteket gjorde jag en klass så "statisk PCF8814 lcd," kan vara till hjälp så att du kan använda det som "lcd.print ("bil remote")". Jag lade lcd upp sidan ner i fallet så i installationsprogrammet är något som denna "lcd.begin(); LCD.rotate(1);". Funktionen börjar börjar lcd och definiera stiften att arduino användning till konen med lcd, så om du behöver ansluta på andra stift, vända PCF8814.h vara säker ordningen av stiften men jag tycker är så här, från standard lcd.begin(13,11,12,10); rotate() med 1 slå img på lcd upp sidan ner och med 0 är normalt.

Du kan skriva ut med lcd.print() sträng; Ställ markören med lcd.setCursor(y,x), y är raden (1 rad = 8 pixlar) på denna lcd du har 8 rader, första raden är 0 och sista 7, och y är antalet pixel från letf till höger; och du kan göra mer men du kommer att se det senare.

Nu hur man läser analoga knapparna.

int analogValue = analogRead(analogKeyPin); / / / returnerar ett värde beroende på vad knappen du trycker (titta bara på scheman och försök att tänka där curent flow, du kommer att ha diferit rezistance på varje knapp). seriella monitor kan du läsa dem eller lcd.print(analogValue) att skriva ut dem på lcd, då vissa om-s eller switch/fall och du är klar t.ex.

om (analogValue > 25 & & analogValue < 40) {nyckel = "meniu";}

annars om (analogValue > 40 & & analogValue < 70) {nyckel = "tillbaka";}

Jag använde sträng att förvara nyckeln eftersom är lättare att programmet men en int kan du spara mer RAM-minne.

Det bigest problemet jag hade var strängar för menius så jag använde är att blockera strängarna i flash-minnet. Så gjorde jag en rad som denna:

prog_char meniu_0 [PROGMEM] = "Obtions";
prog_char meniu_1 [PROGMEM] = "Autoset";
prog_char meniu_2 [PROGMEM] = "Stearing uppsättning";

PROGMEM const char * meniu [] = {meniu_0, meniu_1, meniu_2};

Detta sätt kan du easyely generera menius

för (uint8_t x = 0, x < 7, x ++) {/ / 7 är antalet alternativ i
menyn, så sluta den för på 6 poz
lcd.setCursor (6 x);

läsa från progrmem strcpy_P (buffert, (char *) pgm_read_word (& (meniu [pozMeniu + x])));
LCD.Print(buffer);
}

7 är antalet alternativ i menyn, så gör det "för" 7 gånger, sedan Ställ markören för att skriva ut från första row(0) med x som detta kommer att gå på nästa rad när prog gör andra gången den, jag börja skriva ut alternativ från den 6: e pixeln eftersom jag kommer att dra markören från 0 till 6. Nu strcpy_P funktionen Kopiera strängen från programen i en buffert som jag förklarar det med 50 tecken är lite för mycket men du måste vara säker att det nog, efter att bara skriva ut bufferten.

pgm_read_word (& (meniu [pozMeniu + x]))

Detta läser värdet på menyn är array [0], om pozMeniu och x är "0". Jag använder pozMeniu eftersom när jag kommer att sätta markören och jag vill gå upp och ner och låt oss säga jag har 10 obtions en bara 7 rader, när jag går med markören på det 7: e alternativet och jag vill gå downer jag bara kommer att göra pozMeniu = 1 så här jag kommer att skriva ut från och med det andra alternativet och på den 7: e raden har jag alternativet 8. För att jag gjorde en liten funktion som behöver en parameter, antalet obtions. Så för sista exempel är "upDown_navigate(6);" (också börja räkna med "0"). Om du data överför koden har jag funktionen förklarat där.

UpDown_navigate(); Returnerar också en "pozCursor" som det kommer att ändras när du går upp och ner så kan du skriva ut en markör som denna:

lcd.setCursor (0, pozCursor);

LCD.Print("\2");

Den "/ 2" är andra char att jag definiera det. är markören som en sa. Ja, du kan lägga till anpassade tecken, du ser i länken med hela koden.

Om du vill göra en undermeny kan du göra så här (är bara en idé, jag gjorde det så här):

"level" - här jag använda det i void loop() för att gå till en specifik skärm (jag har funktion för varje meny)
"countUpDown" - detta genereras av upDown_navigate(), sparar ståndpunkten på array (du vet vilken obtion du väljer)

< p > om (nyckel == "ok") {
växel (countUpDown) {
fall 0:
Level = 2;
countUpDown = 0;
pozCursor = 0;
pozMeniu = 0;
LCD.Clear();
bryta;
fall 1:
Level = 3.
countUpDown = 0;
pozCursor = 0;
pozMeniu = 0;
LCD.Clear();
bryta;
fall 2:
Level = 4.
countUpDown = 0;
pozCursor = 0;
pozMeniu = 0;
LCD.Clear();
bryta;

Se Steg
Relaterade Ämnen

Remote Control sällskapsdjur dörren

Dilemma:6 på morgonen den 1 januari. Du festade till 03: 00. Nu ska du sova det off när du väcks av ett påträngande avlysningen kommer från bakdörren. Din hund behöver gå ut och ta hand om sin verksamhet, men du är varm, skön, och golvet är kallt och...

Remote Control pipig leksak

detta är en enkel leksak för sällskapsdjur. Jag kom upp med detta att underhålla min hund. Du kan använda olika storlek fjärrkontroll bilar för olika stora hundar och olika typer av terräng.Steg 1: material Vad som behövs:Remote Control bilPipig leks...

Laddning Remote Control Robot

laddning Remote Control RobotFÖRST AV ALLT VILL JAG KLARA DIN ALLA TVIVEL INNAN DU BÖRJAR. JAG ÄR INTE NÅGON TEKNISK OCH MEKANISK EXPERT I MASKIN SÅ DU INTE BEHÖVER SPENDERA 100 DOLLAR I DETTA PROJEKT DET ÄR SÅ BILLIGT OCH ENKELT PROJEKT. Du kan bygg...

Spela in IR-koder för någon fjärrkontroll för användning med Linux Infrared Remote Control (LIRC) på Raspberry Pi GPIO-baserade infraröd mottagare

IntroduktionDe fjärrkontroller som är föräldralösa när enheten kontrollerar de kan slutat fungera återanvändas på din Raspberry Pi. Efter att ha avslutat detta instructable, du kan bli intresserad i försökande ute den följande instructables:Återanvän...

Installera Linux Infrared Remote Control (LIRC) paket

IntroduktionLinux Infrared Remote Control (LIRC) är en svit av program som styr den IR hårdvaran av Pi-hallon. Lirc debian-paketet innehåller ett antal program:ircat - Skriv ut strängar när du trycker på knapparnairrecord - ansökan om inspelning IR-k...

Hur man gör en Remote Controlled Stunt bil hemma

I detta Instructable lär vi att göra en fantastisk gadget som varje kille önskat och hade också iallafall försökte en gång göra det under hans barndom. Det är inget annat än en Remote Controlled bil och gissa vad, i detta instructable, vi kommer inte...

Remote Controlled Arduino Car

Jag har alltid gillat att gå till lägren, etc där det finns många av mina vänner, jag har alltid gillat att ha en massa vänner och en dag när jag letade upp youtube för fjärrkontroll bilar, och hur de gjordes, jag listat ut att jag kunde göra en till...

Öka känsligheten för IR Remote Control

detta instructables är att guida dig på hur du kan förbättra känsligheten av IR-fjärrkontrollen. Modell av fjärrkontrollen är AXD7461 för din information.Steg 1: Höljet blockerar IR-signalen Gemensamma anledningen till att IR-fjärrkontrollen inte är...

RS-232 IR-mottagare i en seriell anslutning (LIRC) dator Remote Control

detta instructable avser att visa dig hur du skapar en liten och enkel infraröda (IR) mottagare för din dator. Konfigurationen av programvaran är utanför omfånget för detta instructable, men jag använder denna mottagare med LIRC (Linux Infrared Remot...

Remote Control mörkar för $20

Så jag var trött på den mödosamma uppgiften att manuellt öppna och stänga mörkarna varje dag... och jag hade gjort motoriserade persienner innan med en kontinuerlig revolution servo vända staven när jag var liten men som inte ser trevligt med en serv...

Remote Control Robot Arm

detta är talet High School Science Olympiad Robot Arm som tävlade på Minnesota 2012 staten Science Olympiad turneringen med 32 andra lag. Jag byggde och körde denna fjärrkontroll robotarm för turneringen, utsläppande 8 (på grund av oförutsedda proble...

LinkSprite Ethernet Shield + yeelink WEB remote control IO

Ethernet-Shield kan omedelbart Internetkonnektivitet för Arduino projekt. En ombord Wiz5100 ethernet styrenhet hanterar upp till fyra TCP och UDP-anslutningar, stack bara det till en Arduino att skapa dina egna enheter på nätverket. Enkelt kontroller...

Grunderna i förvandlar ditt Remote Controll fordon till ett autonomt System (Drone) genom att använda en Arduino

jag började detta projekt med målet att billigt vrida min RC helikopter till något av en UAV eller åtminstone att passa vissa sensorer att minska kollisioner och andra "mis haps."Nu är tyvärr i början av projektet missbedömde jag min lilla helik...

Trådlös Phone Remote-Controlled LED Strips: RasPi w / Fadecandy driver w / WS2811/WS2812 adresserbara LED Strips med TouchOSC Smartphone App med Iphone eller Droid

Här går en allt mer omfattande design översikt över mitt senaste projekt. Nedan är en video som jag har lagt upp visar vissa funktioner:Den ursprungliga idén progressionen gick ungefär så här:Adresserbara lysdiodsrand (s vi vill alltid ha mer skinand...

Remote control Gripper bot

Ett par månader tillbaka min son bad mig att göra honom en avlägsen kontrollerade bot. Han gav mig en lista över vad han ville och vi minskat ner en hanterbar lista det :) Detta är vad jag hamnade byggnaden för honom...Möt klämmor, en mobil remote gr...

Teddy Bear Remote Control

nallebjörn fjärrkontrollen sitter bra på din soffa eller säng och kan användas för att styra din iPod eller dator. Det är en söt ändring till en RF-fjärrkontroll och är förvånansvärt mjuk! Projektet är svårt att göra och kräver en hel del udda materi...

Remote control via GPRS/GSM SMS(Arduino)

fjärrkontroll, särskilt när detta nr ethernet och Wifi i den utomhus, har varit en mycket djupgående saker tidigare. När jag var barn, bilden jag alltid som jag har en utrustning som kan styra alla vitvaror. Nu, detta blir verklighet, med Arduino och...

Touch skärmen Soundbar IR Remote Control

Min son har Cambridge Audio Sound bar med en hund tuggade fjärrkontroll! Jag sa jag skulle prova och göra en ny fjärrkontroll!Jag har testat detta instructable (på / av- & ljud av) på min Samsung TV och det fungerar bra, jag har ännu att testa den på...

Kindle Web Remote Control

BeskrivningDetta är en systemlösning till remote Sidändring på en kindle. Kort sagt, kör jag en webbserver från min kindle. Detta tjänar ett cgi-skript som imiterar en knapptryckning på min kindle. Jag åt skript från en webbläsare på min telefon.Dett...

TV Remote Controlled bil

ingenting är värre än att förlora den registeransvarige som följde med din fjärrkontroll bil. Ersätta att sucker med en arduino och en fjärrkontroll som alltid verkar vara runt, TV-fjärrkontroll!Steg 1: material Material för detta projekt är ganska r...