Google Cardboard

OLYMPUS DIGITAL CAMERA Cardboard cardboard

I recently purchased a Google Cardboard even-though my expectations for this little cardboard gadget were far from high. But to my amazement my pre-perceived ideas turned out to be completely wrong.

The item ships as a flat cardboard envelope, which you simply open, tear off some indicated bits and then fold as instructed to form the headset (I did have to use a bit of tape to get it to hold together). There are 2 lenses, 2 strips of Velcro and some magnets already fitted on the cardboard, so very little assembly is actually required.

After the headset is folded your phone can be placed into the front of the headset, which then acts as the screen.

Cardboardcardboard2

The Google Cardboard utilises the phone to run its apps as well as utilising its accelerometers and gyroscopes for head tracking.

Various apps are available that utilises the headset on the Google Play Store and even on the Apple App Store. I used my iPhone with the headset and it worked perfectly except for the slide magnet button that can be utilised with Android phones on the side of the headset, which did nothing with the iPhone.

Just note that although the Apple App Store has very little in the line of Google Cardboard specific apps, all FIBRUM VR apps work perfectly with the Cardboard headset.

The headset provides a true stereoscopic 3D effect, which is amazing given that it is simply a piece of cardboard with 2 lenses. Additionally the head tracking is truly surprising! And is far more accurate than I could have ever expected.

The best apps that I tried using my iPhone were:

  • Sisters (this is a first person horror experience)
  • War Of Words (this is a graphic representation of Siegfried Sassoon poem “The Kiss” based in World War 1)
  • FIBRUM Crazy Swing VR (A VR Swing-chair theme park ride)
  • FIBRUM Roller Coaster VR (A VR Roller Coaster)

For the price Google Cardboard is truly remarkable and is the cheapest way to experience stereoscopic 3D at your home.

I highly recommend picking up a Google Cardboard, there are very few things that can provide so much entertainment for such a small price.

Google Cardboard

Transistor Crash Course

Transistors
Today we will run through a brief overview of the two main variations of transistors commonly used in circuits, NPN and PNP transistors.

It is critical to understand the basic functioning of these transistors to understand any circuit of moderate complexity.

The first thing to note is that the basic function of transistors is to control the flow of current through a circuit.

Both the NPN and PNP transistors have 3 leads or legs, the Base, Emitter and Collector. The main difference between NPN and PNP transistors is how they control the flow of current.

If we imagine the current flowing through a circuit being water flowing through a pipe, a transistor would act like a faucet or tap. It can control the water going through it by opening or closing its valve.

And this is where the NPN and PNP transistors differ. A NPN transistor is closed by default, not allowing current to flow from its Emitter leg to its Collector leg, and will only allow current through when it is “opened” by applying a small amount of current to its Base leg, whereas the PNP transistor is open by default, allowing current to flow from its Emitter leg to its Collector leg, and applying current to its Base leg “closes” it thus stopping the flow of current between the Emitter and Collector.

Below are the schematic symbols for the 2 transistors:

Transistors

Where the numbers represent:

1 – Base
2 – Emitter
3 – Collector

On an unrelated topic, I use open source software called Fritzing for all my electronic schematics and drawings. It is a great piece of software and can be downloaded from www.fritzing.org.

Transistor Crash Course

Boards, Boards Everywhere

Currently there are numerous Arduino and Arduino compatible boards available, this post will do a quick comparison between 3 of these boards (Arduino UNO R3, Arduino Mega R3 and the Beetle which is a shrunk down version of the Arduino Leonardo) and then also a quick comparison between Arduino and Raspberry Pi Board Families.

The below picture illustrates the size difference between the Arduino boards:

Arduino Board Comparison

Here is a basic breakdown of the specifications of the three boards:

Specification UNO R3 MEGA R3 Beetle
Processor ATmega328P ATmega2560 Atmega32U4
Frequency 16 MHz 16 MHz 16 MHz
Dimensions 68.6 mm × 53.3 mm 101.6 mm × 53.3 mm 20mm X 22mm
Manufacturer Arduino Arduino DFRobot
Flash Memory 32kB 256kB 32kB
SRAM 2kB 8kB 2.5kB
Digital I/O Pins 14 54 3
Analog Pins 6 16 3

The Arduino UNO is a good starting point for anyone interested in beginning some Arduino builds, it is a good all round board for most projects and the only real constraint that I have ever run into with this board is running out of digital I/O and Analog input pins for larger projects.

The Arduino Mega overcomes this problem by offering more than double the pins. From a development and ease of use point of view it is almost identical to the UNO.

The Beetle has the least amount of pins exposed, 6 in total, 3 digital and 3 analog, so this can be a serious constraint on the nature of project it can be used for. On the other hand its tiny size makes it possible to use this board in projects where physical size is a constraint (Such as the Insect bot I posted about in an earlier post).   

Now lets look at the Raspberry Pi (Raspberry Pi 2 B to be precise) in comparison to the Arduino boards. Below are 2 Pictures showing its size in comparison to the Arduino UNO and Mega.

Pi and Mega Pi and Mega

Here is a basic specification breakdown for the Raspberry Pi (Raspberry 2 B):

Specification Raspberry Pi 2 B
Processor Cortex-A7
Frequency 900 MHz quad-core
Dimensions 85.60 mm × 56.5 mm
Manufacturer Raspberry Pi Foundation
Flash Memory MicroSD slot
SDRAM 1GB

So, which should you use? Arduino or Raspberry Pi? The answer is… It depends. Both boards have their strong and weak points. Let us look at some key distinguishing points between the two board families:

  • Price
    • The Arduino boards tend to cost a lot less than Raspberry Pi boards.
  • Memory
    • Raspberry Pi Boards have vastly more memory.
  • Processing Power
    • Raspberry Pi Boards again win this one by a huge margin.
  • Ease of Hardware interfacing
    • Arduino Boards make direct hardware interfaces with sensors and actuators much easier.
  • Online community
    • Both have a strong and thriving online community for help and support.
  • Development
    • Arduino is C only using the free Arduino IDE where as the Raspberry Pi has a variety of development options, including Python, Java, C, C++.

The Arduino makes hardware interfacing with sensors and actuators a great deal easier. However the Raspberry Pi offers vastly more memory and processing power. So which one to use depends very much on your projects’ requirements.

To put it simply there is no right or wrong choice, use what works for you or simply what you want to use.

This does however not mean that you cannot use both on a single project by setting up serial communication between the 2 boards. I am currently busy doing this on a project (see The Geek under the THE KILLER ROBOTICS FAMILY SO FAR! post).

Boards, Boards Everywhere

Bite size SQL

I have a few SQL scripts that I tend to reuse quite often. I will post one or two of these scripts from time to time. Just note that <TABLE>, <COLUMN>, <CONDITION>, <UNIQUE IDENTIFIER COLUMN>, etc. are place holders and must be replaced with a table name, column name and so forth as required.

Insert auto incrementing numbers into a table:

DECLARE @VAL INT;
SET @VAL = 0;
UPDATE <TABLE>
SET @VAL = <COLUMN> = @VAL + 1
WHERE <CONDITION>;

Remove duplicate rows from a table:

DELETE FROM <TABLE>
WHERE <UNIQUE IDENTIFIER COLUMN> NOT IN
(
SELECT MAX (<UNIQUE IDENTIFIER COLUMN>)
FROM <TABLE>
GROUP BY <DUPLICATE COLUMN 1>,<DUPLICATE COLUMN 2>,<DUPLICATE COLUMN n>
)

Bite size SQL

The Killer Robotics Family So Far!

This Killer Robotics Family currently consists of 2 complete robots and 1 work in progress.

First we have the Autonomous Roaming Robot:

Autonomous Roaming Robot

This robot was built on a Sparkfun Magician Chassis and uses a Arduino Uno R3 with a Pololu MC33926 dual motor controller, a HC-SR04 Ultra Sound Distance Sensor (On a micro servo for neck movement), a Sharp IR distance sensor to detect drops, and 2 trigger switches to detect direct contacts with objects. This robot autonomously roams avoiding objects and drops. I will provide a full breakdown on how this robot was constructed as well as the source code running on the Arduino in a future post.

Secondly we have the Insect bot:

Insectbot

This Robot was based on an Instructable article posted by Lumi3005 (http://www.instructables.com/id/Insect-Bot-mini/). It is based on a Beetle board (basically a shrunk down Arduino Leonardo) with 2 micro servos and a IR distance sensor. This robot walks around avoiding obstacles. I will be posting a review and build step-by-step guide for the DFRobot kit of this robot in the near future.

box

And Lastly we have The Geek:

robot7

This robot is still a work in progress and is by far the most ambitious robot that I have under taken. It utilises 16 Servos, will utilise 3 ultrasound distance sensors and 2 infrared distance sensors, 2 cameras (a Arduino Camera and a Logitech web cam) and will be powered by a combination of an Arduino Mega R3 and a Raspberry Pi 2. Many posts revolving around this robot, such as progress, lessons learnt and build instructions will follow in the future.

The Killer Robotics Family So Far!

Hello world!

Hello World! Welcome to this new Blog dedicated to all things Robotics, Electronics, Artificial Intelligence, Programming, Gadgets and all such things!

I will focus on posting How To’s, Step by Step guides, Reviews and so forth on a variety of topics (As mentioned above). For the first few posts I will focus on Robots that I have either completed building already or that I am in the process of building, as well as some basic electronics needed to start anyone off on their own robot building adventure.

I think it is worthwhile to mention that my main focus is on autonomous robots and not human controlled robots, as seen on most robotics competitions where the robot is controller via a RC remote by a  human operator. This means that there is also a great deal of focus on the development of the artificial intelligence utilised by the robots, this can range from simple obstacle avoidance or drop detection to vastly more complex behaviours.

So if any of the above mentioned peaks your interest, stick around and maybe you might learn something, or start building robots of your own.

Hello world!