In this article I will examine Serial In Parallel Out (SIPO) shift registers. These are very useful for microcontroller projects. This type of register allows you to turn three output pins into as many as you would like. I will explain the theory behind the registers and give an actual implementation. As a working example we want to drive 16 pins for a clock application using as few pins on the microcontroller as possible.
A lot has changed since my last Nixie Clock post in 2010. Using Eagle I had a prototype board made through 4PCB, unaware of their Student $33 Each deal; If you are a student use this! After soldering in all the components and testing the circuit it turned out that multiplexing was not a good decision. I was unable to switch at a high enough frequency while maximizing ignition of the tubes. In other words, I would either see the numbers scrolling in a bright neon light or I would see all at once in a dim neon light. Unfortunately there was no software fix. Discouraged and busy the project was dead until about 6 months ago.
Before creating a plugin it's helpful to determine the tools you need for your plugin to function and then determine how to integrate them into WordPress. In this guide I will be teaching by example. The plugin we will be creating is a simple post text replacement plugin. In the WP Admin panel we will be able to modify the search and replace parameters. We also will have a replacement color and toggle color. After some planning I've determined this plugin will require the following:
- jQuery : We need jQuery to toggle the class on our replacement text when clicked.
- Database : We need our settings stored permanently. Of course you already have a database set up for WordPress. We will use that.
- CSS : We will use two stylesheets, one for the admin side and one for the client side.
As mentioned before we want the plugin to have an admin panel accessible from the WordPress panel. We also need to hook into posts/pages for our search matching.
The following are WordPress documents that are essential for reference when creating a plugin. It will prove useful to have them bookmarked and opened in your browser at all times.
For the movie writers out there I created a program to convert a Final Draft PDF back into a Final Draft editable file. I'm now determining the best way to distribute the software. It will be at trial for the first 500 lines and a small fee for the whole script with unlimited usage. If you need a script converted immediately email me and we can work something out.
Update 03/18/2013: I have received great interest in this software. This software has yet to be completed. It is not yet in a format that can be distributed and the accuracy is not 100%. As such, the only option for conversion is emailing me the PDF and I will send you back an FDX. I know that is something many are not comfortable with but that is the best I can do at the moment. Compensation is not necessary though if you feel generous a donation would be greatly appreciated. If you are interested use the link above to contact me
I'm becoming very good friends with WordPress. I just finished coding version 1.0 of IAmMattSilverman.com. A website for the talented Matt Silverman. Features of the site include facebook integration and a custom module for showcasing videos. Facebook integration was done using the Graph API and Real Time Updates. The real time updating proved to be a challenge. Facebook's documentation is not the best on this topic. I plan on creating a nice outline of the what you need to know and how to use it so look forward to that in the coming days. Meanwhile check out the website!
These days I have been doing more web design and scripting than anything else. I recently finished designing a new website for Hillel at Northeastern University. Hillel is an organization I am very active in. I strongly believe in giving back to the community and this website is one of the ways I am able to do that. I'm currently working on customizing SugarCRM to fit our needs.
The backend of the website is WordPress. The template is fulled integrated into the admin panel. I may at some point outline the steps involved in making a template. In the meantime, you must check out Lynda.com. Their tutorials are amazing. This is the first WordPress template I designed. The video tutorial from Lynda answered many questions I had.
I would be happy to detail any WordPress template questions anyone has.
Radio Frequency Identification, or RFID, is a technology slowly being incorporated more and more into daily life. The uses for RFID are endless as the technology becomes smaller, cheaper and more versatile. If you don’t know what RFID is, you'll soon find out!
RFID is a wireless identification system that can be viewed like a phone conversation. For a phone conversation to work, we need two telephones, one phone is used to dial and the other one receives the call. Imagine this is a phone call between an automated dialing system and you. In an RFID system, the phone dialing is a called a “reader” and the phone receiving is called a “tag.” The reader acts much like an automated dialer, where it can call any number of phones at once. Instead of the tag saying “hello,” as you would, it will respond with a list of numbers. The numbers are the identification of that tag, and only that tag. Now much like you will hang up once you hear its an automated system asking you for money, the reader ends the conversation with the tag.
In recent years, many commercial applications of RFID have been released. For example, Mobil Speedpass uses RFID. Have you ever rented a ZipCar? The key used to unlock the car uses RFID. It is becoming standard for cars today to allow you to lock, unlock and start the car without inserting the key.
RFID systems have become a common replacement for keys around the workplace. The conventional lock on a door can be replaced by an RFID system. A tag is used to authenticate the person and unlock the door. A tag does not require any power, so there are no batteries, and can be smaller than a dime. It is commonly used inside a credit card-sized piece of plastic. The size of a reader can vary from a handheld device to the size of a doorknob.
The beauty of using an RFID system as a key is access management and access history. The readers can be programmed to only allow certain tags, or people, into certain rooms. If an employee quits the company, his tag number can simply be removed from the system. There is never worry about losing keys or wondering who has what key. With a tag costing only cents, it is very easy to add or remove access to a room. The readers also record each person who entered the room and at what time. This is useful if there is a security breach of any kind.
Some RFID tags are designed to be implanted under the skin. It is very common in Europe and the USA for pets that are adopted to have a tag, called a microchip in this context, implanted in them. The microchip is smaller than a grain of rice and can be implanted into a pet the same way a vaccine is. When scanned, the identification of the pet can be looked up in a database. The idea is that any pet can be traced back to its rightful owner if it is lost or stolen. You can read more about pets and microchips here.
Other people have had tags implanted under their own skin. Generally the location of the implant is in between the thumb and index finger. Implants in humans are not widely used. There is speculation regarding RFID causing cancer in the tissue surrounding the implant. If you really don't want to carry around money or identification, there is a club in Barcelona which will scan you instead. With some modification, you can even start and unlock your car with the same implant.
The future of RFID holds many great possibilities. One of these possibilities is the much needed modernization of bar codes. A bar code must be scanned individually and put directly in front of the scanner. When going to the grocery store, every item must be scanned one by one. With RFID, the food could be scanned without even having to leave the basket. Not only that, all the items could be scanned simultaneously.
There is also a lot of interest in putting tags into paper products, i.e. passports and checks. If you are interested in a detailed breakdown of this new technology here is a Citizendium article I wrote for a writing class of mine.
For more information:
- RSA Laboratories
- Though very technical, securerf is a well-written blog regarding security and privacy.
- VeriChip, now named PositiveID, designed the human implantable chip
Want to start playing around with RFID on your own? Simple RFID access system
When I go to sleep at night I like it dark. I also keep my computer on 24/7. In the past when going to sleep I would hit the power switch on my monitor. Or more often than not I would leave it on. Now when I'm in bed I click an icon on my iPhone and the monitor turns off. You can have this up and running in 10 minutes.
For this to work, your phone must be wifi enabled and connected to the same network as your PC. I use an iPhone in this example but any phone able to use wifi will work.
Here's what you need:
- NirCmd: This command line utility is used to put the monitor into sleep. Download - Website
- QuickPHP: You need to run a web server that supports PHP on your computer. Any server will work. I chose this one because it's lightweight and quick and easy to setup. QuickPHP- Website
- PHP Source Code: Download
- After downloading NirCmd, unzip it and place nircmdc.exe in your system32 directory, i.e. C:\Windows\System32\. Note: Placing an executable in system32 directory is great because then you can access the files from any directory within command line, no need to find the directory first.
- Create two new folders. One for the PHP Server and one for your web files. I will use the following directories: C:\PHPServer and C:\PHP
- Download QuickPHP and unzip. This program will not install, you must place the program files somewhere. I moved them to C:\PHPServer for easy access.
- Download the source code and place it in C:\PHP.
- Go to the QuickPHP directory and run QuickPHP.exe - Change the "Root" folder to whatever you choose above as the web file directory (C:\PHP). Note the server port, default 5723. Hit Start.
- For the next step you need to know your local IP address. To get this go to the start menu. Type in "Run" in the search bar and hit enter or simply click the run icon. Where it says "open" type in "cmd" - You now have a command prompt open. You should see something like C:\... type in "ipconfig" - Now look for your the number labeled IPv4 address. It will likely start with 192.168 - This is the number you will use in YOU_IP in the next step.
- Get your iPhone and open up Safari. In the address bar, type in http://YOUR_IP:5723 - i.e. http://192.168.1.2:5723
- Click the + sign and select "Add to Home Screen"
- Want to turn it off? Click:
There are a few ways this could be modified to better suit you: Modify the PHP code to only accept certain IP addresses. The PHP code is very simple and does not protect you from other people on your network turning your monitor off. That is why its useful to use a non-standard port and have a firewall on your network blocking outside traffic. - Alternatively, open a port on your firewall to allow outbound connections. Then use your WAN IP (www.whatismyip.com) to connect to the computer. This removes the need for the phone to be connected to wireless. - Change the filename to blah.php. It would prevent others from turning the monitor off because you then have to access http://YOU_IP:5723/blah.php
I wanted to give an updated on my nixie clock. I've been very busy with classes the last few months but I have had some time to work on the clock. I have created a prototype that will effectively test the majority of the circuit and all the microcontroller related functions.
I'm using a 7SEG display in place of the nixie tubes. This is because the nixie tubes do not fit in the protoboard easily. This substution still replicates the final design in implementation because all the displays are hooked up the same as the nixie tube. Each digit has a transistor connected to it's anode. The 74LS chip which drives the digits also has a BCD input, the same as the 74141. One of the ICs are comprised of NOT gates. I needed to flip the output of the 74LS driver to work correctly with the active low inputs of the 7SEG displays. The displays are hooked up all multiplexed and turned on individually in the same manner the nixie tubes will be.
You can also see the two pushbuttons which are used for setting functions. The MAX232 which is used to convert the RS-232 voltages to TTL level for the PIC. The clock OSC on the PIC is using the simple RC method as outlined in the datasheet. I wanted to get some testing done and have yet to determine which crystal/cap combo I will be using.
Also the programmer I am using is from a company called Cana Kit and functions the same as the PIC Kit 2. Here is the link on SparkFun, although I purchased it on eBay for cheaper. It is working great for programming and in-circuit debugging (ICD).
I am going to be sparse with the details but I am getting closer and closer to ordering a real prototype PCB and getting things started!