I bought a pack of 5 ICs from radioshack. (74LS00, 74LS02, 74LS04, 74LS08, and 74LS32 to be specific). And I can't see to wire them correctly. I've wired pin 7 to ground, pin 14 to 5V(from an Arduino Uno), and nothing comes out of any outputs. What even worse is if I disconnect ground the led does come on. And by using the Arduino to measure voltage, all of the outputs are on. I've wired this perfectly and even checked with this site to make sure: https://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Labs/Logic/LabLogic1A.html I've also checked to make sure that pin 7 is indeed ground and pin 14 is indeed high with the Arduino. I just can't figure out why none of it is working. What's even worse is all of the ICs are exhibiting the same behavior. And I've tried two different breadboards, with the same result. Any help?
Wow, I had to check my calendar to be sure it wasn't 1976.
The 74LS family is well past its best-before date. It's a DTL family (pretending to be TTL). As such an 'open' input is interpreted as a logic 1. If you leave both inputs open, and are using a 74LS00, it will do what NAND gates do with two '1' inputs and drive the output low. Ground either of the two inputs to a NAND gate and the output should go high.
In general you will be a lot less frustrated if you always connect every in put to a logic 1 or logic 0, including unused inputs. That will come in especially handy with CMOS (eg. 74HC00) where the inputs can do odd things if you let them float. For TTL families and LSxx, ground or tie inputs high through 1K. For CMOS tie high or low directly or through a resistor.
Schematic of 74LS00 gate (from the datasheet):
The 74LS series is bipolar TTL - it uses mostly NPN transitors, and its inputs source current. They will therefore appear as logic High when not connected.
To make the inputs appears as logic Low (0), you have to connect them to ground (pin 7 of the chip).