TonesBalones

Cannot have 2 inputs problem.

Oct 21st, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. Python Code
  2. #A program to read inputs and send them to Arduino
  3. import serial #Sends data to Arduino through serial.Serial
  4. import time
  5. import pygame #has functions to read keyboard inputs.
  6.  
  7. pygame.init() #initialize pygame or something
  8. screen_width=100
  9. screen_height=100
  10. pygame.display.set_mode([screen_width,screen_height]) #makes a window for pygame to run off
  11.  
  12. arduino = serial.Serial('COM3',9600) #the target Arduino to send data to.
  13. time.sleep(0.5)
  14.  
  15. print("Start")
  16. while True:
  17. for event in pygame.event.get(): #starts the event queue
  18. if event.type == pygame.KEYDOWN: #KEYDOWN activates when a key is pressed
  19. if event.key == pygame.K_f:
  20. arduino.write(b'1') #verifies which keys were pressed and sends
  21. if event.key == pygame.K_r: #a data value to activate one of the 8 LEDs
  22. arduino.write(b'2')
  23. if event.key == pygame.K_d:
  24. arduino.write(b'3')
  25. if event.key == pygame.K_e:
  26. arduino.write(b'4')
  27. if event.key == pygame.K_s:
  28. arduino.write(b'5')
  29. if event.key == pygame.K_w:
  30. arduino.write(b'6')
  31. if event.key == pygame.K_a:
  32. arduino.write(b'7')
  33. if event.key == pygame.K_q:
  34. arduino.write(b'8')
  35. else: arduino.write(b'0') #turns the LED off when a key is not pressed.
  36. #Could also use KEYUP somehow.
  37.  
  38. Arduino Code
  39. int data;
  40.  
  41. void setup()
  42. {
  43. Serial.begin(9600);
  44. pinMode(2, OUTPUT);
  45. digitalWrite (2, LOW); //initially set to low //Sets up all the pins for use
  46. pinMode(3, OUTPUT);
  47. digitalWrite (3, LOW); //initially set to low
  48. pinMode(4, OUTPUT);
  49. digitalWrite (4, LOW); //initially set to low
  50. pinMode(5, OUTPUT);
  51. digitalWrite (5, LOW); //initially set to low
  52. pinMode(6, OUTPUT);
  53. digitalWrite (6, LOW); //initially set to low
  54. pinMode(7, OUTPUT);
  55. digitalWrite (7, LOW); //initially set to low
  56. pinMode(8, OUTPUT);
  57. digitalWrite (8, LOW); //initially set to low
  58. pinMode(9, OUTPUT);
  59. digitalWrite (9, LOW); //initially set to low
  60. Serial.println("This is my First Example.");
  61. }
  62.  
  63. void loop()
  64. {
  65. while (Serial.available()) //receives data from python script
  66. {
  67. data = Serial.read(); //stores data in a variable
  68. }
  69.  
  70. if (data == '1') //reads data and lights an LED
  71. digitalWrite (2, HIGH);
  72. if (data == '2')
  73. digitalWrite (3, HIGH);
  74. if (data == '3')
  75. digitalWrite (4, HIGH);
  76. if (data == '4')
  77. digitalWrite (5, HIGH);
  78. if (data == '5')
  79. digitalWrite (6, HIGH);
  80. if (data == '6')
  81. digitalWrite (7, HIGH);
  82. if (data == '7')
  83. digitalWrite (8, HIGH);
  84. if (data == '8')
  85. digitalWrite (9, HIGH);
  86.  
  87. else if (data == '0') //turns off LED if not.
  88. digitalWrite (2, LOW);
  89. digitalWrite (3, LOW);
  90. digitalWrite (4, LOW);
  91. digitalWrite (5, LOW);
  92. digitalWrite (6, LOW);
  93. digitalWrite (7, LOW);
  94. digitalWrite (8, LOW);
  95. digitalWrite (9, LOW);
  96.  
  97. }
Add Comment
Please, Sign In to add comment