Automatic Number Plate Recognition (Python)

0


It’s been a while since I last coded in Python. Gotta give Python the love it deserves!

Here’sĀ a quick demo of automatic number plate recognition of vehicle plates from a video stream using OpenALPR in Python

Source Code

I’m surprised at the speed difference I obtained using OpenALPR in Python vs VB.NET, maybe I need to review my VB.NET code šŸ˜Ā  Silly me! I forgot that I had intentionally used timers to slow down the results in VB.NET

Also I feel adding motion detection might be a nice feature and would prevent the results from flooding at the output.

Automatic Number Plate Recognition (VB.NET)

0


I wanted to design something capable of Automatic Number Plate Recognition, but soon realised it’s quite a tedious task, so began searching for an SDK or API. I found a bunch of commercial ones, but all I wanted was something to play with.Ā Thank goodness for open source software, IĀ found a neat library called OpenALPR. So, decided to give it a shot.

OpenALPR provides bindings in C#, Python, Node.js, Go, and Java. I’m mostly familiar with VB.NET, so I sat down to convert their C# example and designed something simple as aĀ test. In the initial version, I allowed the user to browse for an image file which isĀ fed to OpenALPR. If OpenALPR successfully findsĀ a plate, the results are then displayed in a listbox. It also gives the regions in the image where the plate is detected. What’s cool is, it could even detect multiple plates in an image, even in dark images. Continue reading

Pepsi Bottle RC Boat

4

My initial attempts at building an RC boat were a disaster. The first one I built used 433MHz RFĀ modules that somehow worked properly only on land. The moment I placed the boat in the water, the electronics would go crazy (probably due to EM noise) and I had to dive in to save the boat. So I decided my next one would use 2.4GHz RF modules, and this post here is about my successful attempt šŸ˜€

I used a 2 liter Pepsi bottle as the boat hull.Ā For the RF link, I used nRF24L01+ RF modules , and the friendly Arduino as the boats brains.

boat_rx_electronics

Continue reading

Messy-UNO

0

messy_uno

 

This time I went about building my own low costĀ Arduino clone. To make sure that my design was consistent with arduino boards, I used Sparkfuns RedBoard design as a reference.

At first I wanted to attemptĀ a single layer layout. As you can see, I ended up using lots of jumpers šŸ˜¦ Also,Ā  I customized the board to use SOT223 packages for theĀ voltage regulators (bottom layer). I had to use male header pins for the IO’s as my component stash was void of female headers.

Downloads: Eagle Schematic and Layout

Details:

The boardĀ makes use of an atmega328 with an UNO bootloader. You can either purchase a bootloaded chip orĀ load the bootloader using a programmer. Here’s a list of sites that sell a pre-bootloaded Atmega328: Continue reading

Clay Jones Overdrive Pedal

0

Pedal_2

Today I opened a guitar pedal that I had constructed during my Masters degree. A good friend of mine, Mangesh, had helped design the wooden enclosure.

pedal_opened

When I opened the pedal, I couldnā€™t recall which effect version it contained. At first I thought it was a Chaos pedal. But then I spotted that it had some transistors too. So I scoured through some old notebooks and print outs searching for my guitar effect schematics. Eventually I found the one, turned out it was the Clay Jones Overdrive.

Schematic of the Clay Jones Pedal:

cjod_3-7-08

Here’s an interesting read about the pedal
Continue reading

How to be creative

0

Here are some interesting insights about the creative process, by PBS Digital Studios


Points I found interesting:

  • Creativity, for the most part, is a very messy affair.
  • The notion that it comes from nowhere, is false.
  • One of the keys to creativity is the ability to stay in a place where you don’t exactly know what’s going to happen next.
  • Chase down Ideas, but understand that not all of them will lead somewhere.
  • The experience of pursuing an idea will influence the next idea.
  • Creativity is a spiral of excitement and despair. Allow the despair as it leads to new things.
  • A good healthy collaboration will always make a creative piece better.
  • Your ideas are not you. Criticisms of your ideas are not you.
  • You shouldn’t be married to your ideas and should be ready to let go.
  • Nothing is original. You process influences. Let go of the notion of originality.
  • You create things using a remix like process.
  • If you keep pushing, you can get to some place beyond what you thought was possible.

 

4 wire resistive touch screens … how to break them

0

After months of keeping my 4 wire resistive touch screen stored safely at the bottom of a small box, I felt a sudden urge to bring it out for experimentation. I was hoping to make a simple touch interface to control some stuff using my Arduino.

Excitedly I spent about half a day researching the touch screen. After reading a bunch of app notes and sample codes I felt confident enough to start.

HereĀ areĀ some helpful links:
Adafruit touch screen library
touch control panel by Practicalarduino.com
Touch screen example by Lars Schumann
Arduino and a Nintendo DS touch screen
Application note by Atmel
Application note by Texas Instruments
USB touchscreen mouse, example by Sparkfun
Get touchy, example on bildr

I had bought the touch screen (from digibay.in) without a separate connector. All it had was some delicate plastic film with the copper tracks.Ā I would probably require connectors such as this or this to interface it to the Arduino.

I searched through some old motherboards, CD player PCB’s and Hard disk drives for a suitable connector, but couldn’t find any. Now, desperate to proceed, I began to carefully solder some wires directly to the tracks on the thin connecting film. I somehow regulated my tremors and managed to solder the wires. Then I applied a layer of hot glue just to strengthen the joint.

soldered_joint

Continue reading

Chatting with a BC04 Bluetooth module using Android

1

I wanted to control an Arduino UNO board using my android phones Bluetooth. The UNO board doesnā€™t have Bluetooth and so requires an external Bluetooth module. I found a small Bluetooth module (BOLUTEK BLK-MD-BC04-B) at digibay.in and purchased it for experimenting.

bc04_module

The BC04 module can be interfaced to your designs using UART. Before pairing with a device, the module enters into a command mode and can be configured using AT commands. Upon pairing with a device the module enters into a communication mode.

Documentation of the module:
BLK-MD-BC04-B Bluetooth Module Specification
BOLUTEK BLK-MD-BC04-B Bluetooth Module AT Commands

Testing the BC04 Bluetooth module:

Since I bought only one module I wanted to be extra careful, and so built a PCB for the module. The design is just an extension of the Application Circuit Diagram from the module specification file.

My_Board

Schematic

Eagle Schematic and Layout
BC04 Eagle Library
Schematic and Layouts as PDF

Continue reading