Team Status Report: 4/3

This week, each of us have been trudging along on our separate subsystems. Patrick has been focusing on the dealer UI and the player UI, Steve has been working on the servo, and Brandon has been working with the CV. So far, the player UI seems just about finished and the dealer UI is aesthetically done as well. The CV is coming along, but there is a bit of concern regarding lighting conditions.  Steve has also been 3-D printing the assembly, which should be done by tomorrow. In addition, all of us have been getting to integrate everything together into the game state tracker, which has proven to be a little more challenging to design than expected. However, we’ve made good progress and have a barebones structure lain out for it; this should be enough to get us ready for integration next week. For the MVP, we want to show the device scanning stacks and updating at least a single person’s values.

Brandon’s Status Report: 3/27

Due to midterms and several large homeworks, I was unable to get as much done as I wanted this week. That being said, I have completed the calibration routine and am working on the color masking for the computer vision. An example of the calibration can be seen in the image below:

where you can click on the picture and it will automatically calibrate to the RGB threshold values to +/- a delta of the pixel you have highlighted. In addition, I have finished the CAD, so we should be getting ready to 3D print soon!

 

Zongpeng Yu’s Status Report 3/27

So we decided to make some changes to the servo subsystem. Instead of hooking the servo up directly to raspberry pi, we hooked it up to Arduino instead. The reason for this is because Raspberry Pi’s GPIO pins aren’t  able to  reliably read feedback PMW from the servo.  Attached is a video of servo spinning 90 degree each second. it is also capable from rotating more than 360 degrees if we want to thanks to it being a continuous servo. The library i used is from here:  https://github.com/HyodaKazuaki/Parallax-FeedBack-360-Servo-Control-Library-4-Arduino. Next step I will set up the serial communication between Raspberry Pi and Arduino so the GST(game state tracker) could send me the location where the servo should turn to.

Team Status Report: 03/13/2021

This week everyone had midterms so we didn’t meet at a group. However, we finalized the table design and people are starting to work on their own tasks. Pat and Brandon are still waiting for their parts. They should arrive soon. Next week we will be able to start writing code for our individual components. And after that’s done we will work on the game state control together.

Zongpeng Yu’s Status Report for 03/13/2021

I picked up all the parts this Friday. However because I had a bunch of midterms this week I wasn’t able to do much. I did set up raspbian so next step will be hooking up the servo to the board and set up i2c connections and use servo library to do some simple testing. Once thats done, I will need to talk to Pat who’s in charge of dealer software and game state control to figure out how to rotate the servo based on which player is in action.

Zongpeng Yu’s Status Report for 03/06/2021

Our team worked on the slides for design presentation.  Since I was not home for the past 2 weeks, I didn’t have the pi on me.  However, I did look up how to set up rasbian OS, read the syntax for adafruit servo library to control the servo, and learn how to  configure i2c for the adafruit motor driver. The code shouldn’t be too bad so I planned to start writing the firmware for servo after the midterm week and finish it in a week. I think the most challenging part is to integrate everything together so we might dedicate more time for the integrating phase.

Team Status Report: 03/06/2021

This week our team met and made great progress. We solidified our design specifications for the Smart Poker Table, and elaborated on the game flow for the dealer interface. We made block diagrams for the game flow in software and explained how different components will be communicating with each other on a macro level. We also constructed a Bill of Materials for all our expenses, and placed orders for these parts. We are currently working on our team presentation, and are looking forward to a good presentation on Monday.

Zongpeng Yu’s Status Report for 02/27/2021

This week I looked for motor that we gonna use to spin the camera. We decided on using a servo because we can have it rotate to an exact location. Also there is no need for motor controller because we are only having one servo and we need external power supply for it.

The part i picked is a 360 continuous rotation servo with feedback from adafruit. With the feedback, we can determine the location/rotation of the servo and we could use PWM to let it rotate to certain player’s position. Also this servo provides enough torque to support the camera on top of it. 

The link is: https://www.adafruit.com/product/3614?gclid=Cj0KCQiA-OeBBhDiARIsADyBcE4ks19fWb6nEjYKXbqq6JSbYBFpyEwgnjR2dLRSK4ZkQxkaQgekr6MaArZCEALw_wcB

Servo driver: https://www.digikey.com/en/products/detail/adafruit-industries-llc/815/4990757?s=N4IgjCBcoLQBxVAYygMwIYBsDOBTANCAPZQDa4ArAEwIC6AvvYVWSHGBSIWAGwAESABboAdiNyYQDIA

Brandon also shared a servo on raspberry pi tutorial: https://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi/using-the-adafruit-library

Team Status Report: 2/27/2021

We spent the beginning of the week participating in the group presentation review. At the end of the week, we met and solidified our thoughts regarding specific software and hardware choices. To summarize, we decided to use a Servo as the motor for our spinning camera, a standard web camera for our CV, and to centralize all our software on a Raspberry Pi. A minor setback this week is deciding who should receive the parts, as some of the team is currently located outside of Pittsburgh. Once we finalize that and other outstanding design choices, we will begin placing orders.

Brandon’s Status Report: 02/27/21

This week’s progress has been slightly slower than I had expected. I spent some time reacquainting myself with OpenCV and looking at hardware elements we might need for the project. Two examples of good cameras I have found are:

Both meet the technical requirements we placed for the cameras except maybe for power. However, since USB 2.0 is power limited by 0.5 A max, then the theoretical upper bound on the webcam power usage is 2.5 W, which is perfectly acceptable.

 

Next week, I hope our team can get together and work on the design for representing game state.