HOMODRUINO®
The iHackRobot series represents a progression of intuitive machines (IM) that have developed over time. These IMs can be programmed to perform various tasks by integrating the knowledge you’ve gained from our previous projects. They can autonomously navigate within a confined space, or be controlled via your keyboard, a TV remote, ethernet, wifi, bluetooth, and other sensors such as light, sound, and line detectors.
Our past projects involving RGB LEDs, IR remote controls, the SR04 ultrasonic finder, the L239D motorshield, the HC-05 bluetooth module, and the Arduino R3 Uno board can all be amalgamated to construct this programmable entity, which I’ve named Homotronics®.
A more advanced task would be to develop a simple, modular sketch for its neurotronic brain that can control its movement range, a feature I’ve termed the SOUL (Spectrum Of Ultrarhythmic Locomotion). The sketch provided below serves as an excellent starting point for instilling SOUL into these robots.
/* ===============================================================
Project Homotronics: Homodruinos
Author: J. B. Wylzan with some help from the Arduino community
Website: http://www.ihackrobot.blogspot.com
Abstract: Introduction to a simple Homodruino ROM/SOUL Algorithm.
================================================================== */
#define LeftMotorForward 2
#define LeftMotorBackward 3
#define RightMotorForward 4
#define RightMotorBackward 5
//pwm 3,5,6,9,10,11
void setup() {
pinMode(LeftMotorForward, OUTPUT);
pinMode(LeftMotorBackward, OUTPUT);
pinMode(RightMotorForward, OUTPUT);
pinMode(RightMotorBackward, OUTPUT);
}
void loop()
{
go_forward();
delay(1000);
go_stop();
go_right();
delay(3000);
go_stop();
go_forward();
delay(1000);
go_stop();
go_left();
delay(3000);
go_stop();
go_forward();
delay(1000);
go_stop();
go_backward();
delay(3000);
go_stop();
}
delay(1000);
go_stop();
go_right();
delay(3000);
go_stop();
go_forward();
delay(1000);
go_stop();
go_left();
delay(3000);
go_stop();
go_forward();
delay(1000);
go_stop();
go_backward();
delay(3000);
go_stop();
}
{
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(LeftMotorForward, HIGH);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(RightMotorForward, HIGH);
}
void go_backward() //the robot moves backward
{
digitalWrite(LeftMotorForward, LOW);
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, HIGH);
}
void go_left() //the robot turns left
{
digitalWrite(LeftMotorForward, LOW);
digitalWrite(LeftMotorBackward, HIGH);
digitalWrite(RightMotorBackward, LOW);
digitalWrite(RightMotorForward, LOW);
}
void go_right() //the robot turns right
{
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, HIGH);
}
void stop() //the robot stops
{
digitalWrite(LeftMotorBackward, LOW);
digitalWrite(LeftMotorForward, LOW);
digitalWrite(RightMotorForward, LOW);
digitalWrite(RightMotorBackward, LOW);
}
/* ================================================================== */
Evolution of Homotronics®:
Homodruino V.1 |
Homodruino V.2 |
Homodruino V.3 |
Homotronics V.4BiNG - The First Homodruino Robot |
Disclaimer: We shall not be liable for any loss or damage of whatever nature - direct, indirect, consequential, or otherwise - which may arise as a result of your use of any information on this website. However, if you are interested in using any of the projects for personal or educational purposes, please inform the author by email.
==================================================================
A L.A.W.S.I.N. Educational Production©
No comments:
Post a Comment