Introduction: Home Made Toy Cash Register With Arduino

Picture of Home Made Toy Cash Register With Arduino

Hi, I'm a 14 year old maker. I mainly use Arduino UNO and things I can buy from the fry's shop I live next to or things from around the house. My younger sisters were drawing keyboards on paper and pretending to be a cashier at a fast food chain, so, I got inspired and made my own with cardboard, the arduino, and a few parts.

You Will Need

  • Arduino UNO
  • 16x2 LCD
  • 4x4 keypad
  • Some wires

You Will Want

  • A cardboard box
  • An old cardboard toilet paper roll
  • A piezo buzzer (highly recommended)

I'll attach the code at the end. By the way, I'm using an lcd screen from tinkerkit, which is now out of business. You will have to modify the code if you are using a standard lcd screen. I may update this later to show how to make this without the tinkerkit lcd screen.

Watch the video then let's get making!

Step 1: Build the Register

Picture of Build the Register

Using A Knife Or Razor

You'll need to make three cuts on your cardboard box, you can use anything but I used a dual bladed batman knife for some reason. Make one for the power cord unless you plan on using a 5V for power. I would make this cut out of view from the potential customer for better presentation. Your next two cuts will be on top. Make one for the power cords that will power the lcd screen and make one for the 4x4 keypad to fit through. Oh yes, one more cut that may not be necessary in some cases. My cardboard tube for the lcd screen was too long so I cut it, you may need to do that too.

Taping

You'll want to tape down two things, first, tape down the cardboard tube over the hole that will be used for the lcd power cords later. You can tape down the keypad now, but I would do it last, after the arduino is in place.

Step 2: Code Your Register

Personally, I think you could make code better than mine, but if you're in a rush, you can just use mine.

Note: This is old code, I would recommend you add a piezo buzz as soon as the total is displayed, to give the cashier heads up that they can select the next item.

UPDATE: I uploaded new code that has real prices and now the 'A' is a back button in case you make a mistake.

Step 3: Put It All Together

Picture of Put It All Together

Place the Arduino in the box and connect the keypad and the lcd screen. Tape down the keypad.

Tip: Cut two notches in the cardboard tube and then put the lcd screen in the notches so it stands up.

Pinout

So, the pinout goes as follows. The buzzer's '+' should be matched to Arduino pin 5. The keypad's pins from left to right should be Arduino pins 9 8 7 6 13 12 11 10. The lcd pinout will be on the next step.

Step 4: Tinkerkit LCD Module

Picture of Tinkerkit LCD Module

This is the pinout for using serial mode on tinkerkit lcd screen.

Buy 'em here.

Questions? Feedback?

This is my first instructable, I'd like to know how I did, please comment, vote, and favorite if you like it!

Comments

ElijahH3 (author)2016-06-12

I updated the code, it has a few more functions to it such as the 'A' key is now a back button and the chick-fil-a prices are corrected.

subzero69 (author)2017-11-02

Is this the correct code? as that's what ive downloaded from here

#define CUSTOM_SETTINGS

#define INCLUDE_KEYPAD_SHIELD

/* Include 1Sheeld library. */

#include <OneSheeld.h>

/* Define an iterator. */

int iterations = 0;

/* A name for the LED on pin 13. */

int ledPin = 13;

void setup()

{

/* Start communication. */

OneSheeld.begin();

/* Set the LED as output. */

pinMode(ledPin,OUTPUT);

}

void loop()

{

/* Check if "1" is pressed, iterate one time. */

if(iterations == 0 && isOnePressed())

{

iterations++;

}

/* Check if "2" is pressed, iterate one time. */

else if (iterations == 1 && isTwoPressed())

{

iterations++;

}

/* Check if "3" is pressed, iterate one time. */

else if (iterations == 2 && isThreePressed())

{

iterations++;

}

/* Check if "4" is pressed, iterate one time. */

else if(iterations == 3 && isFourPressed())

{

iterations++;

}

/* Check if any other button is pressed, reset iterations. */

else if(isOtherButtonPressed())

{

iterations = 0;

}

/* Check if the number of iterations is 4, blink the LED. */

if(iterations == 4)

{

digitalWrite(ledPin,HIGH);

OneSheeld.delay(500);

digitalWrite(ledPin,LOW);

/* Reset the iterator. */

iterations = 0;

}

}

/* Helper functions check if a certain button is pressed by checking its row and column. */

boolean isOnePressed(){

return Keypad.isRowPressed(0) && Keypad.isColumnPressed(0);

}

boolean isTwoPressed(){

return Keypad.isRowPressed(0) && Keypad.isColumnPressed(1);

}

boolean isThreePressed(){

return Keypad.isRowPressed(0) && Keypad.isColumnPressed(2);

}

boolean isFourPressed(){

return Keypad.isRowPressed(1) && Keypad.isColumnPressed(0);

}

boolean isOtherButtonPressed(){

return ((Keypad.isAnyColumnPressed() || Keypad.isAnyColumnPressed()) && !isOnePressed() && !isTwoPressed() && !isThreePressed() && !isFourPressed());

}

ElijahH3 (author)subzero692017-11-07

It should work. Experiencing any problems?

lkjhgfdsaq (author)2017-05-16

DO YOU HAVE LINKS FOR THE PARTS I NEED TO BUY I NEED THIS ASAP ITS MY FINAL PROJECT FOR HIGHSCHOOL AND IF I DONT HAND IT IN IMMA BE HELD BACK FROM HARVARD.

ElijahH3 (author)lkjhgfdsaq2017-11-07

Sorry I wasn't able to see this comment. The seller actually does not sell the lcd module anymore so my best guess would be amazon.

DIY Hacks and How Tos (author)2016-06-04

Cool. My kids would love something like this.

Thank you!

About This Instructable

534views

5favorites

License:

Bio: When I was ten, my dad gave me an Arduino. Since then, I've been building everything I can think of with the few tools ... More »
More by ElijahH3:Home Made Toy Cash Register With Arduino
Add instructable to: