Wednesday, March 15, 2017

Moving


I will be posting future work to my own website from now on.


In order to keep more control of my pictures, videos, files, etc, I will be posting everything on my own website only. It is located at http://yingguo.solutions/projects. This will be the last post I make here.

Wednesday, November 2, 2016


HALLOWEEN CANDY DISPENSER
I have not updated for a while. So the last project I worked on a Halloween Candy dispenser that can sit at the bottom of our drive way and regulate the amount of candy it gives out.




Everything starts with an idea:
"We live on a hill.... Would sure hate for all that potential energy of the candies sitting in my house to go to waste.... Maybe a better version of https://www.youtube.com/watch?v=_dIgq55GeBI"






End Product:
It took me 7 days and here is what it looks like.





Halloween Night Video 1 with a Pirate


Halloween Night Video 2


Halloween Night Video 3


The Process:
At first, I had to create the C program to read the bend sensor with an ADC(analog to digital converter)chip (MCP3208) on a Raspberry Pi. 

Then I made my program to control the servos while reading input from the bend sensor


I mounted everything as a test


Wire up a Easy-button to trigger the process



Testing it with anti-jam v1 logic without Easy Button by myself.


Kid testing it with anti-jam v1 logic. This is when I realized I needed an anti jam logic
(before the second feeding servo was in place)


Added a second feeding servo, fine tuned some control logic
mounted it to the back of the golf cart for easy transportation/setup.


Lesson learned:

  1. Assume it will be 90 degrees and hot. Raspberry Pi with a taped enclosure is bad... I zip locked some ice and placed it next to the CPU... Need a massive fan next time.
  2. Best troll for Halloween is the be direct with people. Everyone thought pressing the button would shock/scare/mess with them... All I did was give them candy.
  3. Need more lights.
  4. The sign and the promise of better candy actually increased the number of kid (mostly under 10) to walk up the hill.
  5. Nerds are popular candy here.

Saturday, January 17, 2015

Project "Lazy BBQing": Step 4 Graphing, Case design and Food

So I have not updated this in a while. But i got some excellent results.

First, I have the PID tuned very nicely and used google charts to draw the graph


I simplified the status screen


I enclosed the stuff in a Lego Box


I even make a version that works with electric hot plates. I switched over to Solid State Relays instead of the router speed controller.


Finally, the food


Next step switch over to using cheaper probes and using easier to find parts.

Project "Lazy BBQing": Step 3 Making a fan/turning

Created a mount for the fan to go onto the Big Green Egg with manual adjustable flow rate control.
Used roof flashing and a pair of aluminium cutters








So did 2 test runs with the green egg.

Setup:


Run 1: Hold temp 180*F - top vent was open too much, couldn't cool down the egg to sub 200. Also temp probe was mounted too low so there were a lot of fluctuations in the reading.


Run 2: Hold temp 300*F - almost perfect


Next temp going to grill with it. Make sure it all works.

Also want to increase the sample time to .5 second or .25 seconds to get a smoother curve.


Friday, November 28, 2014

Project "Lazy BBQing": Step 2 - Remote access



Install TightVNC on raspberry pi, a viewer on my tablet and an set TightVNC as a autostart up. Log sensor temp to unique log files grouped by start up time.
Make a pizza and watch it all work.
Not bad for someone with a dumb phone.

Project "Lazy BBQing" - Step 1 - Measure temps

Project "Lazy BBQing" step 1 complete: Reading temp with a Raspberry Pi. Ever wonder why it is a bad idea to touch a soldering iron? Because it is 520+ Degrees F.


 

Sunday, November 23, 2014

Parsing Rom Packs to extract US verified good ones.

Reference for later to process rom packs and getting all the US verified good ones.
US: U in a () could be (JU), (U), (EJU), etc
Verified good: [!]

First unpack all your roms into the same directory.

Second, create a list of all the files in the directory in a text file by running the following command in CMD
Dir /B /O:N >FullList.txt

Regex find anything that has ( + U + ! by running the following command in CMD
FindStr /R ".*(.*U.*!.*" "FullList.txt" > USGood.txt

Create a dir under the current dir called USGOOD

Copy the files into USGOOD by running the following command in CMD
C:\Users\yingguo\Desktop\N64\N64 Extracts>for /f "delims=" %x in (USGood.txt) do copy "%x" "USGOOD\%x" /y

Around 40 duplicates out of 3000 roms for the N64 rom pack.



007 - The World is Not Enough (U) [!].z64
1080 Snowboarding (JU) (M2) [!].z64
AeroFighters Assault (U) [!].z64
AeroGauge (U) [!].z64
Aidyn Chronicles - The First Mage (U) [!].z64
All Star Tennis '99 (U) [!].z64
All-Star Baseball 2000 (U) [!].z64
All-Star Baseball 2001 (U) [!].z64
All-Star Baseball '99 (U) [!].z64
Armorines - Project S.W.A.R.M. (U) [!].z64
Army Men - Air Combat (U) [!].z64
Army Men - Sarge's Heroes (U) [!].z64
Army Men - Sarge's Heroes 2 (U) [!].z64
Asteroids Hyper 64 (U) [!].z64
Automobili Lamborghini (U) [!].z64
Banjo-Kazooie (U) (V1.0) [!].z64
Banjo-Kazooie (U) (V1.1) [!].z64
Banjo-Tooie (U) [!].z64
Bassmasters 2000 (U) [!].z64
Batman Beyond - Return of the Joker (U) [!].z64
BattleTanx - Global Assault (U) [!].z64
BattleTanx (U) [!].z64
Battlezone - Rise of the Black Dogs (U) [!].z64
Beetle Adventure Racing! (U) (M3) [!].z64
Big Mountain 2000 (U) [!].z64
Bio F.R.E.A.K.S. (U) [!].z64
Blast Corps (U) (V1.0) [!].z64
Blast Corps (U) (V1.1) [!].z64
Blues Brothers 2000 (U) [!].z64
Body Harvest (U) [!].z64
Bomberman 64 - The Second Attack! (U) [!].z64
Bomberman 64 (U) [!].z64
Bomberman Hero (U) [!].z64
Bottom of the 9th (U) [!].z64
Brunswick Circuit Pro Bowling (U) [!].z64
Buck Bumble (U) [!].z64
Bug's Life, A (U) [!].z64
Bust-A-Move 2 - Arcade Edition (U) [!].z64
Bust-A-Move '99 (U) [!].z64
California Speed (U) [!].z64
Carmageddon 64 (U) [!].z64
Castlevania - Legacy of Darkness (U) [!].z64
Castlevania (U) (V1.0) [!].z64
Castlevania (U) (V1.2) [!].z64
Chameleon Twist (U) [!].z64
Chameleon Twist 2 (U) [!].z64
Charlie Blast's Territory (U) [!].z64
Chopper Attack (U) [!].z64
Clay Fighter - Sculptor's Cut (U) [!].z64
Clay Fighter 63 1-3 (U) [!].z64
Command & Conquer (U) [!].z64
Conker's Bad Fur Day (U) [!].z64
Cruis'n Exotica (U) [!].z64
Cruis'n USA (U) (V1.0) [!].z64
Cruis'n USA (U) (V1.1) [!].z64
Cruis'n USA (U) (V1.2) [!].z64
Cruis'n World (U) [!].z64
CyberTiger (U) [!].z64
Dark Rift (U) [!].z64
Deadly Arts (U) [!].z64
Destruction Derby 64 (U) [!].z64
Diddy Kong Racing (U) (M2) (V1.0) [!].z64
Diddy Kong Racing (U) (M2) (V1.1) [!].z64
Disney's Donald Duck - Goin' Quackers (U) [!].z64
Disney's Tarzan (U) [!].z64
Donkey Kong 64 (U) (Kiosk Demo) [!].z64
Donkey Kong 64 (U) [!].z64
Doom 64 (U) (V1.0) [!].z64
Doom 64 (U) (V1.1) [!].z64
Dr. Mario 64 (U) [!].z64
Dual Heroes (U) [!].z64
Duck Dodgers Starring Daffy Duck (U) (M3) [!].z64
Duke Nukem - ZER0 H0UR (U) [!].z64
Duke Nukem 64 (U) [!].z64
Earthworm Jim 3D (U) [!].z64
ECW Hardcore Revolution (U) [!].z64
Elmo's Letter Adventure (U) [!].z64
Elmo's Number Journey (U) [!].z64
Excitebike 64 (U) (Kiosk Demo) [!].z64
Excitebike 64 (U) [!].z64
Extreme-G (U) [!].z64
Extreme-G XG2 (U) [!].z64
F-1 Pole Position 64 (U) (M3) [!].z64
F-1 World Grand Prix (U) [!].z64
fcube.v64
FIFA - Road to World Cup 98 (U) (M7) [!].z64
FIFA 99 (U) [!].z64
FIFA Soccer 64 (U) (M3) [!].z64
Fighter Destiny 2 (U) [!].z64
Fighter's Destiny (U) [!].z64
Fighting Force 64 (U) [!].z64
Flying Dragon (U) [!].z64
Forsaken 64 (U) [!].z64
Fox Sports College Hoops '99 (U) [!].z64
Frogger 2 (U) (Alpha) [!].z64
F-ZERO X (U) [!].z64
GameShark Pro V3.3 (Apr 2000) (Unl) [!].z64
GameShark Pro V3.3 (Mar 2000) (Unl) [!].z64
Gauntlet Legends (U) [!].z64
Gex 3 - Deep Cover Gecko (U) [!].z64
Gex 64 - Enter the Gecko (U) [!].z64
Glover (U) [!].z64
Goemon's Great Adventure (U) [!].z64
Golden Nugget 64 (U) [!].z64
GoldenEye 007 (U) [!].z64
GT 64 - Championship Edition (U) [!].z64
Harvest Moon 64 (U) [!].z64
Hercules - The Legendary Journeys (U) [!].z64
Hexen (U) [!].z64
Hey You, Pikachu! (U) [!].z64
Hot Wheels Turbo Racing (U) [!].z64
Hybrid Heaven (U) [!].z64
Hydro Thunder (U) [!].z64
Iggy's Reckin' Balls (U) [!].z64
Indiana Jones and the Infernal Machine (U) [!].z64
Indy Racing 2000 (U) [!].z64
In-Fisherman Bass Hunter 64 (U) [!].z64
International Superstar Soccer 2000 (U) (M2) [!].z64
International Superstar Soccer 64 (U) [!].z64
International Superstar Soccer '98 (U) [!].z64
International Track & Field 2000 (U) [!].z64
Jeopardy! (U) [!].z64
Jeremy McGrath Supercross 2000 (U) [!].z64
Jet Force Gemini (U) (Kiosk Demo) [!].z64
Jet Force Gemini (U) [!].z64
John Romero's Daikatana (U) [!].z64
Ken Griffey Jr.'s Slugfest (U) [!].z64
Killer Instinct Gold (U) (V1.0) [!].z64
Killer Instinct Gold (U) (V1.1) [!].z64
Killer Instinct Gold (U) (V1.2) [!].z64
Kirby 64 - The Crystal Shards (U) [!].z64
Knife Edge - Nose Gunner (U) [!].z64
Knockout Kings 2000 (U) [!].z64
Kobe Bryant's NBA Courtside (U) [!].z64
Legend of Zelda, The - Majora's Mask - Preview Demo (U) [!].z64
Legend of Zelda, The - Majora's Mask (U) [!].z64
Legend of Zelda, The - Ocarina of Time - Master Quest (U) (GC) [!].z64
Legend of Zelda, The - Ocarina of Time (U) (GC) [!].z64
Legend of Zelda, The - Ocarina of Time (U) (V1.0) [!].z64
Legend of Zelda, The - Ocarina of Time (U) (V1.1) [!].z64
Legend of Zelda, The - Ocarina of Time (U) (V1.2) [!].z64
LEGO Racers (U) (M10) [!].z64
Lode Runner 3-D (U) [!].z64
Mace - The Dark Age (U) [!].z64
Madden Football 64 (U) [!].z64
Madden NFL 2000 (U) [!].z64
Madden NFL 2001 (U) [!].z64
Madden NFL 2002 (U) [!].z64
Madden NFL 99 (U) [!].z64
Magical Tetris Challenge (U) [!].z64
Major League Baseball Featuring Ken Griffey Jr. (U) [!].z64
Mario Golf (U) [!].z64
Mario Kart 64 (U) [!].z64
Mario Party (U) [!].z64
Mario Party 2 (U) [!].z64
Mario Party 3 (U) [!].z64
Mario Tennis (U) [!].z64
Mega Man 64 (U) [!].z64
Mia Hamm Soccer 64 (U) (M2) [!].z64
Mickey's Speedway USA (U) [!].z64
Micro Machines 64 Turbo (U) [!].z64
Micro Machines 64 Turbo (U) [a1][!].z64
Midway's Greatest Arcade Hits Volume 1 (U) [!].z64
Mike Piazza's Strike Zone (U) [!].z64
Milo's Astro Lanes (U) [!].z64
Mischief Makers (U) [!].z64
Mission Impossible (U) [!].z64
Monaco Grand Prix (U) [!].z64
Monopoly (U) [!].z64
Monster Truck Madness 64 (U) [!].z64
Mortal Kombat 4 (U) [!].z64
Mortal Kombat Mythologies - Sub-Zero (U) [!].z64
Mortal Kombat Trilogy (U) (V1.0) [!].z64
Mortal Kombat Trilogy (U) (V1.2) [!].z64
MRC - Multi Racing Championship (U) [!].z64
Ms. Pac-Man - Maze Madness (U) [!].z64
Mystical Ninja Starring Goemon (U) [!].z64
Nagano Winter Olympics '98 (U) [!].z64
Namco Museum 64 (U) [!].z64
NASCAR 2000 (U) [!].z64
NASCAR 99 (U) [!].z64
NBA Courtside 2 - Featuring Kobe Bryant (U) [!].z64
NBA Hangtime (U) [!].z64
NBA In the Zone 2000 (U) [!].z64
NBA In the Zone '98 (U) [!].z64
NBA In the Zone '99 (U) [!].z64
NBA Jam 2000 (U) [!].z64
NBA Jam 99 (U) [!].z64
NBA Live 2000 (U) (M4) [!].z64
NBA Live 99 (U) (M5) [!].z64
NBA Showtime - NBA on NBC (U) [!].z64
New Tetris, The (U) [!].z64
NFL Blitz - Special Edition (U) [!].z64
NFL Blitz (U) [!].z64
NFL Blitz 2000 (U) [!].z64
NFL Blitz 2001 (U) [!].z64
NFL Quarterback Club 2000 (U) [!].z64
NFL Quarterback Club 2001 (U) [!].z64
NFL Quarterback Club 98 (U) [!].z64
NFL Quarterback Club 99 (U) [!].z64
NHL 99 (U) [!].z64
NHL Blades of Steel '99 (U) [!].z64
NHL Breakaway 98 (U) [!].z64
NHL Breakaway 99 (U) [!].z64
Nightmare Creatures (U) [!].z64
Nuclear Strike 64 (U) [!].z64
O.D.T. (U) (M3) [!].z64
Off Road Challenge (U) [!].z64
Ogre Battle 64 - Person of Lordly Caliber (U) [!].z64
Olympic Hockey Nagano '98 (U) [!].z64
Paper Mario (U) [!].z64
Paperboy (U) [!].z64
Penny Racers (U) [!].z64
Perfect Dark (U) (V1.0) [!].z64
Perfect Dark (U) (V1.1) [!].z64
PGA European Tour (U) [!].z64
Pilotwings 64 (U) [!].z64
Pokemon Puzzle League (U) [!].z64
Pokemon Snap (U) [!].z64
Pokemon Snap Station (U) [!].z64
Pokemon Stadium (U) (V1.0) [!].z64
Pokemon Stadium (U) (V1.1) [!].z64
Pokemon Stadium 2 (U) [!].z64
Polaris SnoCross (U) [!].z64
Power Rangers - Lightspeed Rescue (U) [!].z64
Powerpuff Girls, The - Chemical X-Traction (U) [!].z64
Quake 64 (U) [!].z64
Quake II (U) [!].z64
Quest 64 (U) [!].z64
Rally Challenge 2000 (U) [!].z64
Rampage - World Tour (U) [!].z64
Rampage 2 - Universal Tour (U) [!].z64
Rat Attack (U) (M6) [!].z64
Rayman 2 - The Great Escape (U) (M5) [!].z64
Razor Freestyle Scooter (U) [!].z64
Ready 2 Rumble Boxing - Round 2 (U) [!].z64
Ready 2 Rumble Boxing (U) [!].z64
Resident Evil 2 (U) (V1.1) [!].z64
Re-Volt (U) [!].z64
Road Rash 64 (U) [!].z64
Roadsters Trophy (U) (M3) [!].z64
Robotron 64 (U) [!].z64
Rocket - Robot on Wheels (U) [!].z64
RR64 - Ridge Racer 64 (U) [!].z64
Rugrats - Scavenger Hunt (U) [!].z64
Rugrats in Paris - The Movie (U) [!].z64
Rush 2 - Extreme Racing USA (U) [!].z64
S.C.A.R.S. (U) [!].z64
San Francisco Rush - Extreme Racing (U) (M3) [!].z64
San Francisco Rush 2049 (U) [!].z64
Scooby-Doo! - Classic Creep Capers (U) [!].z64
Shadow Man (U) [!].z64
Shadowgate 64 - Trials Of The Four Towers (U) (M2) [!].z64
Snowboard Kids (U) [!].z64
Snowboard Kids 2 (U) [!].z64
South Park - Chef's Luv Shack (U) [!].z64
South Park (U) [!].z64
South Park Rally (U) [!].z64
Space Invaders (U) [!].z64
Space Station Silicon Valley (U) [!].z64
Spider-Man (U) [!].z64
Star Fox 64 (U) (V1.0) [!].z64
Star Fox 64 (U) (V1.1) [!].z64
Star Soldier - Vanishing Earth (U) [!].z64
Star Wars - Rogue Squadron (U) (M3) [!].z64
Star Wars - Shadows of the Empire (U) (V1.0) [!].z64
Star Wars - Shadows of the Empire (U) (V1.1) [!].z64
Star Wars - Shadows of the Empire (U) (V1.2) [!].z64
Star Wars Episode I - Battle for Naboo (U) [!].z64
Star Wars Episode I - Racer (U) [!].z64
StarCraft 64 (U) [!].z64
Starshot - Space Circus Fever (U) (M3) [!].z64
Stunt Racer 64 (U) [!].z64
Super Bowling 64 (U) [!].z64
Super Mario 64 (U) [!].z64
Super Smash Bros. (U) [!].z64
Supercross 2000 (U) [!].z64
Superman (U) (M3) [!].z64
Tetrisphere (U) [!].z64
Tigger's Honey Hunt (U) [!].z64
Tom and Jerry in Fists of Furry (U) [!].z64
Tom Clancy's Rainbow Six (U) [!].z64
Tonic Trouble (U) (V1.1) [!].z64
Tony Hawk's Pro Skater (U) (V1.0) [!].z64
Tony Hawk's Pro Skater (U) (V1.1) [!].z64
Tony Hawk's Pro Skater 2 (U) [!].z64
Top Gear Hyper Bike (U) [!].z64
Top Gear Overdrive (U) [!].z64
Top Gear Rally (U) [!].z64
Top Gear Rally 2 (U) [!].z64
Toy Story 2 (U) [!].z64
Transformers - Beast Wars Transmetal (U) [!].z64
Triple Play 2000 (U) [!].z64
Turok - Dinosaur Hunter (U) (V1.0) [!].z64
Turok - Dinosaur Hunter (U) (V1.1) [!].z64
Turok - Dinosaur Hunter (U) (V1.2) [!].z64
Turok - Rage Wars (U) [!].z64
Turok 2 - Seeds of Evil (U) (Kiosk Demo) [!].z64
Turok 2 - Seeds of Evil (U) (V1.0) [!].z64
Turok 3 - Shadow of Oblivion (U) [!].z64
Twisted Edge Extreme Snowboarding (U) [!].z64
Vigilante 8 - 2nd Offense (U) [!].z64
Vigilante 8 (U) [!].z64
Virtual Chess 64 (U) (M3) [!].z64
Virtual Pool 64 (U) [!].z64
V-Rally Edition 99 (U) [!].z64
Waialae Country Club - True Golf Classics (U) (V1.0) [!].z64
Waialae Country Club - True Golf Classics (U) (V1.1) [!].z64
War Gods (U) [!].z64
Wave Race 64 (U) (V1.0) [!].z64
Wave Race 64 (U) (V1.1) [!].z64
Wayne Gretzky's 3D Hockey (U) (V1.0) [!].z64
Wayne Gretzky's 3D Hockey (U) (V1.1) [!].z64
Wayne Gretzky's 3D Hockey '98 (U) [!].z64
WCW Backstage Assault (U) [!].z64
WCW Mayhem (U) [!].z64
WCW Nitro (U) [!].z64
WCW vs. nWo - World Tour (U) (V1.0) [!].z64
WCW vs. nWo - World Tour (U) (V1.1) [!].z64
WCW-nWo Revenge (U) [!].z64
Wetrix (U) (M6) [!].z64
Wheel of Fortune (U) [!].z64
wii64.z64
WinBack - Covert Operations (U) [!].z64
Wipeout 64 (U) [!].z64
World Cup 98 (U) (M8) [!].z64
World Driver Championship (U) [!].z64
Worms - Armageddon (U) (M3) [!].z64
WWF - War Zone (U) [!].z64
WWF Attitude (U) [!].z64
WWF No Mercy (U) (V1.0) [!].z64
WWF No Mercy (U) (V1.1) [!].z64
WWF WrestleMania 2000 (U) [!].z64
Xena Warrior Princess - The Talisman of Fate (U) [!].z64
Yoshi's Story (U) (M2) [!].z64