Introduction: Mofiza- Smart Social Arduino Robot.

About: A Computer Science and Engineering student and a Hobbyist. love to make robots,electric devices,diy things and Programming them by Myself. My youtube channel https://www.youtube.com/fussebatti Follow me on gi…

This Robot - Mofiza- (weird name) Can SEE ,TALK and REACT to her surroundings.

Before I proceed watch the video

Ever since I've seen making talking robots I saw that people actually use other development boards rather than arduino to make talking robots. But it's completely possible to make a Humanoid robot with arduino who can talk and add a lot of servos to make it move. So lets begin ....

Step 1: Parts You'll Need

1. Arduino Pro mini (5v 16 Mhz) [any board is good but i've used this to make it small)

2. Female header pins for connecting on pcb

3. Male header pins

4. Vero Board to make the circuit

6. Sd card TF module (to make it talk)

7. micro sd card (not more than 2GB)

8. 3x IR proximity sensor

9. 3x servo motor (I've used micro servo sg90)

10. Cardboard to make the body

Buy electronic components at utsource.net

Step 2: Connecting IR Sensor and the Body

Make a body with anything you want , I've made it by cardboard. It's pretty simple.

I've soldered IR sensors with ribbon cable just like this with a female header on one end and added two in two eyes and one in the chest.

The robot will say the welcome message if it detects anything in the chest sensor and will say "aaaah.. dont touch my eye" if any eyes sensor is high. and the servo in that are will move up.

Step 3: The Circuit

The circuit looks a bit complicated but no its all too easy, you can just power it up by one battery. solder the circuit and all other components in a vero board and add other servo on head and hands.

Step 4: Code

Before the codes: I had to use two libraries forthis robot.

TMRpcm.h - for playing audio from SD card- talk https://github.com/TMRh20/TMRpcm

ServoTimer2.h - avoid conflict with TMRpcm and run Servo motors using timer2 as TMRpcm uses Timer1 on arduino https://www.instructables.com/id/Use-of-ServoTimer...

this is the code for saying welcome. You can make your own environment and code

Before you get to code you'll have to add the libraries. Nor the robot wont run.

and then up The code

<p>#include "ServoTimer2.h"<br>#include
#define SD_ChipSelectPin 10
#include"TMRpcm.h"
#include
TMRpcm tmrpcm;
ServoTimer2 matha;
ServoTimer2 lhand;
ServoTimer2 rhand;</p><p>int in1= 6;
int in2= 7;
int in3= 8;
void setup() 
{
 matha.attach(2);
 lhand.attach(3);
 rhand.attach(4);
 tmrpcm.speakerPin=9;
 Serial.begin(9600);
 if(!SD.begin(SD_ChipSelectPin))
 {
  Serial.println("SD FAIL");
  return; 
 }</p><p>}</p><p>void loop() 
{
  if(!(digitalRead(in3)))
  {
   tmrpcm.play("welcome.wav");
    lhand.write(2500);
    delay(2000);
    lhand.write(1200);  //handshake position
    
    delay(9000);
    
  }
  
  
 else
 {
  
  lhand.write(300);
  rhand.write(1700);
  matha.write(1500);
 }
}</p>

Step 5: Finish

now just power it up and your'e done. A smart robot is done making. [i'll upload other pictures and details soon]

If i could get more pins i'd make the robot walk. but i had just 3 pins remaining (digital). its less than i need.

Make it Move Contest

Participated in the
Make it Move Contest