Select Your Favourite
Category And Start Learning.

⚠️ This Internship is being sunsetted. For new updated Internship, Visit Kodacy

Robotics Internship Documentation

What is Robotics ?

Robotics is the intersection of science, engineering and technology that produces machines called robots that substitute or replicate human actions

Types of robots

  • Pre-programmed Robots

  • Humanoid Robots

  • Autonomous Robots

  • Teleoperated Robots

  • Augmenting Robots

Preprogrammed 
Robots

Pre- programmed robots operate in a controlled environment where they do simple and monotonous tasks. An example of a preprogrammed robot would be a mechanical arm on an automotive assembly line

Humanoid Robots

A humanoid robot is a robot with its body shape built to resemble the human body. The design may be for functional purposes, such as interacting with human tools and environments, for experimental purposes, such as the study of bipedal locomotion.

Some humanoid robots also have heads designed to replicate human facial features such as eyes and mouths.

Teleoperated Robots

Tele-operated robots are remotely controlled robots. they might have some sort of intelligence , but normally they take their command from a human operator and execute exactly as instructed. Right now, tele-operated robots are mostly used in medical surgeries and military operations.

Augmenting Robots

Augmenting robots generally enhance capabilities that a person has or replace the abilities that a person has lost. The most common example of an augmenting medical device would be a prosthetic limp. or bionic arm

Autonomous Robots

An autonomous robot is a robot that is designed and engineered to deal with its environment on its own, and work for extended periods of time without human intervention. A truly autonomous robot is one that can perceive its environment, make decisions based on what it perceives  and/or has been programmed to recognize conditions and then actuate a movement or manipulation within that environment.

Introduction to Robochip

This is SPACE Robochip. You will be learning to code and build robots virtually using this chip in our internship program.

The Space Robochip is a microcontroller which has 7 digital pins. The Pin 0 is also considered as the transmitter pin (Tx) and Pin 1 is also considered as receiver pin (Rx).

Playing with LED

A light-emitting diode (LED) is a semiconductor device that emits light when an electric current is passed through it.

In this experiment we will connect the positive end to digital pin 6 of our microcontroller board. As well as we will connect the negative pin of LED to GND of our microcontroller board.

Positive(+) to Digital Pin 6

Negative(-) to GND 

Code - LED Blink

void setup() {
pinMode(6, OUTPUT);
}
void loop(){
digitalWrite(6, HIGH);
delay(100);
digitalWrite(6, LOW);
delay(100);
}

Ultrasonic Sensor

An ultrasonic sensor is an electronic device that measures the distance of a target object by emitting ultrasonic sound waves.Usually a normal ultrasonic sensor will have 4 pins.

In order to generate the ultrasound we need to set the Trigger Pin on a High State for 10 microseconds. That will send out an 8 cycle sonic burst which will travel at the speed sound and it will be received in the Echo Pin. The Echo Pin will output the time in microseconds the sound wave traveled.

Experiment Connections:

  • Vcc to 5V of Space Robochip 

  • Trig to Digital Pin 5 of Space Robochip

  • Echo to Digital Pin 6 of Space Robochip

  • GND to GND of Space Robochip

Code - Ultrasonic Sensor

const int trigPin = 5;
const int echoPin = 6;

float duration, distance;

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration*.0343)/2;
Serial.print(“Distance: “);
Serial.println(distance);
delay(100);
}

Motor Driver

As the name suggest a motor driver IC or module is used to drive the motors of a robot. We are using it as a kind of protection from high voltages which would damage our microcontroller board which in this case is our Space Robochip.

Its because our microcontroller board only require maximum of 5v to run but for motors we need more voltage for its proper working. So we use this driver as a link to carry out both the jobs together, which is the proper working of microcontroller board as well as the motors

Obstacle Avoidance Robot

Code - Obstacle Avoidance Robot

#define echo 5
#define trig 6
#define led 13
void setup()
{
pinMode(trig, OUTPUT);
pinMode(echo,INPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
Serial.begin(9600);
}
void loop()
{
long time,dist;
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig,HIGH);
delayMicroseconds(10);
digitalWrite(trig,LOW);
time = pulseIn(echo,HIGH);
dist = time/2/29.1;
Serial.println(dist);
delay(1000);
if (dist<100)
{
digitalWrite(1,LOW);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
}
else
{
digitalWrite(1,HIGH);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
}
}

Line Following Robot

Code - Line Following Robot

const int r1=1, r2=2, l1=3, l2=4;
const int LS = 6;
const int RS = 5;
int L,R;

void setup()

{

pinMode(LS, INPUT);
pinMode(RS, INPUT);
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(l1, OUTPUT);
pinMode(l2, OUTPUT);
digitalWrite(r2,LOW);
digitalWrite(l2,LOW);
}

void loop()

{

L = digitalRead(LS);
R = digitalRead(RS);
digitalWrite(r1, !R);
digitalWrite(l1, !L);
}

Joystick Robot

Code - Joystick Robot

char t;
const int r1=2,r2=3,l1=4,l2=5;

void setup() {
Serial.begin(9600);
pinMode(r1,OUTPUT);
pinMode(r2,OUTPUT);
pinMode(l1,OUTPUT);
pinMode(l2,OUTPUT);
}

void loop() {
if(Serial.available()){
t = Serial.read();
}

if(t == ‘F’){
digitalWrite(r1,HIGH);
digitalWrite(r2,LOW);
digitalWrite(l1,HIGH);
digitalWrite(l2,LOW);
}

else if(t == ‘B’){
digitalWrite(r1,LOW);
digitalWrite(r2,HIGH);
digitalWrite(l1,LOW);
digitalWrite(l2,HIGH);
}

else if(t == ‘L’){
digitalWrite(r1,HIGH);
digitalWrite(r2,LOW);
digitalWrite(l1,LOW);
digitalWrite(l2,HIGH);
delay(100);
t = ‘S’;
}

else if(t == ‘R’){
digitalWrite(r1,LOW);
digitalWrite(r2,HIGH);
digitalWrite(l1,HIGH);
digitalWrite(l2,LOW);
delay(100);
t = ‘S’;
}
}