Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Python Code
- #A program to read inputs and send them to Arduino
- import serial #Sends data to Arduino through serial.Serial
- import time
- import pygame #has functions to read keyboard inputs.
- pygame.init() #initialize pygame or something
- screen_width=100
- screen_height=100
- pygame.display.set_mode([screen_width,screen_height]) #makes a window for pygame to run off
- arduino = serial.Serial('COM3',9600) #the target Arduino to send data to.
- time.sleep(0.5)
- print("Start")
- while True:
- for event in pygame.event.get(): #starts the event queue
- if event.type == pygame.KEYDOWN: #KEYDOWN activates when a key is pressed
- if event.key == pygame.K_f:
- arduino.write(b'1') #verifies which keys were pressed and sends
- if event.key == pygame.K_r: #a data value to activate one of the 8 LEDs
- arduino.write(b'2')
- if event.key == pygame.K_d:
- arduino.write(b'3')
- if event.key == pygame.K_e:
- arduino.write(b'4')
- if event.key == pygame.K_s:
- arduino.write(b'5')
- if event.key == pygame.K_w:
- arduino.write(b'6')
- if event.key == pygame.K_a:
- arduino.write(b'7')
- if event.key == pygame.K_q:
- arduino.write(b'8')
- else: arduino.write(b'0') #turns the LED off when a key is not pressed.
- #Could also use KEYUP somehow.
- Arduino Code
- int data;
- void setup()
- {
- Serial.begin(9600);
- pinMode(2, OUTPUT);
- digitalWrite (2, LOW); //initially set to low //Sets up all the pins for use
- pinMode(3, OUTPUT);
- digitalWrite (3, LOW); //initially set to low
- pinMode(4, OUTPUT);
- digitalWrite (4, LOW); //initially set to low
- pinMode(5, OUTPUT);
- digitalWrite (5, LOW); //initially set to low
- pinMode(6, OUTPUT);
- digitalWrite (6, LOW); //initially set to low
- pinMode(7, OUTPUT);
- digitalWrite (7, LOW); //initially set to low
- pinMode(8, OUTPUT);
- digitalWrite (8, LOW); //initially set to low
- pinMode(9, OUTPUT);
- digitalWrite (9, LOW); //initially set to low
- Serial.println("This is my First Example.");
- }
- void loop()
- {
- while (Serial.available()) //receives data from python script
- {
- data = Serial.read(); //stores data in a variable
- }
- if (data == '1') //reads data and lights an LED
- digitalWrite (2, HIGH);
- if (data == '2')
- digitalWrite (3, HIGH);
- if (data == '3')
- digitalWrite (4, HIGH);
- if (data == '4')
- digitalWrite (5, HIGH);
- if (data == '5')
- digitalWrite (6, HIGH);
- if (data == '6')
- digitalWrite (7, HIGH);
- if (data == '7')
- digitalWrite (8, HIGH);
- if (data == '8')
- digitalWrite (9, HIGH);
- else if (data == '0') //turns off LED if not.
- digitalWrite (2, LOW);
- digitalWrite (3, LOW);
- digitalWrite (4, LOW);
- digitalWrite (5, LOW);
- digitalWrite (6, LOW);
- digitalWrite (7, LOW);
- digitalWrite (8, LOW);
- digitalWrite (9, LOW);
- }
Add Comment
Please, Sign In to add comment