Mats's blog

Using a phone for sound input

Mats's picture

Hi

A very nice way to use MRL from the phone is to use the webgui. But you must have access to a WiFi network for this to work. ( Not really. But you must be able to reach the host where MRL is running from your phone, could be anywhere in the world ).

1. Make sure that your instance of MRL running with the WebSpeechRecognition and the WebGui started. For example you can use this script. It starts a chatbot. with sound input and output. You don't need any servos or anything else to make this work So you can try it without any extra hardware: 


Using RemoteAdapter to connect two MRL instances

Mats's picture

Hi

Today I continued testing RemoteAdapter to be able to connect two MRL instances executing on the two Rapberry PI computers that I have. 

 


Uploading MRLComm to the Arduino

Mats's picture

A short video showing how to upload MRLComm.ino to the Arduino using the Arduino IDE.

It is also possible to upload it using the WebGui, but I prefer to do it this way, since it's easier to understand what's happening.


A little video that explains about i2c and the different devices that can be used in MRL

Mats's picture

I have been working on adding support for i2c to MyRobotLab during the spring and a bit of the summer.

So what is i2c ?

It's a very simple 2 wire addressable serial protocol. So you can, in theory, connect up to 126 different devices on the same 2 wires. You can find many different devices that use the i2c protocol. For example servodrivers, ad converters, gyro accelerometers, power measuring devices, LCD and OLED screens, temperature measuring devices, real time clocks and so on.


i2c interface and Arduino

Mats's picture

Hi

We had a lot of fun yesterday working together on MRLComm and Arduino. Four people ( Grog, kwatters, camality and me ) working on the same sourcecode, discussing different options and ways to make the software better and add some more functionallity.

Sometimes we think in different ways, and sometimes its difficult to explain in a short shoutbox. So creating a post to describe something that is a bit larger is necessary. So thats what I'm doing now to explain the way I think about the i2c interface and the device drivers. Any comments are welcome. 


Software reset in Arduino

Mats's picture

 

To avoid runaway tasks in MRLComm if MRL is closed, this code could be exected when MRLComm detects that the contact with MRL has been lost.

void(* resetFunc) (void) = 0;  // Define the reset function at address 0

resetFunc();  // Call the reset 
 
It will then end up in the initial setup() and reinitiate. So all pins will be reste to their initial state and the communicaiton will go into it's initial state.
 
 

Installing MyRobotLab on Raspberry Pi

Mats's picture

Hi

I have seen in the InMoov forum that a few people are starting to use MyRobotLab in Raspberry PI, so I will share what steps I went thru. I'm not going to rewrite guides that already exists, but I will link to the instructions that I have used.

The first step is to get an operating system installed on the Pi. I installed the latest ( Jessie ) Raspbian using this giude: https://www.raspberrypi.org/downloads/raspbian/


Adafruit 16-Channel Servo Driver connected to the Raspberry PI i2c port

Mats's picture

A small video showing the progress with creating a generic i2c interface. Yesterday I created a smalla Java program to test using the i2c interface directly on the Raspbery PI GPOI pins without using the Arduino.

I downloaded latest release of Pi4j and used BlueJ IDE to create the Java test program.

BjueJ has a much smaller footprint than Eclipse or NetBeans and it works well for creating small testprograms and small projects on the PI.