Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Universele afstandsbediening met Arduino, 1Sheeld en Android

Componenten en benodigdheden

Arduino UNO
× 1
1Sheeld
× 1
IR-ontvanger (algemeen)
× 1
LED (generiek)
× 1

Over dit project

Dit project laat zien hoe je in plaats van de afstandsbediening kunt gebruiken.

Dit project illustreert hoe u uw tv, satellietontvanger en stereo kunt bedienen met uw Android-mobiel in plaats van hun afstandsbediening te gebruiken.

In principe kunt u deze techniek toepassen op alle andere apparaten die met afstandsbediening werken . Ik vroeg me af om mijn mobiel te gebruiken om alle apparaten in huis te bedienen in plaats van de afstandsbediening van elk apparaat te gebruiken.

Nu kunt u zoveel als u wilt van uw externe apparaten thuis bedienen met slechts één applicatie op uw mobiel!


Ten eerste , Het enige wat we in deze stap hoeven te doen, is de Android-app downloaden van de Google Play Store. Aanvraag

Dan , moet u uw afstandsbediening decoderen

De zender in de afstandsbediening zendt een stroom pulsen van infrarood licht uit wanneer de gebruiker op een knop op de handset drukt. Een zender is vaak een lichtgevende diode (LED) die in het wijzende uiteinde van de afstandsbediening is ingebouwd. De infraroodlichtpulsen vormen een uniek patroon voor die knop. De ontvanger in het apparaat herkent het patroon en zorgt ervoor dat het apparaat dienovereenkomstig reageert (Wikipedia).

We moeten dus dat unieke patroon van elke knop kennen.

U moet gewoon de IR-bibliotheek . downloaden voor Arduino.

In de voorbeelden van die bibliotheek vindt u IRrecvDump voorbeeld (zoals geïllustreerd in de derde afbeelding). Deze code wordt gebruikt om gegevens van de afstandsbediening te coderen.

U moet de IR-ontvanger bedraden. Zoals weergegeven in de afbeelding:
1- Grond
2- 5V
3- Pin 11

Na uploaden deze code naar de Arduino, open de seriële monitor en druk op een willekeurige knop op de afstandsbediening van je tv, je zult iets vinden zoals in de vijfde afbeelding.

Zoals te zien is in de vierde afbeelding, kunt u de hexadecimale code vinden die naar elke knop van de afstandsbediening verwijst. Noteer deze hexadecimale nummers die overeenkomen met de functie (bijv. 20DFC03F, 32 verwijst naar de aan / uit-knop).

Opmerking , Als u "onbekende codering" krijgt, drukt u nogmaals op de knop.


Nu moeten we de code uploaden die wordt gebruikt om de opdrachten naar onze apparaten te verzenden. U kunt de code vinden, maar u zult een kleine wijziging aanbrengen, afhankelijk van uw afstandsbediening.

Het enige dat u hier hoeft te doen, is vervangen door hex-waarden als (0x20DF10EF ) door de waarden die je hebt gekregen van de aan / uit-knop, volume omhoog/omlaag-knoppen en elke andere knop die je wilt.

Aangezien de mobiele applicatie 1Sheeld geen interface voor afstandsbediening heeft, heb ik het KeyPad-schild gebruikt als afstandsbediening kunt u het Toetsenbordscherm . kiezen ook voor veel meer apparaten.


Testen

Eindelijk , gebruik je de IR LED op pin 3 in Arduino en plaats deze naast de voorkant van de apparaten zoals weergegeven.

Open nu de mobiele applicatie 1Sheeld en verbind deze met het schild en kies vervolgens het toetsenbordschild, allemaal getoond in de video.

Door nu op de knoppen op uw mobiele telefoon te drukken, wordt de bijbehorende taak uitgevoerd:inschakelen, volume omhoog, volume omlaag, ... enz.


Code

  • Afstandsbedieningscode
AfstandsbedieningscodeC/C++
deze code gebruikt verschillende knoppen in het toetsenbordscherm om de tv aan/uit te zetten, het kanaal van de satellietontvanger te wijzigen en de stereo te bedienen.
#include #include IRsend irsend;void setup( ) { OneSheeld.begin();}void loop(){ if(Keypad.isRowPressed(0) &&Keypad.isColumnPressed(0)) { irsend.sendNEC(0x20DF10EF, 32); } else if(Keypad.isRowPressed(0) &&Keypad.isColumnPressed(1)) { irsend.sendNEC(0x20DFC03F, 32); } else if(Keypad.isRowPressed(0) &&Keypad.isColumnPressed(2)) { irsend.sendNEC(0x20DF40BF, 32); } else if(Keypad.isRowPressed(1) &&Keypad.isColumnPressed(1)) { irsend.sendNEC(0x41048B7, 32); } else if(Keypad.isRowPressed(1) &&Keypad.isColumnPressed(0)) { irsend.sendNEC(0x410C837, 32); } else if(Keypad.isRowPressed(2) &&Keypad.isColumnPressed(0)) { for (int i =0; i <3; i++) { irsend.sendSony(0xa81, 12); // Sony TV power code vertraging (40); } }}

Productieproces

  1. DIY voltmeter met Arduino en smartphone
  2. Ioed gebruiken om een ​​robotarm op afstand te bedienen
  3. Android bestuurd speelgoed met Raspberry Motor Shield
  4. Frequentie- en werkcyclusmeting met Arduino
  5. Bedien Arduino Rover met Firmata en Xbox One Controller
  6. LED-helderheid regelen met Bolt en Arduino
  7. Eenvoudige en slimme robotarm met Arduino
  8. Volledige controle over uw tv met Alexa en Arduino IoT Cloud
  9. FM-radio met Arduino en RDA8057M
  10. Knipperende LED's op Arduino vanaf iOS en Android
  11. Bedien uw lichtsysteem met een smartphone