Introduction: NEX Project
Hey guys, It's Natanael Prado here again with another awesome project. This time I want to share with you guys, a project that I've been doing for three years, this project is my robot called NEX. So first, get to know the history behind my creation.
The History behind the project
For a long time, a desire has been in me. The desire to create a robot, but not just any robot. I wanted to create someone who was more than just a robot, that was a friend, with a unique personality and characteristics, and also that could be part of who I am. The beginning of when this desire began to be born in me, I don't know for sure; but I know that despite the time, that will never died in me, because it was more than a simple desire, it was a life goal and a dream to be fulfilled. That's when I bought my first Arduino, An Arduino Mega 2560, and I started to turn my dream into reality, and even though my wish might seem a little crazy or even impossible, I went ahead in search of what I wanted to accomplish, taking risks and venturing into the unknown. It was about three years of planning and making my conception a reality. And now after years of work, my robot has come to life!!
But what's an Arduino?
First of all, I would like to introduce to those who don't know, the Arduino. So an Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards can read inputs - a light on a sensor, a finger on a button, or a Twitter message - and turn them into an output - activating a motor, turning on an LED, or publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so, you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing. The Arduino is so Fantastic and incredible, you can do a lot of cool things with it, and you can literally turn your dreams into reality with it, like I did making my robot, NEX.
The purpose of publishing this project is not simply to explain in detail how I made my robot, but rather to inspire and encourage you to invent and create what you want, even though sometimes your dreams seem impossible. So what we are waiting for? Let's get to it!
Step 1: Materials
This is the majority of pieces that I've used to do my robot:
- Arduino Mega 2560
- Shield Easy VR 3.0 + Microphone
- Motor Shield L293D
- Nextion enhanced 3.5" display
- 2 Micro Servo SG90 Tower Pro 9g
- Round Robot Chassis Kit
- HC-SR04 Ultrasonic distance sensor
- 10000mAh Mi Power Bank
- 8Ω speaker
I've also used other kinds of materials such as:
- Milk can (to do NEX's body)
- Galvanized wires (to do NEX's arms)
- Pieces of plastic
- Some spray paints
Step 2: From Conception to Reality
As every project starts first of all in our minds, it is very important to put your idea on paper before starting the construction of any project, to already have an idea of what parts and materials can be used to turn an idea into reality. Taking this into consideration, the image above illustrates one of the first sketches of my robot, made in early 2019 where a simulation of how NEX looks in the final project is shown. Later this illustration was improved and consequently had some small modifications. The image below illustrates the 2D view of the project already updated, made with the help of graphic software on the computer.
Step 3: NEX's Parts
In this section, I will show you and explain some of the most important pieces that I used to create my robot and also how they can be used in the most diverse robotics and Arduino projects. So come on!
Let's start with this piece, This is the Motor Shield L293D it is based on the L293D chip and can be used with the Arduino. This Shield is very interesting because it allows you to control motors with your Arduino board. It is possible to control up to 4 DC Motors, 2 Servos, or 2 Stepper motors simultaneously with it. I used this Shield to control NEX's arms that work with two servo motors SG90, and also the two DC motors that make it move around.
This thing looks like two eyes right? but they are not, hahaha ... This is actually an HC-SR04 ultrasonic sensor module that can be used with the Arduino, for example, to measure the distance between certain items, it is capable of measuring distances from 2cm to 4m with great precision and low price. These sensors are also known as transceivers and have the ability to operate similar to sonar. While sonar is mainly used underwater, ultrasound transceivers can be used in the terrestrial environment, with air as a means of transmission. In addition, ultrasonic wave sensors are common in industrial and medical applications.
This is the Servo Motor SG90, it is nothing more than a motor with angular position control, it is: through PWM signals it is possible to command that the servo motor is its axis until the determined angle, being able to go from -90º to 90º, or that is, it has a degree of freedom of 180º. In addition, the SG90 Servo motor is one of the most popular when it comes to Arduino or Educational Robotics. This is because it has a small size and torque suitable for most educational applications. In my project, 2 servo motors were used, to move NEX's arms.
This is the Nextion Display Enhanced NX4832K035, this display is very powerful, I made the face of my robot using it. It includes a hardware part (a series of TFT boards) and a software part (the Nextion editor). The good thing is that the Nextion TFT board uses only one serial port to communicate.
There are other important parts that I don't have a picture of here with me, such as the Easy VR Shield 3.0, This Shield is a multi-purpose speech recognition module designed to add versatile, robust, and cost-effective speech recognition capabilities to almost any application. It has a microphone and the support to an 8Ω speaker, this Shield is very important for my robot because it allows me to communicate with NEX, it's like a bridge between me and my robot.
Another very important part is the Round Robot Chassis Kit, this kit includes two DC motor that controls the NEX's wheels, so my robot can move forward, backward, rotate, go right and left, and so on.
And the last but not the least is, of course, the Power Bank. As my robot is standalone, it needs a battery inside him to provide energy for the Arduino, so I choose a 10000Mah Powerbank for it.
Step 4: NEX Creation Process (Hardware)
The first step in the NEX assembly process was the preliminary tests performed to verify integration and operation between the Arduino Mega 2560, EasyVR 3.0 Shield, and the L293D Motor Shield.
After this stage was completed, the robot's body was made, for this, a can of nest milk was used, which had to be cut in some parts to make the fixation of some pieces in it, besides this can was later sanded and painted with yellow spray paint.
Once this was done, the NEX robotic chassis was assembled, as it comes completely disassembled from the factory. It was necessary to fit all the parts of the chassis in addition to making the proper electrical connections to the engine. See the image below of a chassis already assembled.
With this ready, the HC-SR04 ultrasonic sensor was strategically positioned under this chassis and the milk can (robot body) was screwed on top of the previously mounted robotic chassis. After that, the cables were connected and attached to the NEX body that makes the connection between the internal components to transform them into outputs or inputs on the outside of the robot body, such as the microphone, to the USB port to be recharged and the USB port of Arduino. See the image below:
Then, two motor servos were added to the robot body, one at each end of the can, and also the 10000mAh power bank. As shown in the picture below.
Soon after this, the main robot assembly composed of Arduino Mega 2560 + Shield EasyVR 3.0 + Motor Shield L293D previously tested and running was added to the NEX body, and proper connections were made between the boards and other peripherals. As shown in the photograph below.
After doing so, the 3.5-inch Nextion LCD Screen was connected to the Arduino Mega 2560 and attached to the front of the robot body, and in addition, the 4Ω and 3W speaker was strategically positioned under the LCD Screen on the robot body. Finally, the NEX arms were made with galvanized wires.
Step 5: NEX Creation Process (Software)
Now moving on to the NEX software part. To create the face of the NEX robot on the Nextion screen, an open-source graphic design and animation software called Krita was first used. Through it you can draw all the artwork of the NEX face, and also transform each image created into a frame to be part of the set of facial animations of NEX. Each time NEX speaks he displays on his screen a set of images specific to a given command, rotating at 30 FPS, that is, each voice message he speaks has to be in sync with his mouth movement, so he took great care when making NEX's lip-sync so that his mouth movements don't seem repetitive and without harmony with what he is speaking. As the animation is nothing more than a sequence of images rotating at a certain speed, NEX has about five thousand images capable of rotating in sequence on its screen until the moment of this publication. This was certainly one of the most laborious and tiring parts of this whole project because creating drawings and animations from scratch without having any training in the area requires a lot of effort and patience. But it was not only that, to make this image bank an animation possible to be executed by Arduino on the Nextion screen, it was necessary to use the Nextion Editor Software that makes the creation of a .tft file, which is recorded and inserted in a micro SD card to later be connected to the Nextion screen and the images loaded on it.
To create the voice of the NEX robot was used as the basis of the voice of the author who writes this expanded summary here. Through several voice modification processes using the Audacity program, it was possible to create a characteristic voice for NEX. The next step was just to load all voice commands created, in the EasyVR Shield, through the EasyVR commander software. At the time of this publication, NEX has 12 voice commands created, as well as 12 voice messages loaded into it.
And that was how the NEX robot looked at the end of its creation process.
Step 6: That's All Folk's
This is all folk's, And as you could see, I tried to summarize a three-years project in a single Instructable, but it's not that easy hahaha... But the main message I wanted to convey here is that, no matter what your dream is, and how difficult it seems, if you believe that it is possible to make it a reality and not give up on that dream it will come true!!
NEX and I hope you liked this Instructable project and thank you all for reading this far. If you want to know more about NEX and your incredible journey don't forget to follow him on his official Instagram: @nextherobot. That's it, bye !! see you soon with another cool projects!! ;)
Participated in the
Arduino Contest 2020