Sunday, March 20, 2016

Two Desk Lamps controlled by Chronos Watch

How to set up appliances that can be controlled by a watch with Arduino:
by J.B. Wylzan



The Red and Green LEDS represent house appliances
or your Car ignition system

Hardware:
2 Relay Module
2 Leds (your appliances)
2 resistors
connecting wires
breadboard
Arduino R3 UNO board



Block Diagram:

NOTE: The RGB Led represents house appliances





ARDUINO SKETCH:

/* ===============================================================
      Project: Relay controlled by a watch
      Author: J. B. Wylzan with some help from Texas Instrument
      Website: http://www.ihackrobot.blogspot.com
      Abstract: Control any appliances via a chronos watch.
================================================================== */

HINT: The codes can be found on some of our projects here. However, Codes 
were intentionally NOT POSTED due to the electrical risk that you might 
encounter.

However, I will give you the PROCEDURE how to make it:
1. Initialize your Led1(red) and Led2(green)
2. Activate your serial communication
3. Do an if-Else statement on your Loop()
4. If 1 red Led is turned ON
5. If 2 green Led is turned ON
6. Else if 3 both leds are turned OFF
7. Upload program
8. Open Serial Monitor
9. Type 1,2, or 3 to turn On and Off the Leds
10. Activate your Chronos Control Center (project 30).



DANGER:
Make sure to ask for professional advice when you are using any
appliances rated 220V or 120V. Unplug any electrical supplies
when working on your projects. Wrong handling of such may cause 
electric shock, fire or worst death. BEWARE!


Controlling your bedroom desk lights
using a chronos watch




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. 

Public Domain Notice: Copyright (c) 2000. All rights reserved. This article is part of a book entitled iHackRobot. Copies are welcome to be shared or distributed publicly as long proper citations are observed. Please cite as follows: Biotronics: The Silver Species, Joey Lawsin, 1988, USA.

================================================================== 
The Homotronics® and Homodruinos® logos are registered trademarks.
Copyright Biotronics© Inc. iHackRobot®. All Rights Reserved.
Patent Pending. 2000 © ®

L.A.W.S.I.N. Educational Production
 ================================================================== 





Saturday, March 12, 2016

EZ430 Chronos Watch

How to build a Robot on an Arduino that can be controlled by a chronos watch:
by J.B. Wylzan












ARDUINO SKETCH:

/* ===============================================================
      Project: LED controlled by a watch
      Author: J. B. Wylzan with some help from Texas Instrument
      Website: http://www.ihackrobot.blogspot.com
      Abstract: Start a car ignition via a chronos watch.
================================================================== */

// This is a test sketch which start your wireless connection with your watch and arduino. 
// Press * to turn OFF or press ^  to turn On an LED using your chronos wrist watch.

const int w = 10;             
const int x = 9;  
const int y = 6;             
const int z = 5; 

void setup() { 
  Serial.begin(9600);                  
  
  pinMode(w, OUTPUT);  
  pinMode(x, OUTPUT); 
  pinMode(y, OUTPUT); 
  pinMode(z, OUTPUT);


void loop() { 
  if (Serial.available()>0) {             
    int data = Serial.read();               
    switch (data) {
case '1':                   // FWD 
    analogWrite(x, 0);        
    analogWrite(w, 1);
    analogWrite(z, 0);        
    analogWrite(y, 0);
    break;
case '2' :            // BCK
    analogWrite(x, 1);         
    analogWrite(w, 0);
    analogWrite(z, 0);        
    analogWrite(y, 0);
    break;
case '3' :                  // LFT 
    analogWrite(x, 0);        
    analogWrite(w, 0);   //255
    analogWrite(z, 0);        
    analogWrite(y, 1);
    break;
case '4' :                   // RHT 
    analogWrite(x, 0);        
    analogWrite(w, 0);
    analogWrite(z, 1);        
    analogWrite(y, 0);    //255
    break;
case '5':                   // STP
    analogWrite(x, 0);        
    analogWrite(w, 0);
    analogWrite(z, 0);        
    analogWrite(y, 0);
    break;
default : 
Serial.println("TYPE the correct NUMBER please");
break;

}
  }

}

*** Warning when using Bluetooth***
1. Remove the RX and TX cables when uploading the sketch.
2. Connect TX to RX and RX to TX.




Challenge:


Use this assembly to simulate starting a car's ignition


Source Code: http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slac341&fileType=zip

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. 

Public Domain Notice: Copyright (c) 2000. All rights reserved. This article is part of a book entitled iHackRobot. Copies are welcome to be shared or distributed publicly as long proper citations are observed. Please cite as follows: Biotronics: The Silver Species, Joey Lawsin, 1988, USA.

================================================================== 
The Homotronics® and Homodruinos® logos are registered trademarks.
Copyright Biotronics© Inc. iHackRobot®. All Rights Reserved.
Patent Pending. 2000 © ®

L.A.W.S.I.N. Educational Production
 ================================================================== 




Saturday, November 21, 2015

Homodruino: The Biped Robot


HOMODRUINO®

BING - The Talking Robot



BING is an experimental Biped Neurotronic Gnoric and the first prototype in my series of autonomous Homodruinos biped intuitive machines(IM). Currently, he is undergoing a series of trial-and-error modular programming procedures to calculate his walking motions using only four servos as his Degrees of Freedom (DoF). (For a well-designed autonomous robot, I would need at least 17 servos).

I am in the process of designing a structural compartment that will serve as his body and will accommodate the Arduino board, a 9v battery, and his sonic head. In the interim, I am using an office stamp for his body, rubber bands to secure everything together in one piece, and some fasteners for his legs.

I am also developing a simple sketch that includes voice implementation for you to enjoy. If you’re interested in further experimentation, you can use the sketch provided below as a starting point. Feel free to adjust the numbers and feel fascinated with the results. Enjoy the process of building and programming Bing!


Hardware:
5 microservos 
1 ultrasonic (eyes)
2 fasteners (feet and hips)
1 rubber stamp(body)
connecting wires
breadboard
Arduino R3 UNO board


Block Diagram:



Note: Same schematic. The only difference is you are adding 3 more servos. If you don't want to complicate matters, you may remove the RGB and push button circuitry.

ARDUINO SKETCH:

Code # 28:
/* ===============================================================
      Project 28: Homodruino: The Biped Robot
      Author: J. B. Wylzan with some help from the Arduino community
      Website: http://www.ihackrobot.blogspot.com
      Abstract: Build an autonomous Biped Robot.
================================================================== */

#include <Servo.h>

int x= 1000       ///change to 200 for dancing
Servo leftFoot;
Servo leftHip;
Servo rightHip;
Servo rightFoot;

void setup()
{
  leftFoot.attach(4);
  leftHip.attach(5);
  rightHip.attach(6);
  rightFoot.attach(7);
}

void loop()
{
  stop();
  forward();
}

void stop(){
  leftFoot.write(90);    
  leftHip.write(90);
  rightHip.write(90);
  rightFoot.write(90);
  delay(x);
}

void forward(){
 leftFoot.write(80);    
 rightFoot.write(70);  
 leftHip.write(90);    
 delay(x);
  rightHip.write(90);  
  leftFoot.write(70);    
  rightFoot.write(80);  
// delay(x);

}

/* ================================================================== */

Challenge: 
Create the robot with an ultrasonic sensor attached on its body.
Make Bing dance, march, walk sideways, jog and walk backward.

Actual Layout:



Procedure:
1. Build the prototype as shown above
2. Run the Arduino Interface
3. Select File > New
4. Copy Code #28 above
5. Paste Code #28
6. Click File > Save
7. Click Verify
8. Click Upload
9. Robot will move slowly forward or dance.





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. 

Public Domain Notice: Copyright (c) 2000. All rights reserved. This article is part of a book entitled iHackRobot. Copies are welcome to be shared or distributed publicly as long proper citations are observed. Please cite as follows: Biotronics: The Silver Species, Joey Lawsin, 1988, USA.


"The Last Human on Earth will no longer be Human." ~ Joey Lawsin
================================================================== 
The Homotronics® and Intuitive Machines® logos are registered trademarks.
Copyright Biotronics© Inc. iHackRobot®. All Rights Reserved.
Patent Pending. 2000 © ®

L.A.W.S.I.N. Educational Production
 ================================================================== 













Friday, November 20, 2015

Robot controlled by iPhone and iPad

How to build a Robot on an Arduino that can be controlled by an ipad or iphone:
by J.B. Wylzan

The Web Server

Robot controlled using an iPad

iPhone, iPad, Kindle controllers
Homodruino: an adruino robot



/* ===============================================================
      Project Homotronics: Robot controlled by an iPhone or iPad
      Author: J. B. Wylzan with some help from the Arduino community
      Website: http://www.ihackrobot.blogspot.com
      Abstract: Control a robot via a smart phone or smart tablet.

================================================================== */

Please try the Arduino SKETCH first below before using my iPad sketch:

/*
  Source: Arduino Website

 WiFi Web Server - a simple web server that shows the value of the analog input pins.
 using a WiFi shield. This example is written for a network using WPA encryption. For
 WEP or WPA, change the Wifi.begin() call accordingly.

 Circuit:
 * WiFi shield attached
 * Analog inputs attached to pins A0 through A5 (optional)

 created by dlf (Metodo2 srl)
 modified by Tom Igoe

 */

#include <SPI.h>
#include <WiFi.h>

char ssid[] = "yourNetwork";      // your network SSID (name)
char pass[] = "secretPassword";   // your network password
int keyIndex = 0;                 // your network key Index number (needed only for WEP)

int status = WL_IDLE_STATUS;

WiFiServer server(80);

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
  }

  String fv = WiFi.firmwareVersion();
  if ( fv != "1.1.0" )
    Serial.println("Please upgrade the firmware");

  // attempt to connect to Wifi network:
  while ( status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid, pass);

    // wait 10 seconds for connection:
    delay(10000);
  }
  server.begin();
  // you're connected now, so print out the status:
  printWifiStatus();
}

void loop() {
  // listen for incoming clients
  WiFiClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("<br />");
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);

    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
}

void printWifiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

/* ================================================================== */

Challenge:
Instead of the iPad, use your iPhone or Kindle tablet  to control the 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. 

Public Domain Notice: Copyright (c) 2000. All rights reserved. This article is part of a book entitled iHackRobot. Copies are welcome to be shared or distributed publicly as long proper citations are observed. Please cite as follows: Biotronics: The Silver Species, Joey Lawsin, 1988, USA.

================================================================== 
The Homotronics® and Homodruinos® logos are registered trademarks.
Copyright Biotronics© Inc. iHackRobot®. All Rights Reserved.
Patent Pending. 2000 © ®

L.A.W.S.I.N. Educational Production
 ==================================================================