HC-RS04 NewPing Class


sonar non blocking sonar

Just finished writing a small C++ class to work with multiple HC-RS04 sonar transducers with a non-blocking way with the NewPing Library.
In this exact code I connected two sensors, but you can add as many as you like.

To add new sonars, just create a new instance of it adding the echo and trigger pins.

Sonar sonar1(2,3);

Here is an example with some NeoPixels, just for fun:

Cheers!

Quickly sharing 360 pictures

Last black friday I got a LG 360 Cam, a good cost-quality 360 camera. The only problem I am having with the camera is that there isn’t a good solution to where I can share the pictures (if you have a good solution, please share!). Google has released a VrView script that makes it much easier to embed 360 pictures on websites, but you still need to edit some html code.

I decided to make a super simple website that renders pictures uploaded to imgur (saving some space and bandwidth on my server) that anyone can use to easily share 360 pictures with family and friends.

After understanding how the Googles VrVire works, I could transform this:

Into this:

To share the 360 pictures, you need to upload them to www.imgur.com and get the picture-id. For example, the picture above is located at http://imgur.com/up6aRXr where up6aRXr is the picture-id. With the id in hands, you can share this url:

http://www.danielandrade.net/360/PHOTO-ID

for the past example:

http://www.danielandrade.net/360/up6aRXr

The website should open with the image showing in full-page, and same URL you can share on Whatsapp or anywhere else (it is mobile friendly!)

Maybe in a near future I will improve it, making it easier to share from within the phone and also creating galleries, what do you think? Ideas?

Cheers! 🙂

NeoPixel 24 & HC-RS04 Sonar Support


sonar neopixel 01

I am currently working on a project that involve using a HC-SR04 Sonar sensor to control the lights of a Adafruit NeoPixel 24 Leds Ring. Yesterday I quickly designed a 3D model with DesignSpark Mechanical that I am using to center the sensor inside the led ring. I have also added a few spaces where the cable can pass though without disturbing the flat surface.

You can download it from GitHub, and there will probably be updates on the design in a near future.

What do you think?

Check this cool 3D preview by GitHub:

Continue reading

Altium Tip: Smooth edges with Teardrops

Teardrops is a really nice feature present in Altium, where it analyzes all the traces and try to smoothen the edges of the connections. Most users don’t know that this feature exists, and even if doesn’t add a major change on the design it can certainly improve the quality of your project, especially if you are working on high-speed or high-power electronics.

altium teardrops

To access the menu, while editing your PCB, go to Tools >> Teardrops… (or simply press t + e).

Bellow you can check a random PCB design with and without Teardrops:

altium teardrops before

altium teardrops after

Interfacing two Adafruit MMA8451 via I2C

This week I had to interface two accelerometers (adafruit MMA8451 breakout boards) into one Arduino board.

On Adafruits website, they write that you can address the sensors with 0x1C by adding a pull-down resistor on the “A” pin, or 0x1D by connecting the
“3Vo” to a 3V3 source. What they don’t tell is how to use them both at the same time, which gets clear once you take a look at the Adafruit_MMA8451 class within the library file Adafruit_MMA8451.h.

bool begin(uint8_t addr = MMA8451_DEFAULT_ADDRESS);

metronome

Here you have a simple code based on the library example, but adding the two sensors:

Talk nerdy to me! Where I get my electronics updates and news

Ever wondered where is a good place to find new and interesting chips on the market? Questions about electronics and what is happening in the market?

For the engineers and makers out there, the world of electronics can be a bit overwhelmed with so much happening all the time, updates, news and buyouts (specially in the past few months).

I would to use this post to share some of my favorite places to get new chip information, updates and random electronics questions.

Newsletters

Podcasts

IRC

Do you remember IRC? Yes, it’s still alive and strong. Just connect to the Freenode network and you will find many very interesting channels where you can talk electronics, exchange information and ask questions! If you are there, drop a line to spillere (me!).

  • #electronics on Freenode
  • #avr on Freenode
  • #arduino on Freenode

Forum

Other

  • Fedevel Academy – Learn awesome PCB designing skills
  • /r/nicechips – Reddit, a great place on the internet where people share their findings in the electronic chips market. Really really good!!

This list is still a working in progress. If you have any suggestions please add a comment bellow!

Opening a popup ninja from php

Checking the documentation from popup ninja plugin on how to open the popup from a link, the only available option is how to open from a blog post. But if you want to add the link in your website using php, you need to use the wordpress function do_shortcode. The documentation doesn’t show how to add a do_shortcode with content between the tags.

To open the popup with php, simply get the popup ID and use the code bellow. Just remember to change the text for your desired one.

< ?php echo do_shortcode( '[ninja-popup ID=1234]'.'text to open popup'.'[/ninja-popup]' ); ?>