|
Soldering iron |
|
|
Soldering Iron Wire Welding Lead Roll |
ESP8266 Two Wheel Robot (NodeMCU and Stepper Motor)
Generally, robot cars are built on a chassis with 2 DC motor wheels and a bovine wheel. While surfing the internet, I saw a 3D car design with a different structure, and I wanted to experience it by making it. So take a look at how it works...
Step 1: How It Works?
As you can see the biggest difference compared to other robot cars is that it is built on 2 wheels. Of course, it is possible to make a slight wobble forward and backward from the balance point of view, but this did not hinder the robot's movements.
Also, a NodeMCU board with ESP8266 chip was used instead of an Arduino microcontroller. Thus, the robot was controlled via the internet. Hobby stepper motors were used instead of DC motors. Robot movements have become more balanced with use of stepper motors.
Since we are using ESP8266, it was necessary to move the robot wirelessly over WiFi, and a simple application was made for this.
Step 2: Supplies
Basically, the robot has the necessary equipment such as a microcontroller, two step motors, a motor driver and a battery. The list of required equipment is as follows:
- NodeMCU ESP8266 Board
- 28BYJ-48 Stepper Motors
- ULN2003 Stepper Motor Driver
- 7.4V Li-Po Battery
- Jumper Wires
Additionally you can add an HC-SR04 Ultrasonic Distance Sensor for free movement of the robot.
Step 3: NodeMCU ESP8266 Board
The ESP8266 is a Wi-Fi module great for IoT and Home Automation projects. The ESP8266 is a Wi-Fi module. It allows you to control inputs and outputs as you would do with an Arduino, but it has Wi-Fi.
NodeMCU is an open-source LUA based board developed for the ESP8266 wifi chip. NodeMCU Dev Kit has Arduino like Analog and Digital pins on its board. It supports serial communication protocols i.e. UART, SPI, I2C, etc.
I won't bore you with the details, so you can find more information for the NodeMCU board at this link: https://en.wikipedia.org/wiki/NodeMCU
Two things are required when programming NodeMCU and similar cards with ESP8266 chip. First, you will need add-on to programming the ESP8266 with the Arduino IDE. Secondly, when defining the connection pins, you must define them as GPIO.
These stages were mentioned in the source code step.
Step 4: Stepper Motor and Driver
One of the inexpensive way to experience stepper motors is to use 28BYJ-48 stepper motors. One of the best things about these motors is that they can be positioned accurately, one ‘step’ at a time. The other advantage is that they are relatively precise in their movement.
The power consumption of the motor is around 240mA. Because the motor draws too much power, it is best to power it directly from driver rather than drawing that power from the NodeMCU.
The motor usually come with an ULN2003 based driver board which makes them super easy to use. The ULN2003 is one of the most common motor driver ICs.
The board has a connector that mates the motor wires perfectly which makes it very easy to connect the motor to the board. There are also connections for four control inputs as well as power supply connections.
Step 5: 3D Parts
The 3D models were designed by ftobler and shared on Thingiverse. Download the STL files of the 3D models from the link below and print them with the help of a 3D printer. There is no need for raft and support in 3D printing settings.
Two Wheel 3D Parts - https://www.thingiverse.com/thing:1230244
The robot chassis consists of 3 parts, the base on which the motors and circuit are placed and two circle wheels. The assembly is very simple, first of all it is completed by placing the two stepper motors and fixing the wheels to the motors with the help of a screw.
Step 6: Breadboard Circuit
Build your circuit according to the shared circuit diagram. The pin numbers for the connections are as follows.
Motor A Connections
- Driver IN1 to D0 (GPIO16) NodeMCU
- Driver IN2 to D1 (GPIO5) NodeMCU
- Driver IN3 to D2 (GPIO4) NodeMCU
- Driver IN4 to D3 (GPIO0) NodeMCU
- Driver Vin to Power Supply VCC
- Driver GND to Power Supply GND
Motor B Connections
- Driver IN1 to D4 (GPIO2) NodeMCU
- Driver IN2 to D5 (GPIO14) NodeMCU
- Driver IN3 to D6 (GPIO12) NodeMCU
- Driver IN4 to D7 (GPIO13) NodeMCU
- Driver Vin to Power Supply VCC
- Driver GND to Power Supply GND
NodeMCU Power Connections
- NodeMCU Vin to Power Supply VCC
- NodeMCU GND to Power Supply GND
Step 7: Printed Circuit Board (PCB)
After testing the circuit, a PCB was designed to turn the project into a useful prototype. So I cleared the circuit from wiring complexity. To get the PCBs, upload the shared "Gerber" file to PCBWay and create the order. High-quality PCBs will arrive in a few days depending on the shipping address. Place and solder components according to reference designator.
Required components for PCB prototype:
- 5x 100uF Capacitor
- 4x 47uF Capacitor
- 1x 330 Resistor
- 1x L7805 Voltage Regulator
- 2x ULN2003 Motor Driver IC
- Female Header
- Male Header
Step 8: Source Code and Application
Let's programming the NodeMCU Board:
- Open the shared source code with the Arduino IDE
- File > Preferences. Enter the ESP8266 URL http://arduino.esp8266.com/stable/package_esp8266com_index.json into the “Additional Boards Manager URLs”
- Go to Tools > Board > Boards Manager. Search the ESP8266 and install
- Go to Tools > Board > Select the NodeMCU 1.0
- Define the pins to which the stepper motors are connected. Remember, you must define pin numbers as GPIO
- Enter your Wifi SSDI and Password
- The data received from the application must match the data in the code... Therefore, the command names specified for robot movements should be defined correctly.
- Displays the local IP address required for communication with the Two Wheel Robot
Create an app to control robot movements via WiFi:
- With the MIT app inventor, an application can be easily developed with the drag-and-drop method
- Import the shared .aia extension resource file after logging in to https://appinventor.mit.edu/ In this way, you can customize the application according to you.
- The commands to be sent from the application must match the commands specified in the source code
- You can install your app on your phone or tablet with Build > Android app (.apk)
- Enter the local IP address displayed on the serial monitor into the application
- After installing the application, let's test its communication with Two Wheel Robot
ESP8266 Two Wheel Robot (NodeMCU and Stepper Motor)
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(6)
- Likes(10)
- Engineer Jul 01,2024
- Engineer Apr 02,2024
- phanchinh Feb 23,2024
- Engineer Nov 29,2023
- Engineer Oct 26,2023
- Camilo Parra Sep 19,2022
- nichts404 Apr 20,2022
- MERT KILIC Apr 01,2022
- kabilan Mar 28,2022
- Engineer Mar 26,2022
- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
10usability
-
10creativity
-
10content
More by MERT KILIC
- Creative Pogo LED Lighting Design Hi everyone! Welcome to my latest project: a modular, plug-in LED lighting system that is as fun as ...
- Build a simple 3D printed CNC plotter machine Hi friends, do you remember this Mini CNC Plotter machine that uses hobby stepper motors and a few 3...
- Circuit Activity Board - Educational Electronics Circuit Activity Board – A Hands-On Project to Learn Basic ElectronicsIn this project, we're going t...
- Build a Simple 3D Wall Lighting Hi friends, this project shows how to make and control 3D hexagonal LED lighting panels. The project...
- Robot Sumo Board Robot-sumo, or pepe-sumo, is a sport in which two robots attempt to push each other out of a circle ...
- ESP32 Mecanum Wheels Robot and Bluetooth Gamepad Controller In this project we will see how to make an ESP32 Mecanum Wheels Robot which is capable of moving in ...
- DIY Motorized WiFi Roller Blind - ESP8266 & Blynk In this project we will see how to control a roller blind via a smartphone application. The reason w...
- Pet Feeder Controlled Via WiFi - ESP8266 How It Works?As you can see, a 3D design was used for the pet feeder. ESP8266-based Wemos D1 Mini bo...
- ESP8266 Two Wheel Robot (NodeMCU and Stepper Motor) Generally, robot cars are built on a chassis with 2 DC motor wheels and a bovine wheel. While surfin...
- 3D Printed Rotating Table Board with Arduino Nano and 28BYJ-48 Stepper Motor This project shows how to make a 3D printed Rotating Table using Arduino and a hobby stepper motor. ...
- Hand Gesture Controller for Robotic Hand Gesture Controller for RoboticThe hand gesture controller makes it possible to control applicat...
- How To Make DIY Remote Control Hoverboat at Home In this video, I showed you how to make your own hoverboat from materials available at home and chea...
- How to Make DIY Arduino Gesture Control Robot at Home Parts Required for Receiver (Tank):1) Robot Tank Chassis - https://bit.ly/3j8y2Q52) Arduino Nano V3 ...
- DIY Circuit Activty Board with Paperclips | MAKER | STEM You can be creative and design your own circuit and add different sensors (other LEDs...). The idea ...
- ATtiny85 Wearable Activity Tracking Watch How to make the wearable activity tracking watch? This is a wearable gadget designed to vibrate when...
- Face With Animatronic Eyes, Motion Detection and Voice Are you ready to create something both eerie and captivating? This project combines 3D printing, ser...
- Build a simple 3D Arduino Mini CNC Plotter Hi friends, we will see how to make a simple and awesome mini CNC plotter machine in this project. I...
- Build a simple 3D Sphere Drawing Robot (SphereBot - EggBot - EggDuino) Hi friends in this video we will see how to make a simple and awesome sphere drawing robot. Actually...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
109 0 0 -
DIY Laser Power Meter with Arduino
156 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
152 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
543 0 2