Project 4 adds a few new components to the ones used in Project 3 - an additional red and green LED, more resistors, and a pushbutton.
I wired up the circuit but made a few changes from the ones seen on page 39. First, rather than move the existing red, green, and yellow LED wiring from its original positions in Project 3, I left them alone and instead inserted the new red and green LEDs to digital pins 12 and 11, respectively.
The pushbutton was connected to digital pin 2 as specified in the wiring diagram, and I removed the GND jumper wire (from the digital GND pin) and ran two wires, one from 5V+ and the other from GND (both in the Power section of the Arduino UNO). (If anyone can explain why the GND couldn't be left alone, please let me know... if you wire V+ (5 or 3.3) from the Power section, does that require that you also use the GND pin under the Power section? This wasn't explained...)
One other thing you might notice if you look carefully at the wiring diagram for Project 3 and compare it to Project 4 is the placement of the resistors. I didn't catch this at first, but in Project 3 the resistors are all wired up on the anode side of the LEDs... but in Project 4 they are wired up on the cathode side of the LEDs. My basic understanding of electronics tells me this isn't an issue... the resistance is applied in the circuit whether it's sitting in front of or behind of the LEDs. Current just "feels" the resistance and doesn't "care" whether the resistor is on the anode or cathode side of an LED. (Maybe I'm wrong, but the circuit does work with the LEDs left on the anode side of all the LEDs.)
Finally, I chose to use the author's supplied code this time rather than type it all in... all I had to do was go in and fix the integer variable values for the pins (see first screen capture). The other change to the author's code was the removal of the yellow light after the pedestrian light goes from green to red. In the USA, when the crosswalk starts blinking (warning pedestrians that it will change to Don't Walk) and finally turns to red, there's usually a slight pause before the traffic light (for cars) turns green. There is no yellow light that pops up for the cars, so I removed this from the code and the video below will demonstrate how the new code works. Note also in the video that just after the pedestrian light turns red, the pushbutton is disabled for 5 seconds - I push it a few times to try and trigger it but no luck.
The questions I encountered (and described above - use of Power section GND versus the digital pin GND and the placement of resistors on anode or cathode side of LEDs) are ones I will try and find answers to... I'd hate to damage my Uno by wiring up something improperly in future projects.
(Update: I ran down the checklist of items on page 49 to make certain I had an understanding of the list of Subjects/Concepts - all good.)