Skip to main content

Alexa Based Motor Controlling

In this tutorial, we will learn how to interface DC Motor with NodeMcu by using Relay Module controlling with Alexa echo. with voice API.

A DC motor is any of a class of rotary electrical machines that converts direct current electrical energy into mechanical energy. The most common types rely on the forces produced by magnetic fields. SmallDC motors are used in tools, toys, and appliances.

DC Motor (Overview) 
There are 4 main types of DC motors:

Permanent Magnet DC Motors. The permanent magnet motor uses a permanent magnet to create field flux.

Series DC Motors. In a series DC motor, the field is wound with a few turns of a large wire carrying the full armature current.

  • Shunt DC Motors.
  • Compound DC Motors.

So now we are familiar with the motor let us interface it.
Components Required:
  • DC motor
  • NodeMcu(ESP8266)
  • Alexa echo.
  • Connecting wires(male to male)
  • Breadboard
  • Relay Module

Follow the Image below for circuit connection reference:-
(Interfacing all components)
N.B-(In this circuit connection we have to supply 5volts as the input voltage.)

After making the circuit dump the code given below:-
#include <ESP8266WiFi.h>
#include "fauxmoESP.h"
/* Network credentials */
#define WIFI_SSID "Enter your Wifi Name"
#define WIFI_PASS "Enter Password"
/* Belkin WeMo emulation */
fauxmoESP fauxmo;
/* Set Relay Pins */
#define RELAY_1 D0
void setup()
{
Serial.begin(115200);
//setup and wifi connection
wifiSetup();
//Set relay pins to outputs
pinMode(RELAY_1, OUTPUT);
//Set each relay pin to HIGH ====== NOTE THAT THE RELAYS USE INVERSE LOGIC =====
digitalWrite(RELAY_1, LOW);
delay(500);
// Device Names for Simulated Wemo switches
fauxmo.addDevice("Karkhana Motor");
fauxmo.onMessage(callback);
}

void loop()
{
fauxmo.handle();
}

/* ---------------------------------------------------------------------------
Device Callback
----------------------------------------------------------------------------*/
void callback(uint8_t device_id, const char * device_name, bool state)
{
Serial.print("Device "); Serial.print(device_name);
Serial.print(" state: ");
if (state)
{
Serial.println("ON");
}
else
{
Serial.println("OFF");
}
//Switching action on detection of device name
if ( (strcmp(device_name, "Karkhana Motor") == 0) )
{
if (!state)
{
digitalWrite(RELAY_1, LOW);
}
else
{
digitalWrite(RELAY_1, HIGH);
}
}
}
/* -----------------------------------------------------------------------------
Wifi Setup
-----------------------------------------------------------------------------*/
void wifiSetup()
{
// Set WIFI module to STA mode
WiFi.mode(WIFI_STA);
// Connect
Serial.println ();
Serial.printf("[WIFI] Connecting to %s ", WIFI_SSID);
Serial.println();
WiFi.begin(WIFI_SSID, WIFI_PASS);
// Wait
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(100);
}
Serial.print(" ==> CONNECTED!" );
Serial.println();
// Connected!
Serial.printf("[WIFI] STATION Mode, SSID: %s, IP address: %s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str());
Serial.println();
}

After dumping the code the output is shown on the video below:-



After dumping the code the output is shown on the image below:-

(During circuit is running)

Thinking?
Join our hands-on training courses.
To know more visit us at Karkhana Training Portal

Comments

Popular posts from this blog

LED Brightness Control using Touch Sensor and ARM

Hey Folks, In this tutorial, we will learn, how to change  the intensity of light using touch sensor the ARM (FRDM-KL25Z). INTRODUCTION The FRDM-KL25Z is an ultra-low-cost development platform for Kinetis L Series KL1x (KL14/15) and KL2x (KL24/25) MCUs built on ARM® Cortex™-M0+ processor.  The FRDM-KL25Z has been designed by NXP in collaboration with mbed for prototyping all sorts of devices, especially those requiring the size and price point offered by Cortex-M0+ and the power of USB Host and Device. The FRDM-KL25Z is supported by a range of NXP and third-party development software. It is packaged as a development board with connectors to break out to stripboard and breadboard and includes a built-in USB FLASH programmer.               FEATURES NXP KL25Z Kinetis KL2x MCU (MKL25Z128VLK4) High-performance ARM® Cortex™-M0+ Core 48MHz, 16KB RAM, 128KB FLASH USB (Host/Device) SPI (2) I2C (2) UART (3) PWM (TPM) ...

Arduino Based Audio Spectrum Analyzer Project

This Video will illustrate you how to visualize audio left and right signals in bar-graph in 16X2 LCD Display using Arduino. Components Required: 1. Arduino UNO 2. 16X2 LCD Display 3. 3.5mm Audio Jack 4. Jumper Wires   Connection Diagram: Video Link Arduino Code #include <LiquidCrystal.h> #include <fix_fft.h> #define DEBUG 0 #define L_IN 1 // Audio input A0 Arduino #define R_IN 0 // Audio input A1 Arduino const int Yres = 8; const int gain = 3; float peaks[64]; char im[64], data[64]; char Rim[64], Rdata[64]; char data_avgs[64]; int debugLoop; int i; int load; LiquidCrystal lcd(11, 10, 7, 6, 5, 4); // pins to LCD // Custom CHARACTERS byte v1[8] = {   B00000, B00000, B00000, B00000, B00000, B00000, B00000, B11111 }; byte v2[8] = {   B00000, B00000, B00000, B00000, B00000, B00000, B00000, B11111 }; byte v3[8] = {   B00000, B00000, B00000, B00000, B00000, B11111, B11111, B11111 }; byte v4[8] = {   B0...

Soil Moisture Monitoring using ESP8266 and Soil Moisture Sensor

Hey folks In this tutorial, we will learn how to interface LM393 module(Soil Moisture Sensor)with NodeMcu(ESP8266). LM393 is a simple water sensor can be used to detect soil moisture when the soil moisture deficit module plant waterer device, so that the plants in our garden without people to manage; Adjustable sensitivity adjust the digital potentiometer (shown in blue) Operating Voltage 3.3V-5V; Module Dual Output mode, a simple. LM393 Soli Moisture Sensor Module(over view)  Components Required: LM393 Soil Sensor  NodeMcu(ESP8266)  Connecting wires(male to male)  Breadboard  Follow the Image below for circuit connection reference:- (Interfacing all components)  Here Pin A0 of the moisture sensor module connects to pin A0 on the ESP8266 The GND pin on the moisture sensor module connects to a GND pin on the ESP8266 The VCC pin on the moisture sensor module connects to a 3v3 pin on the ESP8266 D0 pin remain disconnected After making th...