I recently generated a basic web app that assists teachers in converting a number wrong to a percentage. This web app as they are called runs in PHP. You simply input the number of possible points on an assignment and hit go. You will then get a list of numbers and percentages. This saves time when the points possible is not a nice round number that is easy to calculate in your head. You can use the app here: Grade Calculator
I have been investigating the BAM method of LED dimming. There are already many microcontroller programs written to control a LED or multiple LEDs with BAM, however I wanted to fully understand the method so I threw together some SPIN code to prove it would work. Click the Read more link for details on the code.
Bit Angle Modulation or BAM for short is a method of driving LEDs and adjusting their brightness easily with a microcontroller. Here is how it works. If you want 255 levels of color you can break this into a 8-bit number. Each one of these bits is then a multiple of 2 longer than the first. The image below may help visualize what is going on. Each bit of the 8-bit number is one of the numbered boxes below. The numbers indicate the portion of the cycle the LED is on. There are 255 portions total which are broken down into groups of 128, 64, 32, 16, 8, 4, 2, & 1. Some examples will assist in explaining how this works. If we wanted 50% brightness or 1/2 of 255 = 128 the LED would be on for the 128 portion of the cycle below. If we want 62% brightness we need a value of 158, or 10011110 in binary. We would then turn the LED on for the 128, 16, 8, 4, and 2 time periods. If we wanted ~12% brightness we could use a value of 30 which would have the LED on for the 16, 8, 4, & 2 time periods. For this to work the cycle must be faster than the human eye and 120Hz is a good range to avoid any flicker. Code to make this all happen will be discussed later.
This blog covers a multitude of up and coming technology, as well as how to guides, tips and tricks, and other interesting technology related items.