Translate

Monday, January 1, 2018

Decimal conversion with Truth Tables and my first book review.

 I have been using Truth Tables to convert decimal numbers to binary, hexadecimal, and back again for the main purpose of knowing, and maybe applying it to ASCII description in code. This information is readily available to find on the Web; It is simple enough to do these calculations and it can be fun! For my first example the number 7 will be converted to Binary. First, I will want to write out the table with a value bigger than 7. Second, I will want to divide until there is no remainder. Table: 2^0=1, 2^1=2, 2^2=4, 2^3=8, now for the math, since 7 can not be divide by 8 our first digit is 0 since 7/8=0, 7/4=1 remainder 3, 3/2=1 remainder 1, 1/1=1 giving 0111. Another 32; 2^0=1, 2^1=2, 2^2=4, 2^=3=8, 2^4=16, 2^5=32 giving my Binary number of 10000 since 32 goes into 32 with no remainder our first digit is 1 followed by a zero for each place value or 5 zeros. Now, I would like to describe this process with Hexadecimal; number 3527, first I write my table to the first number larger than 3527 (16^0=1, 16^1=16, 16^2=256, 16^3=4096; knowing base 16 I'll divide 3527/4096=0, 3527/256=13 or D remainder 199, 199/16=12 or C remainder of 7 making Hexadecimal number 0DC7.  

 Truth Tables are fun in general when doing calculations of this nature. Easily applying it to any giving base (8^0=1, 8^1=8, 8^2=64, 8^3=512 so the decimal number 11 is Octal number 13 because 11/8=1 remainder 3 and 3/1=3 take our first digit 1 last 3 = 13). 

Converting a Binary to Decimal number is simple enough; for example 11010011, I will start with the first 8 values of the binary truth table because the Binary number has 8 digits: 2^0=0, 2^1=2, 2^2=4, 2^3=8, 2^4=16, 2^5=32, 2^6=64, 2^7=128. Now I will just add all the 1's up; 128+64+0+16+0+0+2+1=211. 

Hexadecimal to Decimal works in the same manner; for example 52a5, start with the truth table with as many place values as the number: 16^0=1, 16^1=16, 16^2=256, 16^3=4096. Starting with the last digit apply each value: 5*1=5, 10*16=160, 2*256=512, 5*4096=20480 5+160+512+20480=21,157   

 Last, I would like to mention a book I downloaded for my kindle, "The Absolute Beginner's Guide to Binary, Hex, Bits, and Bytes!"by Greg Perry. This short little book is a great read if you have a half hour. Greg explains basics of base 2 and how this is useful when working with computers. I enjoyed it so much, it inspired me to write up this post.     


Number Lines:

Hexadecimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a(10), b(11), c(12), d(13), e(14), f(15), 10, 11, 12, 13...

Binary:0(0), 1(1), 10(2), 11(3), 100(4), 101(5), 110(6), 111(7), 1000(8), 1001(9), 1010(10), 1011(11), 1100(12), 1101(13), 1110(14)...


Friday, January 23, 2015

Elenco's Micro Master MM-8000 Kit

Assembled MM-8000
 The MM-8000 is a Basic system course featuring the 8085 Microprocessor. The objective of the course, is so a student with no prior electronic or mathematical knowledge can build a functioning microprocessor system. This course has 14 lessons. The MM-8000 is built during the first 13 lessons. At the end of each lesson, functions are explained and experiments are used to demonstrate its operations. The programs listed in the appendix combine to make up the monitor program. These programs are manually loaded into memory in lessons 10 thru 13. This allows the Monitor mode to be changed, data may be stored to and read from memory and control may be transferred to other programs. This is demonstrated with program 5 in lesson 14. Below I have posted videos or pictures demonstrating each experiment for each lesson. In some of the videos, I show myself manually entering in the programs and loading them into memory. I also posted, for reference, pdfs of the programs that make up the monitor program in binary, the manual, and a tutorial on the 8085 microprocessor.  
 In lesson 1, the number systems used by computers is explained (binary and hexadecimal). In lesson 2, assembly of the MM-8000 begins, switches and the data bus indicators are installed; in addition, their operation is described and demonstrated. In lesson 3, control switches and the 8155 integrated circuit (RAM and I/O) are installed. In lesson 4, the display is added. The display is two 7 segment LEDs. In lesson 5, the timer switch is installed to manually step the 8155 timer. In lesson 6, the 2816 integrated circuit (ROM), and the 573 transparent latch is installed. In lesson 8, the instruction set of the 8085 microprocessor is described. This includes the binary code, timing information and the flags affected. In lesson 9, the MM-8000 system considerations are discussed, and the monitor program is described. In lesson 10, the 8085 microprocessor and auxiliary circuits are installed; also, program 1 and a section of the monitor program is manually loaded in ROM. In lesson 11, program 2 and the pattern table is manually loaded into ROM. The pattern table is used to generate the display characters. Program 2 alternately drives the two 7 segment displays at a rate determined by a delay constant in memory. In lesson 12, the keyboard is finished, and program 3 is manually loaded into ROM. Program 3 adds the keyboard scan and data key processing to the monitor program. In lesson 13, program 4 is manually added to ROM. The 8 keyboard function keys are implemented by program 4. In lesson 14, program 5 is loaded and executed using the keyboard.
 To conclude, I found this kit to be one of the most challenging and most educational that I have undertaken. This challenge was with the programs used to drive the MM-8000. I made this simple for anyone assembling this kit because I give the programs here. This kit was educational because it covers the basics of computer theory. It is a great kit to learn about binary and hexadecimal number systems, and how they are used in a computer. I would like to think Marc at Elenco's customer support for replacing the parts I broke or lost in the construction of the MM-8000. One last bit, if there is a problem getting the function keys to operate in lesson 13, try verifying, and if need be, correcting the portion of the monitor program entered in lesson 10. I hope you find the Micro-master kit as enjoyable and fun as I have.

Assembly end of Lesson 2.

Lesson 2 Functional Test.
Lesson 3
Lesson 4.
 Lesson 5 part 1 of 4.
Lesson 5 part 2 of 4. 
Lesson 5 part 3 of 4.
Lesson 5 part 4 of 4.
Lesson 6.
Lesson 11 part 1 of 5.
Lesson 11 part 2 of 5.
Lesson 11 part 3 of 5.
Lesson 11 part 4 of 5.
Lesson 11 part 5 of 5. 
Lesson 12. 
Lesson 13.
Lesson 14.





Sunday, January 18, 2015

2015 New Year Statement

 In this year, I plan to do much of what I could not do last year. I spent much of last year building and testing the Elenco Micro-Master MM-8000 Basic Microprocessor Course that I was able to test out today. I plan to be posting the MM-8000 to my blog this coming week. I have a Hexapod Robot Kit and a Arduino CC/Robot that I plan to work with this year. These robots come preassembled so more programs than building. Lastly, I hope to work with single board computers, and play with the Microprocessor courses, I have. I wish everyone a very good year, and thank you for following my blog.



Wednesday, July 23, 2014

"Three Fives" Discrete 555 Timer Kit by Evil Mad Scientist

The Evil Mad Scientist Shop has the "Three Fives" Discrete 555 Timer kit designed by Eric Schlaepfer. The "Three Fives" Discrete 555 Timer kit is a replica of the NE555 timer; more over, a full functional transistor-scale replica. The NE555 Timer was designed in 1971 by Hans Camenzind and is featured in IEEE Spectrum, May 2009 article "25 Microchips That Shook the World". The NE555 chip is so popular because it has three operating modes: Monostable, Astable, and Bistable. These three operating modes allow the NE555 chip to be used in a large variety of electronic products just a few are delay timers, alarms, logic clocks, LED and lamp flashers, and power supplies. I enjoyed assembling the "Three Fives" Discrete 555 Timer kit. I also like the fact that the "Three Fives" Discrete 555 Timer can be dropped into a circuit design that requires a 555 Timer chip. I find that it pulls back the veil on the small black microchip and shows the inner workings. The "Three Fives" Discrete 555 Timer kit took about an hour and is very easy to assemble.    

Assembled
Components
Completed PCB
Wired for testing.


Circuit used for testing (Flashing LED).





Monday, July 14, 2014

Elenco's Surface Mount Technology Kit Model SM-200K

The SM-200K kit is to help one get familiar with working with Surface Mount Technology. The SM-200K Decision Maker will answer any question the user asks. When the asked button is pressed, six LEDs are driven on and off; in addition, a buzzer will sound. After a few seconds one LED will remain lite answering ones question. Over a few minutes this LED will dim and then go out. The Theory of operation of the SM-200K is six LEDs are driven by a decimal counter and two oscillators. The decimal counter is driven by one oscillator and the buzzer is driven by the other oscillator. 

Completed
PCB
Tinning for Resistor Mounting.
Mounted Resistors.
All components mounted.


Sunday, June 29, 2014

SMD Happy Face by Velleman

The SMD happy Face is a great kit to practice soldering Surface Mounted Devices (components are mounted onto the surface of printed circuit board).  I soldered these components by tinning one pad with solder, with tweezers applying the component and reheating the solder to mount, lastly, soldering the other pad(s) to connect the component to the PCB. As one can see in the first picture SMD can be very small. The 2 Transistor and 2 LEDs are size SOT-23 (2.9 mm x 1.3 mm/1.75 mm x 1.3 mm). The 4 Resistor are size 2012 (2.0 mm x 1.25 mm). The 2 Capacitor are size 3225 (3.2 mm x 2.5 mm). These components create a Astable Multivibrator Circuit or Oscillator producing a square wave. This makes the LEDs blink on and off. Below the video are a few links that I used as reference and for more information about this fun technology.

Top to bottom Resistor, Capacitor, LED, and Transistor.
One side of the resistor soldered.
Tinned Resistor pad.
Tinning Transistor pads.
Assembled Happy Face.

Friday, June 27, 2014

Bulb Dial Clock by Evil Mad Scientist

The Bulbdial Clock kit was developed by Evil Mad Scientist based on a design concept by David Friedman. The Bulbdial Clock uses 72 LEDs to cast 3 shadows (hours, minutes, seconds) for telling time (indoor sun dial). This kit includes a pre-programmed ATmega328p microcontroller, 20 ppm quartz crystal, power supply, resistors, capacitors, gnomon spike, and mounting hardware. The 72 LEDs are driven using Charlieplexing. In addition to the Bulbdial Clock kit, I purchased a Chronodot to provide battery backup to the clock. The Chronodot is pre-assembled and easily fits into sockets on the Bulbdial blue PCB. This was a fun and simple DIY kit to assemble and the folks at Evil Mad Scientist provide very detail instructions. Below my pictures I will display more links for reference. This clock looks wonderful above my fireplace.

This PCB contains the bulk of components including a ATmega328p microcontroller.

Blue LEDs added to PCB for minute hand and Clock face with Gnomon spike.
Adjusting the LEDs for a Gnomon shadow for second hand. 
LEDs in green Circuit Board before soldering for the minute hand. 
Unmounted red Circuit Board. 
Mounted Red Circuit Board
Adjustment of the hour hand.
Chronodot.
Black case.
Clear case.