Arduino Lottery Terminal

Hello, I have a project for my engineering class where my group needs to build a "terminal" for collecting eligible participant numbers for a raffle/lottery style fundraiser. Basically this terminal would be very similar to the Arduino piggybank projects that I have seen on the internet. It would require a micro-controller, LCD screen, coin acceptor, keypad for entering participant numbers. A user would drop their coin into the slot and when $2 had been donated, the machine will ask for the eligible participant number, which the user would enter on the keypad.

None of the group members have any experience with Arduino but we all took a class on C. I have had some trouble looking for a keypad for the machine (it must have an enter and a backspace key, similar to an ATM).

What particular resources would one recommend that we look at for this project? Would an Arduino Uno be enough for this project? Can the Arduino store the participant numbers? Is it possible to pair a Raspberry Pi with an Arduino?

Any advice/tips is greatly appreciated! Thanks.

What particular resources would one recommend that we look at for this project?

The parts will depend on how in-depth you want to make it. All you need is a basic 16x2 LCD (I recommend you get one with an I2C backpack, as it only requires two data pins plus 5+ and Gnd) The keypad can be made from tactile buttons and some soldering or you can go to an electronic website like Adafruit or Digikey and get a premade basic keypad. If you require the buttons to have specific text on them then you may need to do it yourself or keep looking around and hope someone somewhere has made what you want.

Im not familiar with a coin slot for the arduino, but I have seen other people here on the forum talk about using one so it worth looking into.

Can the Arduino store the participant numbers? Is it possible to pair a Raspberry Pi with an Arduino?

Yes and Yes. Do you know how many participants there will be or do you just want to add as people come in? Both can be done, but adding as you go instead of setting a set amount will require you to allocate memory as you go. Can you handle that?

As far as pairing with a RPi, yes, you can do so using a UART connection. Now if you do plan on using a Uno for your project then the easiest way of getting them to talk to each other is using the USB cable. You will of course need to download and install the serial library for the Pi, but that is rather easy. Also the Uno should also have its own power supply and not depend on the RPi to supply the voltage. (You will burn out the pi if you do)

One more thing, why would you allow them to enter a number instead of supplying them with a random unique number? What if two people enter the same number or a number greater than what can be held, what happens then? They should just enter $2 in coins then be given a number, not enter one.

Unfortunately, the way that the lottery system works, a participant must "sign-in" every week in order to be eligible and participant numbers have been assigned to a player. The participants have been maxed out, I am pretty sure that there are only 15,000 participant numbers.

After a number has been entered it would be saved for compiling later by the organization. If the same participant number is entered more than once, only first would count. If a number greater than eligible participant numbers is entered, it would be invalid and have to be entered again. I specifically asked about the Pi because it seems like storing all of the data on the Pi and having the removable memory card would be ideal for data collection.

If your intent of using a RPi is just for storing the data to an SD card then you can just cut the middle man and go directly to an SD card using an SD card module. They are quite cheap, I think the last one I bought was about $6 or $7 on ebay. You would make a file (.txt if you want view them easily on a PC) then just append the numbers to that file. There is also a few example sketches that show just this.

Or perhaps you want to make a GUI that stores and shows all the participants on the RPi. Combine the SD card and PC into one. That is easy too.

having the removable memory card would be ideal for data collection.

I don't think you can use the same SD card for the RPi image and still be able write the numbers to .txt file that can then be read on another computer. Again I don't think that is possible as I have not been able to do it myself.

Does the Uno have enough pins to run the SD card, coin acceptor, LCD, and keypad?

It depends on what you get. What research have you done on these parts?

If you get a 16x2 or 20x4 LCD display (with I2C backpack), then 4 wires is the minimum it will take. 2 for power and 2 for data.
The Keypad "can" have a minimum of 3 wires, 2 power and 1 data.

I have no idea on the coin acceptor.
The SD Card can have a minimum of 4 wires also, but most will have 6.

An Arduino UNO has 20 usable pins, the parts you get will decide your board.