Thursday, January 2, 2020

Elegoo Robot Mini Car - a review



Intro

Elegoo Industries contacted me and asked me if they should send me one of their toy-robots and I could do a review of it. I agreed under the condition, that I would do an honest review. They agreed and sent me the Elegoo Robot Mini car.

The Assembly

The car comes with a detailed assembly instruction printed on a huge piece of paper. But since it's marked as suitable for children, it should be possible for me to put those pieces together without it. And with a little trial and error, I could assemble the car within half an hour without reading the instructions. After that I checked, if I missed something out. I forgot the screws for the battery holder. Other than that - the assembly was quite self explanatory.

The Hardware

Well the complete chassis is made of plywood. With the controversy of the excessive waste through plastic, it's a good alternative. It really fells good and looks nice.
It has an Arduino Nano as controller, a Bluetooth adapter, light and distance sensor, a piezo speaker, three Neopixels, two geared motors, a motor driver and a Li-Io battery pack. So could start playing with it, without buying additional components. It has also a cable and pin-headers you can put on the roof of the car. So you could add additional sensors or LEDs to the car without opening it up again.

The Software

A preset of several functionalities are already uploaded to the controller of the Elegoo car. It has a line-following mode, an obstacle avoidance mode, a following mode and can be controlled with an app, that you have to install on your smartphone or tablet. So it should be playable right out of the box. You can download the complete source code for the robot from the Elegoo Website. That has the advantage that you don't have to reinvent the wheel. You can add functionalities or modify the existing ones.
The line following mode didn't work as expected. The avoidance mode works, but still can be improved.

The App

For remote controlling the robot, I downloaded the App from the PlayStore. Unfortunately I could not connect to the car. I've tried two different Smartphones and a tablet. None of them wanted to be connected to the car. So I can't really tell how good or bad the App is.

Video




Images




In short

What I like

I like, that you can download the car's software and chassis. So you can customize the car as you like. But you don't get a naked construction kit. So even when you are new to the robot building topic, you'll get something you can work with. It already has some functionality. You can see how other solve problems. I would recommend this robot over construction kits, where you get all the parts and have to develop software and logic for yourself.

What I don't like

If the preinstalled software promises several functionalities, I would have expected them to work somehow. The line-following mode didn't work at all (see video). And I couldn't use the app because the car won't pair with my phone.

All in all, I think if you want to build and program your first robot, you should go for the Elegoo Robot Mini Car. The 35 € are good invested.



Links

Elegoo
Elegoo Website
Elegoo Downloads
Elegoo Robot Mini Car

Amazon
Elegoo Robot Mini Car (20% off with discount code: NENIOC20 - valid till 10.01.2020)
Neopixels
Servo


Monday, March 25, 2019

The IoT TeaMaker



Intro

A wave of flu hit my hometown. And I wasn't spared. So my drink of choice for about three weeks was tea. I remembered how I saw a video, years ago, where someone used an Arduino Uno and a servo to dip a teabag into a cup. Well, it shouldn't be so hard to make a similar project with an ESP8266, should it?

Materials

Well, since I felt too sick to go outside, I took, what I've found in the basement. I still got some SG90 servos. And for the stand I used some angle brackets, which I fixed with some zip ties. As an arm for the servo, I found some plastic tongue depressors.


Setup

Quite simple. You can use the same 5V input for powering the servo and the NodeMcu. All you need is to select a digital pin for the servo. Any pin will do, since every digital pin on the NodeMcu has PWM capability.

Video



Maker Faire

The IoT TeaMaker was first featured at the Maker Faire Ruhr 2019 in Dortmund, Germany. Everyone could see the TeaMaker in action and try it for themselves.

Links

Amazon

SG90 Servo
Tongue depressor
NodeMcu
Angle Brackets
Junction box

Source code

Source code @ Bitbucket

Monday, February 11, 2019

The Magic Hat




Intro

AVNET invited me to the "electronica 2018" in Munich to hold a speech about IoT and Neopixels. So I thought, wouldn't it be great if I could finish my speech with presenting a functional project on stage by controlling Neopixels with a smartphone. Something with a practical, everyday use in home automation? .... Yeah, I got it! A hat! Home automation at it's finest .. somehow.

Setup


Quite easy. We just need a pin for the Neopixels. Although the WeMos and the Neopixels are working with 5Volts, they can be both be powered by a 3.7V LiPo battery for a short period. To wrap the stipe around the hat once, I needed a total of 19 Neopixels (with a specification of 60 LEDs / meter).

Video





Modes

Off (0)

All LEDs are turned off

On (1)

All LEDs are on

Random (2) *

Colors changes randomly

Kight Rider (3)

K.I.T.T mode. Like in the TV series.

Blue Light (4)

Like a blue light of a fire truck

Driver (5) *

White on the front, red on the back

Blinky (6)

Makes the LEDs blink

* Mode doesn't use the selected color

Links

Sourcecode

Code @ Bitbucket

Part list

WeMos - https://amzn.to/2HD7sQE
Neopixels 60/m - https://amzn.to/2Tk516T
Fedora - https://amzn.to/2Ur18gV
LiPo 1200mAh - https://amzn.to/2UoLToK

Wednesday, December 12, 2018

Fingerprint Sensor with an Arduino or an ESP



Intro

There are different bio metric sensors on the market. They are commonly used to access a private area. Let it be a door, a safe or the privacy of your smartphone. The most known is the fingerprint sensor. A commercial bio metric sensor costs quite a fortune. But there is a cheap alternative for the Maker community. A fingerprint sensor for around 20€.
But how to save and identify a fingerprint with an Arduino? Well, you don't need to. The sensor does all the work. You only have to tell the sensor what to do.




Wiring


If you're lucky, you'll get a color coded connection cable. If you aren't, you will get one where at least the GND line is marked. It should be in one of the corners of the cable. From there you can find the rest. The order would be: GND - RX - TX - 5V. And two pins without a connection.
 You have to connect GND to GND, VCC to 5V, TX to RX and RX to TX. But if you want to use the serial monitor to watch your results, you shouldn't use the Rx and Tx on the Arduino side, because it will conflict with the USB-port. You can use the Software Serial library and use pin 2 and 3.

The sensor, I received, was only 5V compatible. So if you want to use it with a NodeMcu or any other ESP, you have to add +5V to power the sensor.

Programming


There is no need to reinvent the wheel. If you search for "fingerprint" in the library manager of your Arduino IDE, you'll probably find two libraries. I used the one from Adafruit. It's equipped with examples for a quick start.
With the example sketch "enroll", you can start saving fingerprints to the sensor.
To test it, use the sketch "fingerprint". You'll get the found ID in the internal database of the sensor and the probability for a positive match. With that, you have all you'll need to build your own access control.

Video



Links


Amazon

Fingerprint Sensor
Arduino Uno

Banggood


Fingerprint Recognition Module --  https://goo.gl/QLYiBi
Wholesale Arduino Compatible SCM --  https://goo.gl/JxgyVQ
More Electronics (EU Warehouse) --  https://goo.gl/daHhVE

5% off Industrial & Scientific New Arrivals -- https://goo.gl/ccsqgu  (code: ab9275)

Thursday, September 6, 2018

KatLight - the wonderlamp



Into

For a very special woman, I needed a very special and unique present. Something really cool. How about a NeoPixel lamp, that can be controlled with a smartphone.
And why not adding some really funky features? Like turning the lamp on/off by the wave of your hand. And some nice animations. How about transmitting the temperature and humidity to your phone. And why not adding a scheduled sunrise, like the one from the sunrise simulator project? Too much? We'll see!

The Build


First of all I need a housing. I decided to use two old CD spindle boxes with different heights. The bigger one will house the Neopixels, the smaller one all the electronics. To make a little glow effect, I wanted to make the transparent plastic look like frosted glass. You can achieve it, by 'polishing' it on the inside with sandpaper. To mount the Nepixels I used a pump spray bottle, that I've cut into length. A lot of hot glue, some holes for the wires and it's a piece of cake.

Video

 

 

Problems

Problem 1: APDS 9960

As soon as the APDS 9960 gesture sensor starts working it blocks the processing of the microcontroller as it tries to check for a gesture. This leads to the stage that the animations stopped working smoothly.
So I outsourced the gesture readings to an Arduino Nano. It communicates with the NodeMcu via three digital pins. I made my own small 'protocol'. By setting the pins to HIGH/LOW I can transmit eight different sensor states.

Problem 2: BME 280

The temperature sensor doesn't want to initialize with the begin()-function of the library.
I uploaded a I2C-scanner and checked for the I2C address. I searched the library of the sensor and find a method where you can define the address. With the call of begin(0x76, &Wire) the BME sensor just worked fine.


Wiring

Does it look a little complicated? Maybe. But it's quite easy. Everything needs power, corresponding to it's specifications. The sensors can be powered by the voltage pins of the microcontrollers. The Neopixels need more current, as the controllers can provide, so it needs to be powered directly by the power supply. The APDS-9960 sensor is connected via I2C to the Nano. So it has to be pin A4 (SDA) and A5 (SCL). On the NodeMcu it doesn't matter which two pins we use, since nearly every two pins can be configured to act as I2C.

Features

The lamp communicates via the MQTT protocol. I've put in a small Raspberry Pi Zero W, that acts as a MQTT broker. The Arduino Nano handles the gesture sensor and sends a signal to the NodeMcu to turn on/off all Neopixels. The NodeMcu has access to the BME280 sensor and publishes the temperature and the humidity to the MQTT broker. You can switch modes between On/Off and several animations. For nearly all functions (except the sunrise alarm and the disco light) you can set the desired RGB color.
The NodeMcu syncs time with a NTP server. So you can set a time when to start the sunrise-mode.


Modes

Off (0)

Well, every NeoPixel is turned off. The Lamp still reacts to the gesture sensor

On (1)

Sets all NeoPixels to the desired color.

Animation (2)

Sets the color of the stripe one pixel at a time, starting from the bottom, rising to the top.

Blue Light (3)

A rotating light. Like the one the firefighter or the police use it. But in any color you want.

Fire Simulation (4)

Random flicker, that starts at the bottom, rises and falls randomly.

Sparkle (5)

Turns on all LEDs at the desired color. Adds randomly some white sparkles to the light.

Blink (6)

Remember the classical blink-sketch? Now with a hole lamp and the color you like.

Sunrise Alarm (7)

You set the hour and minute where the alarm starts and it simulates a sunrise (like in the sunrise simulator project).

Disco Lights (8)

Randomly sets up to 4 LEDs to a random color.


FAQ

Why using three boards, when one can do the trick?
Raspberry Pi Zero W - Well this is not really part of this project. But I wanted a MQTT broker for the ESP. And for upcoming projects. So why not put it in the lamp? Where I have the place and already the needed power line?

ESP 8266 - The heart of this project. Why not an ESP32? Cos' I don't have one

Arduino Nano - I had a small delay with the library controlling the APDS 9960 gesture sensor. I could have used a ESP32, but I don't have one. I could programmed it on the Pi, but I didn't want to. It increases the cost by about 3.50 € and I found a simple way to transmit simple data. So, who cares?!
Everything fits in the CD case on the lower section. And the more boards you can see there, the cooler it looks. And I like the way it looks.

Parts list

NodeMcu
Neopixels 60/m
APDS 9960 Gesture sensor
BME 280
Arduino Nano
Raspberry Pi Zero W

Source Code

KatLight at bitbucket

Monday, July 9, 2018

Sunrise Simulator


Intro

For an event, I needed something special. How about a simulated sunrise. And it would be nice, if I could be able to remote control it and put it anywhere in the room. And of course it should be low cost. So the magic words for this are: NodeMCU, Neopixels, LiPo battery and a MQTT broker.


Wiring


Nothing fancy here. The battery is connected to GND and the 3.3 Volts on the NodeMcu and also on GND and the 5 Volt input of the Neopixel stripe. Yes, we power a 5V Neopixel stripe with a 3.7V battery. When fully charged, it will work for some time. The Neopixel stripe mustn't be too long. I used just five pixels, and it works fine.


Video




 

Algorithm


Sunrise



To simulate the sunrise, I'm setting one color at a time. So I divided the given time in three equal parts (one for each color). Within the first third of the time span, I raise the color value of the red LED from 0 to 255. Then I start with the green color. Blue at last. When all three colors are at max, you'll get a white glowing LED stripe.

ToDo

I want to add a sunset algorithm and a full cycle of a sunrise, sunshine and a sunset. Just check the Git repository from time to time.

Links

Git repository

https://bitbucket.org/Remnis/sunrise-simulator/src/master/

Amazon

NodeMCU
Neopixels 60 LEDs/m
Electrical box
LiPo battery





Saturday, June 2, 2018

Talk, little buddy, talk!



Intro

In the beginning of 2018, I've discovered a Kickstarter project, called "The Little Buddy Talker". It's a small chip on a breakout board with 254 short voice messages and a 3.5mm audio jack.


Connection

The Little Buddy Talker is connected via SPI to the Arduino. And since TLBT is mounted on a breakoutboard with pins on the bottom, you can easily put it on a breadboard for wiring.

The Sound Chip

The chip on the board is the aP23682. It's a voice IC with the capability of recording up to 682sec voice in a 16bit quality. With this chip, you could probably make your own buddy talker. All you need are the voice samples.

Video


What could have been better?

Since the buddy talker is connected via SPI, it would be usefull, if it had the standard SPI connector matching to the one on the Arduino Uno, Mega or Nano.
The buddy talker doesn't give any feedback, that indicates when a sound file has finished.


Links

Kickstarter Project: "The Little Buddy Talker"

Amazon
Arduino Uno
Jumper Wire
Breadboard-Set
Audio cable