IR-fjärrkontrollen posterar för Android - Sänk TV (4 / 4 steg)

Steg 4: Förbereda ARDUINO programmet för IR-STATIONEN



The Arduino program i den här guiden är baserad på mallen sensoduino.ino som fångar sensordata som skickas via Bluetooth av från din Android-enhet. Ändringarna innebär avlyssning Audio sensordata som skickas via Bluetooth seriell sedan mäta den audio sensor behandlingen för att se om det är över en tröskel som potentiometern. I så fall skicka ett IR fjärrkontroll kommando till TV eller stereo för att sänka volymen. Du kan enkelt ändra kodexemplet för att skicka olika Fjärrkontrollfunktioner på andra prylar.

Arduino programmet fungerar för de flesta fjärrkontroller men du måste berätta det om din fjärrkontroll protokollet från den information du samlat i föregående steg när du avkodas din fjärrkontrollens knappar användande IRrecvDump nytta.

Det är möjligt att göra remote val dynamiskt under körning så du inte behöver ändra och ladda upp koden men för denna guide kommer jag hålla det enkelt.

I början av Arduino programmet nedan finns ett antal rader som börjar med
#define ETIKETTNUMRET. Ändra värdet för att styra hur IR-stationen fungerar. Här är en förklaring av de relevanta etikett konstanterna.

FJÄRR-KNAPPKOD och BIT

#define REMOTE_CODE din kod som returneras av verktyget IRrecvDump dekoder prefixet "0 x"

#define REMOTE_BIT din kod-datastorleken som returneras av verktyget IRrecvDump dekoder.

VOLYM NIVÅ TRÖSKEL

#define THRESHOLD_VALUE

Om du inte planerar att potentiometern för att fastställa tröskelvärden som används för att utlösa IR överföringen, ändra värdet THRESHOLD_VALUE för att matcha dina krav. Detta är det nummer som avgör vid vilken punkt Arduino börjar överföra IR koden, i vårt fall de volym ner IR-koderna

VOLYMEN ÄNDRA INTENSITET

#define REPEAT_TX (från 1 till så många du vill. Börja med 3 då fin melodi)

Ändra hur många gånger du vill ha den IR kod överförs till TV eller remote device som kontrolleras. Om du vill ha mer drastiska nedgång i TV-volymen öka detta antal. Om du vill ha en mer gradvis förändring i volym, lägre detta nummer.

/============================================================================

Du kan kopiera & klistra in denna kod på Arduino och ladda upp den

/*
PROJEKT: SensoDuino IR fjärrkontroll Station 0.1
PROGRAMMERARE: Hazim Bitar (techbitar.com)
DATUM: 25 NOV 2013
Fil: sensoduino_ir_station.ino (baserat på sensoduino.ino)
LICENS: Public domain
*/

#include < IRremote.h >

#define THRESHOLD_VALUE 0 / / Ställ kritiska nivån att upptäcka. Ignorera om potentiometer används
#define REPEAT_TX 3 / / hur många gånger överföra IR remote koden
#define REMOTE_CODE 0x1CE3E817 / / remote kod överföra för volym ner för min TV. Ersätt med enheten IR-kod
#define REMOTE_BIT 32
#define LED 13 / / LED används blinka när volymen för hög

IRsend irsend; instansiera IR-objekt

#define START_CMD_CHAR ' >'
#define END_CMD_CHAR "\n"
#define DIV_CMD_CHAR ','

#define DEBUG 1 / / Set till 0 om du inte vill seriella produktionen av sensordata

Sträng inText;
float value0, värde1, värde2; vars som innehåller sensorn värden.

void setup() {

Detta är en Sensor hjälpa lista för sensor nummer
Serial.BEGIN(9600); 9600 är standardhastighet HC-05 och de flesta seriella Bluetooth-moduler
Serial.println("\nSensoDuino 0.13 by TechBitar.com (2013).\n");
Serial.println ("Android Sensor typ nr:");
Serial.println ("1-ACCELEROMETER (m/s ^ 2 - X, Y, Z)");
Serial.println ("2-MAGNETIC_FIELD (uT - X, Y, Z)");
Serial.println ("3-läggning (gir, pitch, roll)").
Serial.println ("4-GYROSKOP (rad/s - X, Y, Z)");
Serial.println ("5-ljus (SI lux)");
Serial.println ("6-pressa (hPa millibar)");
Serial.println ("7-enhet TEMPERATURE (C)");
Serial.println ("8-närhet (centimeter eller 1,0)");
Serial.println ("9-gravitation (m/s ^ 2 - X, Y, Z)");
Serial.println ("10-LINEAR_ACCELERATION (m/s ^ 2 - X, Y, Z)");
Serial.println ("11-ROTATION_VECTOR (X, Y, Z)");
Serial.println ("12-RELATIVE_HUMIDITY (%)");
Serial.println ("13-AMBIENT_TEMPERATURE (C)");
Serial.println ("14-MAGNETIC_FIELD_UNCALIBRATED (uT - X, Y, Z)");
Serial.println ("15-GAME_ROTATION_VECTOR (X, Y, Z)");
Serial.println ("16-GYROSCOPE_UNCALIBRATED (rad/s - X, Y, Z)");
Serial.println ("17-SIGNIFICANT_MOTION (1,0)");
Serial.println ("95 - tid (H, M, S)");
Serial.println ("96 - datum (Y, M, D)");
Serial.println ("97 - ljud (Vol.)");
Serial.println ("98 - GPS1 (lat., long., alt)");
Serial.println ("99 - GPS2 (uthärda, hastighet, datum/tid)");
Serial.println ("\n\nNotera: ignorerar värden av 99.99\n\n");
Serial.flush();

pinMode (LED, OUTPUT);
}

void loop()
{
Serial.flush();
int inCommand = 0;
int sensorType = 0;
osignerade långa logCount = 0L;

char getChar = ""; Läs följetong

vänta på inkommande data
om (Serial.available() < 1) återvända; om seriell tomma, tillbaka till loop().

tolka inkommande kommandot start flagga
getChar = Serial.read();
om (getChar! = START_CMD_CHAR) återvända; om inget kommando startar flagga, tillbaka till loop().

tolka inkommande pin # och värde
sensorType = Serial.parseInt(); Läs sensor typr
logCount = Serial.parseInt(); Läs totala loggade sensormätningar
value0 = Serial.parseFloat(); 1. sensor värde
värde1 = Serial.parseFloat(); 2rd sensor värde om det finns
value2 = Serial.parseFloat(); 3. sensor värde om det finns

Visa sensor och värden av sensorer för felsökning.
om (DEBUG) {
Serial.Print ("sensortyp:");
Serial.println(sensorType);
Serial.Print ("Sensor log #:");
Serial.println(logCount);
Serial.Print ("Val [0]:");
Serial.println(value0);
Serial.Print ("Val [1]:");
Serial.println(value1);
Serial.Print ("Val [2]:");
Serial.println(value2);
Serial.println("---");
Delay(10);
}
Ändra numret sensor för att matcha senor du som att läsa. Se Sensor hjälp listan ovan.
om (sensorType! = 97) återvända; Om jag inte läser Audio Sensor värden, gå tillbaka och fortsätta läsa.

Läsa värdet potentiometer (0-1023) eller tilldela VolValue
att konstant THRESHOLD_VALUE om du inte vill använda potentiometern.
int volValue = analogRead(A5);

Eftersom min audio sensor på min Arduino returnerar värden från 0 till 32K kommer jag mappa den till analoga min/max
flyta volLimit = volValue * (32000 / 1023.0); 32K handlar om max som returneras av SensoDuino Audio sensor
int ljudnivå = value0; Läsa ljud sensorn från SensoDuino (Bluetooth)
IF(soundLevel > volLimit) / / jämför med brus nivå gräns som sätts av potentiometer.
{
digitalWrite(LED,HIGH); samtidigt överföra IR aktivera LED
Delay(200);
för (int txCount = 0; txCount < REPEAT_TX; txCount ++) {/ / överföra IR remote koden
irsend.sendNEC (REMOTE_CODE, REMOTE_BIT); Se kommenterade listan nedan och ersätt att matcha ditt IR system
Delay(200);

Avkommentera den funktion som matchar din fjärrkontroll protokoll framgår av IRrecvDump
irsend.sendNEC (REMOTE_CODE, REMOTE_BIT);
irsend.sendSony (REMOTE_CODE, REMOTE_BIT);
irsend.sendRC5 (REMOTE_CODE, REMOTE_BIT);
irsend.sendRC6 (REMOTE_CODE, REMOTE_BIT);
}
}
digitalWrite(LED,LOW); När gjort överförande IR, stänga LED av

}

Se Steg
Relaterade Ämnen

X-10 Nyckelknippa fjärrkontrollen posterar

Detta instructible är ett svar till min placera min X-10 Nyckelknippa remote i korgen genom dörren, och behöva fumla för att det bland alla andra artiklar, glasögon, nycklar, trasor, etc, jag hade i korgen när jag kom hem. Nu är min X-10 Nyckelknippa...

SensoDuino: Förvandla din Android till ett trådlösa sensorer nav för Arduino

Uppdateringar23 nov 2013: SensoDuino 0.160 får ett ansikte kvar.19 nov. 2031: yttrande: fantastiska synergin mellan Arduino & Android.19 nov 2013: SensoDuino 0.159 är ute. Sensorer som stöder Android telefon datum (y, m, d) och tid (h, m, s). Stöd fö...

IR Remote Agent

fjärrkontroll medföljer nästan standard för de flesta hem program, som TV, Hi-Fi, luftkonditioneringen och så vidare. Men fjärrkontroll ger oss fritid, när du verkligen behöver det men har helt ingen aning om var det är, eller som en det är, du har a...

Bluetooth kontrollerad Arduino RC bil

detta projekt är något som jag började för min Microcontroller klass. Vi var i uppdrag att plocka antingen Arduino eller Raspberry pi och sedan få MCU styra en RC bil eller göra något fancy med en RC bil; Sedan när vi bestämt vad vi ska göra skulle v...

Trådlös utomhus Arduino väderstation med PC loggning och diagram

jag ville ha en logg över utomhus väder med PC loggning och grafer för ganska länge nu. Det finns sådana enheter på marknaden men deras kostnad är riktigt hög. Så beslutat att bygga en själv och njuta av upplevelsen också.FunktionerTemperatur, luftfu...

Tablet PC fjärrkontrollen: android-enhet med en annan android enhet

NAMN TABLET PC FJÄRRKONTROLLEN ÄR ENDAST NAMN OCH DU KAN STYRA ALLA ANDROID-ENHETERAllt du behöver göra för att upprätta en anslutning mellan två enheter är Aktivera Bluetooth på dem båda och koppla ihop dem med varandra. För detta behöver du att sta...

Android/Arduino fjärrkontrollen

Steg 1: Del förteckning -Arduino-Bluetooth modul (HC-05/06)-IR recever (38kHz)-IR-leds (kan använda från en gammal fjärrkontroll)-Motstånd-Android-telefonSteg 2: Android app http://ai2.appinventor.MIT.edu/I app invetor 2 Skapa din remote app, gör mån...

Gör en trådlös Robot med en Android-telefon

I detta Instructable kommer vi att bygga en MouseBot.MouseBot är en liten trådlös arduino robot som du kan styra med en dator. Det kräver inte en WiFi-modul. Istället använder en android-telefon för att ansluta sig till internet. Android-telefon ger...

Kontrollera din android-enhet med en wii remote

Hey guys för min tredje instructable jag ska visa dig hur du styr din android-enhet med en wii remotevad du behöver är1 x: wii remote1 x: android-enhetSteg 1: Ladda ner app först måste du gå till google play och hämta en app som kallas wiimote contro...

IOS/Android avlägsen kontrollerade luftskepp med Video Feedback

i ett luftskepp av ett öga.Projektet var blickfång på min Artist i bosättning på Instructables.RC luftskepp är min passion, ville jag absolut göra något luftskepp projekt under min vistelse på Instructables. När jag kom över Dension WIRC systemet, bl...

Ersätta alla min infraröda fjärrkontroller med balken 6 och en android-telefon.

Min fortsatta enhet att ena alla mina fjärrkontroll behov i en enhet har leda mig till vissa maskin- och programvara för att aktivera min android telefon som en sann Universal Remote.Min djupaste tack till Ron Bessems av promixis för hans hjälp på at...

Hacka en RC bil med Arduino och Android

(Om du gillar detta Instructable, glöm inte att rösta på det (ovan: högra hörnet flaggan). det konkurrerar på ROBOTICS och sensorer tävlingar. Tack så mycket! ;-)Varje gång jag går in i en leksaksaffär och se fjärrkontroll bilar i fönstret, jag längt...

Lätt kontrollerbar Android, PC Interfaceable relativt billigt Mini Quadcopter (eller Octocopter!) Drone...

Eller hur man blir en drone utvecklare utan inteckning ditt hus.Här är hur man gör en liten, inomhus-/ quadcopter som du kanflyga med antingen:* en android telefon eller tablett* en legitim fjärrkontroll* via din egen bearbetning (http://processing.o...

Öppna mitt hem med hjälp av balken 6 och en android-telefon!

Om du har läst min instructable på konsolidera alla min infraröda fjärrkontroller till min android-telefon så är nästa steg jag har tagit för att göra min Galaxy Anmärkning 4 till en sann Universal Remote!Fantastiskt hur den typiska smartphone kan bl...

Universell fjärrkontroll med Arduino, 1Sheeld och Android mobil

Detta projekt visar hur du kan styra din TV, satellitmottagare och Stereo med din Android mobil istället för att använda det fjärrkontroll.I princip kan du använda denna teknik för alla andra enheter som fungerar med fjärrkontrollen. Jag undrar om du...

Linkit en BT - Power boxen med Timer med Android

Kontrollerande enheten via fjärrkontrollen för fast förläggning är bara statiska. Så för dynamiska planen att bygga en power extension ombord kontrolleras endast av bluetooth. Sök på play store och hittade Arduino Bluetooth anordning gratis app. App...

Hur du ställa upp Android Studio och ZTE hastighet telefon för FTC Robotics

Från och med säsongen 2015-16 FTC Robotics har man antagit ett nytt styrsystem för konkurrens. Detta system använder Android enheter som drivs av QualComm Snapdragon processorer. Denna förändring i styrsystemet har också skapat en stor förändring i h...

Nexus (och andra androider) headset remote med media kontroller

Efter att vara inspirerad av detta projekt att göra en avlägsen kontroll för en Nexus One med tre Motståndsvärden över stift 3 och 4 i headsetkontakten - 0 ohm för spela upp/paus, 220 ohm för hoppa tillbaka, och 600 ohm för hoppa framåt, jag bestämde...

Hur du ansluter ps3 remote på Android (root)

hur du ansluter din ps3 remote på din Android-enhet för spela något spel?Material:-Ps3 remote-Android-enheten root :-)-Adapter USB till miniUSB-Ladda USB-kabel för PS3 fjärrkontrollen-sixaxis kompatibilitet Checker(free) och sixaxis controller(paid)S...