author

gcall1979

47
Inbox View Profile
9Instructables14,382Views3CommentsIllinois

Tell us about yourself!

Achievements

10K+ Views Earned a bronze medal
    • Electronics for the Miniature Arcade Cabinet
      12 views
      2 favorites
      0 comments
    • Miniature Arcade Cabinet for Kids
      57 views
      1 favorites
      0 comments
  • Automatic Scoring for a Small Skee-Ball Game

    Thanks, I was able to open the sketch but I will copy it here:// File = Skeeballgolfball5.ino//**************************************************************// 1/20/2020 Covert to basic 1-player after wrote 2-player version// 1/26/2020 Added 100 point light// 4/17/2020 Start modify to golfball size game.// Used internal resistors on all switches (Push = LOW).// 4/23/2020 Got single large 7-segment LED working (# of balls)// 5/1/2020 Added LED light for each point hole (match LED in hole)// 5/4/2020 Almost completed code, adapted well from oneplayerskeeball// Added servo for drop down release of balls for new game.// 5/2/2020 - Start building score board for top of machine.//***************************************************************#include <Wire.h> // Enable this line if using …

    see more »

    Thanks, I was able to open the sketch but I will copy it here:// File = Skeeballgolfball5.ino//**************************************************************// 1/20/2020 Covert to basic 1-player after wrote 2-player version// 1/26/2020 Added 100 point light// 4/17/2020 Start modify to golfball size game.// Used internal resistors on all switches (Push = LOW).// 4/23/2020 Got single large 7-segment LED working (# of balls)// 5/1/2020 Added LED light for each point hole (match LED in hole)// 5/4/2020 Almost completed code, adapted well from oneplayerskeeball// Added servo for drop down release of balls for new game.// 5/2/2020 - Start building score board for top of machine.//***************************************************************#include <Wire.h> // Enable this line if using Arduino Uno, Mega, etc. #include <Adafruit_GFX.h> #include "Adafruit_LEDBackpack.h" Adafruit_7segment matrix = Adafruit_7segment(); #include<Wire.h>#include<LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);//==============================Declare Servo======================#include <Servo.h> int servoPin = 12; Servo Servo1; //=================================================================int switch10Pin = 43;int switch20Pin = 45;int switch30Pin = 47;int switch40Pin = 49;int switch50Pin = 51;int switch100Pin = 53;int switchresetPin = 9;int button10State = 1;int button20State = 1;int button30State = 1;int button40State = 1;int button50State = 1;int button100State = 1;int buttonresetState = 1;int totalscore;int noballs;int redball;//============================Large 7-segment=================================byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, // = 0 { 0,1,1,0,0,0,0 }, // = 1 { 1,1,0,1,1,0,1 }, // = 2 { 1,1,1,1,0,0,1 }, // = 3 { 0,1,1,0,0,1,1 }, // = 4 { 1,0,1,1,0,1,1 }, // = 5 { 1,0,1,1,1,1,1 }, // = 6 { 1,1,1,0,0,0,0 }, // = 7 { 1,1,1,1,1,1,1 }, // = 8 { 1,1,1,0,0,1,1 } // = 9 }; void sevenSegWrite(byte digit) { byte pin = 2; for (byte segCount = 0; segCount < 7; ++segCount) { digitalWrite(pin, seven_seg_digits[digit][segCount]); ++pin; }}//========================================================================void displayprogress() //===1st user defined function 1/10/2020 { //-- add single 7 -segment (noballs) matrix.print(totalscore); matrix.writeDisplay(); //=========================7segment=============== sevenSegWrite(noballs);//================================================ lcd.setCursor(0,1); lcd.print(" Score = "); lcd.print(totalscore); lcd.setCursor(0,2); lcd.print("Played = "); lcd.print(noballs); delay(300); }int controlscoreled(int pinnum){ digitalWrite(31, LOW); digitalWrite(33, LOW); digitalWrite(35, LOW); digitalWrite(37, LOW); digitalWrite(39, LOW); digitalWrite(41, LOW); digitalWrite(pinnum, HIGH);}void setup() { Servo1.attach(servoPin); Servo1.write(25); //============================Large 7-segment============= pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); //========================================================//=============================Hole Value LED Light======== pinMode(31, OUTPUT); //10 pinMode(33, OUTPUT); //20 pinMode(35, OUTPUT); //30 pinMode(37, OUTPUT); //40 pinMode(39, OUTPUT); //50 pinMode(41, OUTPUT); //100 pinMode(A1, OUTPUT); //=== Game over LED pinMode(A0, OUTPUT); //=== Red Ball next LED pinMode(A2, OUTPUT); //=== New Game LED//========================================================= //==============================Use internal resistor============ pinMode(switch10Pin, INPUT_PULLUP); pinMode(switch20Pin, INPUT_PULLUP); pinMode(switch30Pin, INPUT_PULLUP); pinMode(switch40Pin, INPUT_PULLUP); pinMode(switch50Pin, INPUT_PULLUP); pinMode(switch100Pin, INPUT_PULLUP); pinMode(switchresetPin, INPUT_PULLUP); //=============================================================== matrix.begin(0x70); noballs = 0; totalscore = 0; redball = 1; lcd.begin(20,4); lcd.setCursor(3,0); lcd.print("New Game!"); matrix.print(0); matrix.writeDisplay(); //======================================== 7-segment single digit==== sevenSegWrite(0);//===================================================================}void loop() { button10State = digitalRead(switch10Pin); button20State = digitalRead(switch20Pin); button30State = digitalRead(switch30Pin); button40State = digitalRead(switch40Pin); button50State = digitalRead(switch50Pin); button100State = digitalRead(switch100Pin); buttonresetState = digitalRead(switchresetPin); //============================================= Check which button pushed above if (buttonresetState == LOW) { totalscore = 0; noballs = 0; redball = 1; digitalWrite(A1, LOW); //==Game Over LED digitalWrite(A0, LOW); //==Red Ball LED controlscoreled(48); //==Dummy pin-all point LEDs off lcd.begin(20,4); lcd.setCursor(3,0); lcd.print(" New Game!"); matrix.clear(); matrix.print(0); matrix.writeDisplay(); //======================================== 7-segment single digit==== sevenSegWrite(0); //=================================================================== //===================================Drop door for balls============= Servo1.write(90); for (int i = 0, i < 6, i++) { // ---- flicker light digitalWrite(A2, HIGH); delay(500); digitalWrite(A2, LOW); delay(500); } Servo1.write(25); // - door back up after 6 seconds //=================================================================== digitalWrite(A2, HIGH); //==New Game LED at Top Middle } if (button10State == LOW && noballs < 9) { delay(50); controlscoreled(31); totalscore = totalscore + (10 * redball); noballs = noballs + 1; displayprogress(); } if (button20State == LOW && noballs < 9) { delay(50); controlscoreled(33); totalscore = totalscore + (20 * redball); noballs = noballs + 1; displayprogress(); } if (button30State == LOW && noballs < 9) { delay(50); controlscoreled(35); totalscore = totalscore + (30 * redball); noballs = noballs + 1; displayprogress(); } if (button40State == LOW && noballs < 9) { delay(50); controlscoreled(37); totalscore = totalscore + (40 * redball); noballs = noballs + 1; displayprogress(); } if (button50State == LOW && noballs < 9) { delay(50); controlscoreled(39); totalscore = totalscore + (50 * redball); noballs = noballs + 1; displayprogress(); } if (button100State == LOW && noballs < 9) { delay(50); controlscoreled(41); totalscore = totalscore + (100 * redball); noballs = noballs + 1; displayprogress(); } if (noballs == 8) //******************************* { lcd.setCursor(0,3); lcd.print(" Red Ball Next!"); redball = 2; digitalWrite(A0, HIGH); //=====Red Ball LED delay(150); } if (noballs == 9) //******************************* { digitalWrite(A0, LOW); //==Red Ball LED turned off digitalWrite(A1, HIGH); //==Game Over LED on digitalWrite(A2, LOW); //==New Game LED turned off controlscoreled(48); //==Dummy pin-all point LEDs off lcd.setCursor(2,0); lcd.print("Game Over!! "); lcd.setCursor(0,1); lcd.print("Final Score = "); lcd.print(totalscore); lcd.setCursor(0,2); lcd.print(" "); lcd.setCursor(0,3); lcd.print("Press Reset New Game"); }} //loop//==============================================================

    View Instructable »
  • gcall1979's instructable Portable Cornhole Game's weekly stats:
    • Portable Cornhole Game
      323 views
      9 favorites
      1 comments
  • Automatic Scoring for the Executive Par 3 Golf Game

    Thanks for your detailed comment. I have not tried the game outside yet. I am interested now to see how it works.

    View Instructable »
    • Automatic Scoring for the Executive Par 3 Golf Game
      1,508 views
      11 favorites
      5 comments
  • gcall1979's instructable Executive Par 3 Golf Game's weekly stats:
    • Executive Par 3 Golf Game
      241 views
      6 favorites
      0 comments
  • gcall1979 followed Arduino, LEDs, Tools, Woodworking and 1 other channel
    • Automatic Scoring for a Small Skee-Ball Game
      429 views
      3 favorites
      1 comments
  • gcall1979's instructable Another Skee-Ball Machine's weekly stats:
    • Another Skee-Ball Machine
      272 views
      7 favorites
      1 comments
    • Electronic Scoring for a Bean Bag Toss Baseball Game
      256 views
      4 favorites
      1 comments
  • gcall1979 followed science, backyard, water, boats and 7 others channel