DIY USB-IR-mottagare (4 / 5 steg)

Steg 4: Digispark skiss



OK nu "riktiga" koden för Digispark.

I den här koden måste du lägga till nyckelkoderna fått du i tidigare steg. Till exempel om "mute" nyckeln har koden 100 du ändra:

#define mute 240

till

#define mute 100

!! Uppmärksamhet!

När du definierar en ny nyckel, kan inte du använda blanksteg i namnet.

Och för att lägga till funktioner gå in loop funktion och lägga till/ändra nyckeln du gillar.

När du har någon fråga, fråga gärna!

/*************************************
* Här koden är skriven av Laurens Wuyts
* För frågor: laurens.wuyts
*
*
* Mikrokontroller: ATtiny85
* Dev styrelsen: Digispark
*
*************************************/

/ *** Definiera fjärrkontroll nycklar *** /
#define power 64
#define key_1 32
#define key_2 160
#define key_3 96
#define key_4 16
#define key_5 144
#define key_6 80
#define key_7 48
#define key_8 176
#define key_9 112
#define key_0 136
#define vol_up 224
#define vol_down 208
#define ch_up 72
#define ch_down 8
#define mute 240
#define nästa 172
#define prev 164
#define upp 6
#define ner 134
#define lämnade 166
#define rätt 70
#define playpause 156
#define key_stop 180
/************************************/

#include "TrinketHidCombo.h"

uint8_t situation = 0;
uint8_t START = 0;
uint8_t x = 0;
uint8_t BIT = 0;
uint8_t Id = 0;
uint8_t Id_inv = 0;
uint8_t Data = 0;
uint8_t Data_back = 0;
uint8_t Data_inv = 0;
uint8_t Repeat = 0;
uint8_t sended = 0;

uint16_t Time_old = 0;
uint16_t tid = 0;
uint16_t TimeDelta = 0;

void setup(void) {
/ * Använda INT0(P2) på Digispark * /
attachInterrupt (0, IR_Read, faller);

pinMode(1,OUTPUT);
digitalWrite(1,LOW);

TrinketHidCombo.begin();
}

void loop(void) {
IF(sended == 1) {
/ * Tilldela funktioner till knapparna * /
IF(Data_back == vol_up) {
TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_UP);
} annat if(Data_back == vol_down) {
TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_DOWN);
} annat if(Data_back == next) {
TrinketHidCombo.pressMultimediaKey(MMKEY_SCAN_NEXT_TRACK);
} annat if(Data_back == prev) {
TrinketHidCombo.pressMultimediaKey(MMKEY_SCAN_PREV_TRACK);
} annat if(Data_back == key_stop) {
TrinketHidCombo.pressMultimediaKey(MMKEY_STOP);
} annat if(Data_back == playpause) {
TrinketHidCombo.pressMultimediaKey(MMKEY_PLAYPAUSE);
} annat if(Data_back == mute) {
TrinketHidCombo.pressMultimediaKey(MMKEY_MUTE);
} annat if(Data_back == Power) {
TrinketHidCombo.pressSystemCtrlKey(SYSCTRLKEY_SLEEP);
} annat if(Data_back == key_0) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_0);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_1) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_1);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_2) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_2);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_3) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_3);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_4) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_4);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_5) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_5);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_6) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_6);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_7) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_7);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_8) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_8);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == key_9) {
TrinketHidCombo.pressKey (KEYCODE_MOD_LEFT_SHIFT, KEYCODE_9);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == up) {
TrinketHidCombo.pressKey (0, KEYCODE_ARROW_UP);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == down) {
TrinketHidCombo.pressKey (0, KEYCODE_ARROW_DOWN);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == left) {
TrinketHidCombo.pressKey (0, KEYCODE_ARROW_LEFT);
TrinketHidCombo.pressKey (0, 0);
} annat if(Data_back == right) {
TrinketHidCombo.pressKey (0, KEYCODE_ARROW_RIGHT);
TrinketHidCombo.pressKey (0, 0);
}
sended = 0;
} annat {
TrinketHidCombo.poll();
}
}

/ * Läsa IR koden * /
void IR_Read(void) {
digitalWrite(1,HIGH);
Tid = micros();
om (Time_old! = 0) {
TimeDelta = tid - Time_old;
om ((TimeDelta > 12000) & &(TimeDelta < 14000)) {
START = 1;
x = 0;
situationen = 1;
ID = 0;
Id_inv = 0;
Data = 0;
Data_inv = 0;
} else om ((TimeDelta > 10000) & &(TimeDelta < 12000)) {
situationen = 2; Upprepa
} else om ((TimeDelta > 1500) & &(TimeDelta < 2500)) {
situationen = 3; //"1"
BIT = 1;
} else om ((TimeDelta > 1000) & &(TimeDelta < 1500)) {
situationen = 3; //"0"
LITE = 0;
} annat situation = 5;
om (situationen == 3) {
om (x < 8) {
ID | = BIT;
om (x < 7) Id << = 1;
x ++;
} else om (x < 16) {
Id_inv | = BIT;
om (x < 15) Id_inv << = 1;
x ++;
} else om (x < 24) {
Data | = BIT;
om (x < 23) Data << = 1;
x ++;
} else om (x < 32) {
Data_inv | = BIT;
om (x < 31) {
Data_inv << = 1;
} annat {

/ * GÖRA NÅGOT HÄR * /
sended = 1;

Data_back = Data;
Upprepa = 0;
}
x ++;
}
} else om (situationen == 2) {
IF(REPEAT == 1) {

/ * GÖRA NÅGOT HÄR * /
sended = 1;

} annat {
Upprepa = 1;
}
}
}
Time_old = tid;
digitalWrite(1,LOW);
}

Nu ladda upp skissen till digispark. Dra ur och sätta tillbaka det till datorn, vänta ~ 5 sek och njuta av din fjärrkontroll.

Se Steg
Relaterade Ämnen

DIY USB-matlagning Pan

DIY USB-matlagning Pan - Klicka här för de mest populära videorna matlagning ägg med din bärbara. Gör din mat i skolan....

DIY - USB-OSCILLOSKOP i en TÄNDSTICKSASK

Jag presentera en "Bäst i KLASSEN", "Fullfjädrad" DIY-USB-OSCILLOSKOP som är "Verkligt DIY".Mitt mål är att ge en billig Digital-lagring-oscilloskop för studenter, blivande ingenjörer och hobby.Denna USB-oscilloskop kunde var...

DIY USB-Android laddare

Denna Nokia laddare liggande i min skräppost som tråd hade knäppte från mitten men jag tänkte att laddaren fungerar.Jag öppnade upp och med hjälp av några heta kniv jag smält plast av höljet till göra en skåra för (kvinnliga USB-kontakten) och limmas...

DIY USB-Altoids Apple/Samsung laddare

Om du läst min profil beskrivning, säga jag att jag älskar att bygga USB-enheter. Jag tänker alltid på enheter ladda nästa med det apple-liknande funktion som försöker stoppa oss DIY-nalister för att bygga vår egen laddare. Du uppenbarligen vet att A...

DIY Xbox Controller mottagare för PC

Har du någonsin viljat till använda en Xbox360 styrenheten på datorn och inte behöva köpa en $15 mottagare? Nu kan du! Du kan använda en gammal Xbox360 RF modul (ring av ljus). Jag hade en av dessa från en gammal Xbox RROD och beslutade att mixtra me...

DIY USB DJ Controller

Många människor får in DJ dessa dagar, antingen som ett sätt att uttrycka sig själv eller ett sätt att tjäna extra pengar. Jag njuta av DJ eftersom det ger en mer intressanta inblandade och interaktiv musik-lyssnande erfarenhet, vare sig i sällskap a...

DIY USB Lasern Pekpinnen

Hej och Välkommen till min första någonsin Instructable. Den här kommer att bli ett litet projekt, så förvänta dig inte för mycket av det. Det i princip kommer att vara vad titeln säger: en liten laserpekare.(Liten disclaimer: Jag kan inte löda eller...

DIY USB-Penmouse/Mousepen

Detta instructable är för att göra en optisk USB-mus till ett pennformat Mousepen. Eller Penmouse.Min utgångspunkt var från att se detta instructable men vill förbättra den mekaniska konstruktionen lite och lägga till vänster-höger klicka växlar till...

DIY USB-laddare för mobiltelefon litiumjonbatterier från en trådlös mus laddare

detta ett bra sätt att ladda upp mobiltelefon batterier utan en mobiltelefon, de flesta mobiltelefon AC adaptrar inte kommer ladda ett batteri effektivt som de är omkring 5 volt DC själva telefonen har batteriladdare av den. Men jag tycker dessa batt...

DIY USB nödljus

De flesta moderna smartphones idag har en inbyggd ficklampa App., och vi inte ibland använder det om inte vi behöver också., eftersom den äter en hel del batteri juice., och de flesta smartphone användare idag äger minst en powerbank., som batteriet...

DIY USB pedallådan för live looping

jag ville prova live looping, men jag ville inte spendera $200 + på en bit av redskap som kan aldrig göra det till en spelning. Så jag satte ihop en ganska användbar rigg med en netbook, en USB-ljudgränssnitt och denna hemlagade pedallådan.Live Loopi...

DIY USB-mer effektiv lång-varande eller alla laddare

i denna tutorial jag guidar dig till att göra en av de mest effektiva långvarig USB-laddaren ute. Just nu finns det två typer av laddare ute.Första laddaren tar en högre spänning och skär spänningen ner producerar värme, med andra ord energislöseri o...

DIY USB "Hårddisk"

med en död hårddisk, en 4-portars USB-hubb och några Flash Drives, vi kommer att döda lite tid och få några skratt från någon ser du använda detta.** OBS! **Ni kan se gör tidningens rip-off artikel i mitt projekt på:http://blog.makezine.com/Archive/2...

DIY USB-kylning fläkt (VIDEO)

Obs: Video version av min berömda instructable.Beskrivning: ett lätt steg för steg handledning förklarar hur du kan bygga en "USB-kylning fläkt" för din anteckningsboken/desktop/vadsomhelst från en gamla eller trasiga CD-ROM-enhet. Njut avDu kan...

DIY USB-laddare för digitalkamera

Hej allaProjektet började som jag köpte pre ägda SAMSUNG digitalkamera. som kom med nothinging, men 4GB minneskort. men jag försöker hålla på batteriladdaren eller dess data och chargin kabel men det ska ta 3-6 arbetsdagar... och den goda nyheten var...

DIY USB Flash Drive + kortläsare

jag hade en gammal card 4GB SD kort liggande länge.Jag bestämde mig att dra nytta av den.1) Jag köpte en billig 4 i 1 kort läsaren.2) öppna plast höljet på SD-kortet som kortläsaren.3) permanent lim SD chip kort läsaren SD-kortplatsen4) sätta kortläs...

DIY USB-förstoringsglas lampa

jag är krönikör på Science 2.0 och i min krönika, Den kvadratroten av inte, jag visar hur man bygger en alkohol brännare för triss hem kemi. I min artikel nämner jag att "Second hand butiker som Goodwill, Frälsningsarmén, och lokala mom & pop but...

DIY USB mobila Fan

I den här självstudiekursen lär du dig till göra en USB-fläkt, som kan användas med alla enheter med en USB-port, även med en mobiltelefon.Steg 1: Saker du ska behov-1. en USB-kabel2. en dc-motor (jag fick min från en gammal leksak)3. lödutrustning4....

DIY USB-Slimline optiska låda

hur man gör en USB inhägnad för en bärbar dator optisk enhet - av kartong!Jag befann mig i besittning av en trasig laptop som fortfarande hade en perfekt DVD-RW-DL drive, så jag tänkte, "varför inte säga det till god användning?"För detta instru...