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

Slimme IR-brug met Arduino UNO en SmartThings ThingShield

Onderdelen en Benodigdheden

Arduino UNO × 1
SmartThings Shield voor Arduino (ThingShield) × 1
IR-zendende LED × 1
IR-ontvanger diode × 1
100 Ohm weerstand (optioneel) × 1

Over dit project

Inleiding

Een eenvoudige TV-afstandsbediening kan veel meer dan alleen kanalen schakelen wanneer deze verbonden is met de SmartThings-cloud. Met een gering aantal onderdelen en direct zichtbaar resultaat is dit project een uitstekende manier om het SmartThings-platform te verkennen.

Achtergrond: Arduino en de ThingShield

De SmartThings ThingShield maakt het eenvoudig om SmartThings-prototypes te bouwen met Arduino. De shield verbindt direct met de UNO en communiceert met de SmartThings-hub via het Zigbee-protocol. Een schakelaar op de shield laat toe om te kiezen tussen pinnen 0,1 of 2,3 voor communicatie met de Arduino. De ThingShield reserveert al pin 6.

Meer informatie over aan de slag met Arduino: Arduino Guide

Stap 1: Benodigdheden

  • SmartThings Arduino ThingShield
  • Arduino Uno
  • IR-ontvanger
  • IR-zendende LED
  • 100 Ohm weerstand (optioneel)

Stap 2: IR-bibliotheek installeren

Het project is afhankelijk van de uitstekende Arduino-bibliotheek van Ken Shirriff: Arduino-IRremote. Installeer de bibliotheek op de gewone manier (handleiding).

Na installatie moet IRRemoteInt.h worden aangepast om de timer op pin 9 te gebruiken. In dit voorbeeld gebruiken we pin 3 voor communicatie met de ThingShield.

Stap 3: Arduino-sketch uploaden

Upload de sketch naar je Arduino-board (zie codeseactie).

Stap 4: De opbouw

De opbouw is simpel: plaats de ThingShield op de Arduino. Hoewel het schema alleen de Arduino toont, zijn de pin-uitgangen identiek met de shield erop.

  • IR-ontvanger: Verbinden met GND en 5V, datapin naar Arduino pin 11.
  • IR-zendende LED: Aansluiten op pin 9 en GND. De 100 Ohm weerstand is optioneel omdat de LED de piekstroom van de Arduino kan aan tijdens het snel knipperen voor zenden. Bij continue belasting zou de LED kunnen verbranden.

Stap 5: Aangepast SmartThings-apparaatstype aanmaken

In de SmartThings IDE: ga naar "My Device Types", klik "New SmartDevice". Geef een naam: "Ir Bridge". Definieer attributen en commando's voor twee programmeerbare knoppen en een opnameknop. Kopieer de apparaatdefinitie (zie code) in de IDE, bewaar en publiceer.

Stap 6: ThingShield bijwerken naar nieuw apparaatstype

Koppel de ThingShield aan de hub: shield op Arduino, voeding aan, houd de "Switch"-knop 6 seconden ingedrukt. In de SmartThings-app: "Add" knop, druk nogmaals op de fysieke "switch"-knop. In de IDE: ga naar "Devices", selecteer je ThingShield, klik "Edit", kies bij "Type" je nieuwe SmartDevice-type. Geef een herkenbare labelnaam. Klik "Update".

Let op: na toekomstige updates van je aangepaste apparaattypes, controleer of fysieke apparaten nog steeds gekoppeld zijn aan het juiste type.

Stap 7: SmartThings-app schrijven

In "My SmartApps": "New SmartApp", naam, beschrijving, categorie "My apps". Kopieer de SmartApp-code (zie codeseactie), bewaar en publiceer.

Let op de naamgeving: in de SmartApp verwijzen we naar het SmartDevice-type als device.IrBridge (zonder spatie, camelCase: spaties verwijderd, eerste letter en letters na spatie hoofdletter).

Stap 8: SmartApp activeren

In de SmartThings-smartphone-app: koppel de nieuwe SmartApp aan het IR-apparaat en selecteer de schakelaars die je wilt besturen. Klik "Install".

Programmeren van de knoppen: Ga naar tegelgegevens (tandwiel), druk op de grote opnameknop (wordt rood), klik op de tegel die je wilt besturen (Play/Pause of B, wordt geel), richt je afstandsbediening op de ThingShield en druk de gewenste knop. De code wordt naar de cloud gestuurd en gekoppeld. De gekoppelde knop wordt groen, de opnameknop wit weer.

Vanaf nu schakelt de gekoppelde knop op de afstandsbediening de geselecteerde schakelaar in de SmartApp.

Code

Arduino-sketch (C/C++)

De sketch gebruikt SoftwareSerial, SmartThings en IRremote bibliotheken. Pinnen: LED (13), IR-ontvanger (11), ThingShield RX (3), TX (2). De loop() verwerkt SmartThings-logica en IR-ontvangst. Ontvangen codes worden geformatteerd (type, bits, waarde) en naar de hub gestuurd. De messageCallout() verwerkt binnenkomende commando's (NEC, SNY, RC5, RC6) en stuurt deze via de IR-zender.

Apparaatdefinitie (Groovy)

Definieert tegels voor opname-status (record), knop A en knop B met statuskleuren (grijs=unset, geel=prog, groen=set). De parse() functie verwerkt binnenkomende IR-codes: in opnamemodus koppelen aan geselecteerde knop, anders matchen met opgeslagen codes en events genereren.

SmartApp-code (Groovy)

Kiest IR-apparaat en twee schakelaars. Abonneert op knop A en B events. handleA en handleB toggelen de bijbehorende schakelaar.

Productieproces

  1. Een Robot Bouwen met Raspberry Pi en Python: Een Complete Gids
  2. Een Zelf-balancerende Segway Bouwen met Raspberry Pi
  3. Waterdruppels vastleggen met Arduino Nano – DIY High-Speed Fotografie
  4. K30 CO2-sensor: Real-time binnenluchtkwaliteitmonitoring met Arduino
  5. Communicatie voor doofblinden vergemakkelijken met 1Sheeld en Arduino
  6. Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
  7. Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
  8. Monitor Je Huistemperatuur Overal met Arduino Cloud Integratie
  9. MAX30100 hartslagsensor integreren met Arduino: Stapsgewijze handleiding
  10. De werkkracht van morgen bouwen: Hoe intelligente automatisering de werknemerservaring verbetert
  11. Data benutten in het Internet of Reliability: Strategieën voor effectief beheer