Lampička ovládaná mobilním telefonem

V tomto projektu jsem oživil svou starou lampičku, z které kdysi vypadl vypínač. Nejedná se o složitý projekt, ale spojuje ovládání spotřebiče pomocí Arduina a tvorbu vlastní aplikace MIT App Inventorem.

Seznam komponent:

  • Arduino Uno
  • Relé
  • Bluetooth modul HC-05
  • 1N4001 dioda
  • NPN tranzistor 8050
  • 1kΩ rezistor
  • Nepájivé pole, vodiče

Zapojení

Nejprve jsem lampičku dvěma vodiči připájel k relé. Je připojena k NC a COM pinům na relé, díky čemuž je ji možné používat i bez připojení k desce. Následně jsem relé zapojil k Arduinu pomocí NPN tranzistoru 8050, 1N4001 diody a 1kΩ rezistoru, jak je vidět na schématu. Je důležité piny na relé důkladně izolovat. Nakonec jsem ještě připojil Bluetooth modul HC-05 (RX k pinu 11 a TX k pinu 10 na Arduinu).

Mobilní aplikace

Pro tvorbu aplikace jsem využil MIT App Inventor 2 (https://appinventor.mit.edu). V něm jsem si nejprve umístil všechny elementy na své místo, přejmenoval je a přidal styly.

V sekci Blocks jsem nejprve vytvořil proměnné a funkci pro připojení přes bluetooth. Po vybrání správného zařízení se aplikace připojí a lampička se vypne.

Po kliknutí na tlačítko se do proměnné zapíše systémový čas a přičte se k němu případná prodleva v milisekundách.

Následuje funkce, která se provádí pokaždé, když vyprší časovač. Nejdříve ověří, jestli se lampička má zapnout nebo vypnout (proměnná casovacZapnuty), zkontroluje čas a poté pošle Arduinu „a“ (zapnout lampičku), nebo „b“ (vypnout lampičku). Při kliknutí na tlačítko „Vynulovat“ se do polí pro zápis prodlevy zapíše „0“.

Program pro Arduino

#include <SoftwareSerial.h>   // Import knihovny

#define RX 11                 // Pin spojený s RX u Bluetooth modulu
#define TX 10                 // Pin spojený s TX
#define pinRele 8             // Pin spojený s relé
SoftwareSerial bluetooth(TX, RX); // Objekt sériové komunikace

void setup() {
  bluetooth.begin(9600);        // Začátek komunikace
  pinMode(pinRele,OUTPUT);      
}

void loop() {
  byte BluetoothData;           // Proměnná pro ukládání dat
  if (bluetooth.available()>0){  
     BluetoothData=bluetooth.read(); // Uložení dat z komunikace
    switch (BluetoothData){
      case 'a':
        digitalWrite(pinRele,LOW); // COM spojený s NC, lampička se zapne
        break;
      case 'b':
        digitalWrite(pinRele,HIGH); // COM spojený s NO, lampička se vypne
        break;
    } 
  }  
}

Další podobné články

ROBOTICKÉ RAMENO

Stavebnice obsahuje všechny potřebné díly na sestavení robotnického ramene včetně spojovacího materiálu, pouze je nutné dokoupit čtyři kusy MIKRO SERV SG90. Dále je nutné dokoupit řídící jednotku já jsem použil domácí zásoby ARDUINO NANO a pro něho pak modul ARDUINO NANO IO SHIELD pro jednoduchost zapojení. Díly pro sestavení ramene jdou dobře tzv. vylamovat „vypadávají skoro sami. K servům pokud použijete nové tak doporučuji je před montáží odzkoušet zda jsou funkční v plném rozsahu tj. od 0° do 180°, po namontování a zjištění že servo nefunguje to pak opravdu dost zahýbá s nervy. 

Electronic TiltMaze

Cílem tohoto projektu je vytvoření jednoduchého ovládacího systému, který umožňuje naklápění dvou servomotorů pomocí analogového joysticku. Platforma řízená servomotory může simulovat pohyb například v ose X a Y — tedy naklánění doleva/doprava a dopředu/dozadu. Tento systém může sloužit jako základ pro různé aplikace:

- Manuální ovládání kamery nebo senzoru (např. na pohyblivé konstrukci nebo robotovi)
- Interaktivní ovládací panel pro školní projekty nebo herní ovladač