{"id":23289699,"url":"https://github.com/danielbacsur/robocup-junior-onstage","last_synced_at":"2026-02-14T04:44:33.904Z","repository":{"id":156503153,"uuid":"328162095","full_name":"danielbacsur/robocup-junior-onstage","owner":"danielbacsur","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-18T08:52:35.000Z","size":1282,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-20T04:17:38.932Z","etag":null,"topics":["arduino","competition","cpp","python","robocup","winner"],"latest_commit_sha":null,"homepage":"https://danielbacsur.com/projects/onstage","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielbacsur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-09T13:32:39.000Z","updated_at":"2024-12-18T08:57:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"257896ed-036e-450c-b26f-b74f843ce1f1","html_url":"https://github.com/danielbacsur/robocup-junior-onstage","commit_stats":null,"previous_names":["danielbacsur/robocup-junior-onstage"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbacsur%2Frobocup-junior-onstage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbacsur%2Frobocup-junior-onstage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbacsur%2Frobocup-junior-onstage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielbacsur%2Frobocup-junior-onstage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielbacsur","download_url":"https://codeload.github.com/danielbacsur/robocup-junior-onstage/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238563732,"owners_count":19492975,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","competition","cpp","python","robocup","winner"],"created_at":"2024-12-20T04:17:44.673Z","updated_at":"2025-10-27T22:30:48.673Z","avatar_url":"https://github.com/danielbacsur.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- ABOUT THE PROJECT --\u003e\n## Piano Interact\n```cpp\nvoid playInteract(int interSize, float inter[])\n{\n  for (int i = 0; i\u003cinterSize; i++) {\n    digitalWrite(solenoid[i%3 * 2], HIGH);\n    int del = i\u003cinterSize-1 ? 1000*(inter[i+1] - inter[i]) -25 \u003e 750 ? 750 : 1000*(inter[i+1] - inter[i]) -25 : 750;\n    delay(del);\n    digitalWrite(solenoid[i%3 * 2], LOW);\n  }\n}\n```\n\n## Run Plan\n1. Put long MIDI into HTML\n2. Paste out into DrumsRead.txt\n3. run main_drums.exe -\u003e into toDrums and toPiano.txt\n4. run Drums.ino in Arduino\n5. send start signal\n\n### Interaction:\n\n6. upload short MIDI to HTML\n7. paste out into DrumsRead.txt\n8. run main_drums.exe\n9. send array from toDrums.txt (with \"X\" instead of \"\\n\") to Drums, send array from toPiano.txt (with \"X\" instead of \"\\n\") to Piano + 2nd start signal\n\n\n## Video Script\n#### Title \u0026 Identification\n\u003c!-- Team Name --\u003e Hi, I'm David Halasz - and I'm Daniel Bacsur.\n\u003c!-- Country \u0026 Sub-league --\u003e We are DDStudio from Hungary, Budapest and this is our entry for the robocup onstage preliminary competition.\n\n#### Introduction and Summary\nFrom the team, we both loved theaters and acted in musicals. When the covid situation started, we thought we would have a musical performance for the RoboCup jury as well. Hence the idea of making a robotic band.\n\n#### Method / Robot Production / Design\n\u003c!-- A description of the choices made during the robots’ production, including the rationale underlying those choices.\nProduction includes the design, construction, programming, component selection, and overall process. Teams should indicate the programming language, sensors used, time and cost of development. --\u003e\nOur performance consists of a piano, a drum set, a so-called ‘clapping robot’ and an automated visual system.\nThe whole band is controlled by a computer that we wanted to use a raspberry pi for, but we had several problems with the ARM64 based system, so we stayed with windows.\n\nThe PC runs a program that communicates with the arduinos via UART to send starting signals and an array of what notes they have to play, which we get from a MIDI file. This program also controls scenes and sounds for the projector using a package called OBS-websocket.\n\n#### Piano\nwe have attached a slider above the synthesizer on this slider there are eight solenoids which press down on the keys and a stepper motor which is responsible for the movement of the slider these are controlled by a simple mosfet system and an arduino nano microcontroller\n\n#### Drum\nwe put a solenoid over each drum and symbol\n\nthe solenoids are connected to a mosfet system identical to the one on the piano and yet again an arduino nano\n\n#### The Band\nDuring the performance the band, consisting of the two robots accompanied by us playing another piano and a guitar, will play a song together. The plan was to then ask a member of the jury to play something on the drums, that the drums will play back with an accompaniment form the piano, with which the drum communicates to tell it when it has to play. Unfortunately, due to COVID-19 and the event being held online, we cannot accomplish this, hence we had to play something on the drums instead of a jury member. :((\n\n#### Conclusion\nWe hope you enjoyed this video and will enjoy our performance. Thank you for your attention! This was DDStudio.\n\n[Video](https://github.com/) \u0026\n[Raw Materials](https://github.com/)\n\n\n## TODO:\n- [ ] Change arrays from int to short, arrayTime from double to float\n- [ ] Maybe combine 2 elemts of array\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielbacsur%2Frobocup-junior-onstage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielbacsur%2Frobocup-junior-onstage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielbacsur%2Frobocup-junior-onstage/lists"}