This shows you the differences between two versions of the page.
pm:prj2022:agmocanu:pianotiles [2022/05/25 23:06] maria.sibiceanu [Software Design] |
pm:prj2022:agmocanu:pianotiles [2022/05/27 20:59] (current) maria.sibiceanu |
||
---|---|---|---|
Line 18: | Line 18: | ||
{{:pm:prj2022:agmocanu:piano_tiles_circuit.png?600|}} | {{:pm:prj2022:agmocanu:piano_tiles_circuit.png?600|}} | ||
+ | |||
+ | {{:pm:prj2022:agmocanu:piano.jpeg?600|}} | ||
Line 23: | Line 25: | ||
===== Software Design ===== | ===== Software Design ===== | ||
- | Arduino reads the voltage drop across the LDR. Observe the voltage voltages for black and white tiles, and choose a suitable threshold voltage say Vt. If the voltage is less than the threshold voltage, then there is a larger drop across LDR, the larger the resistance, which implies a Black tile and vice versa. We have simulated the touch accordingly. The values of the delays can be tweaked to get the best result. | + | Arduino reads the voltage drop across the LDR. Observe the voltage for black and white tiles, and choose a suitable threshold voltage to say Vt ( in this case it's 700). If the voltage is less than the threshold voltage, then there is a larger drop across LDR, the larger the resistance, which implies a Black tile and vice versa. I have simulated the touch accordingly. The values of the delays can be tweaked to get the best result. |
- | + | ||
- | // Arduino(Embedded) C code for the project | + | |
- | // Pin 4, 5, 6, 7 -> Relay output. | + | |
- | // Pin A2, A3, A4, A5 -> Analog input value from the LDR's. | + | |
- | // Analog value less than 700 implies it Black tile. | + | |
- | // NOTE: Its is to be caliberated based on ambient intensity | + | |
- | // and screen brightness. | + | |
- | // Used void loop() and void setup(). | + | |
+ | * Arduino(Embedded) C code for the project | ||
+ | * Pin 4, 5, 6, 7 -> Relay output | ||
+ | * Pin A2, A3, A4, A5 -> Analog input value from the LDRs. | ||
+ | * Analog value less than 700 implies it Black tile. | ||
+ | * NOTE: It is to be calibrated based on ambient intensity and screen brightness. | ||
+ | * Used void loop() and void setup(). | ||
Line 44: | Line 44: | ||
+ | ===== Conclusion ===== | ||
+ | |||
+ | I have managed to complete all the requirements for a good project. There are still small problems regarding the LDR because of the phone's screen and the Relay's ability to conduct. I have learned how to use Arduino software to connect LDRs wires and coins accordingly so that the current will go through the coins correctly. | ||
+ | |||
+ | ===== Download ===== | ||
+ | |||
+ | |||
+ | Arduino Code: https://github.com/ShibaInu66/PianoTiles-Game | ||
+ | |||
+ | |||
+ | ===== Journal ===== | ||
+ | |||
+ | * 5.05.2022: Decided on the project + started the documentation | ||
+ | * 12.05.2022: Gathering all the components | ||
+ | * 15.05.2022: Assembling everything | ||
+ | * 20.05.2022: Completing the Arduino Code | ||
+ | * 24.05.2022: Concluding the documentation | ||
+ | |||
+ | |||
+ | ===== Bibliography ===== | ||
+ | |||
+ | [[https://ocw.cs.pub.ro/courses/pm/lab/lab1-2022|USART]] | ||
+ | |||
+ | [[https://www.instructables.com/Arduino-and-a-LDR-Light-Dependent-Resistor/|LDR Arduino]] | ||
+ | |||
+ | [[https://arduinogetstarted.com/tutorials/arduino-relay|Relay Arduino]] | ||
+ | -------------------------------- | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||