KL46Z code to use in conjunction with a PyQt GUI over a serial communication.

Dependencies:   mbed

Here is the Python code for the PyQt Gui...

from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys
import serial
  
def printNumber(number):
    print number
    ser = serial.Serial('COM5',9600)   
    #state which port the KL46Z is connected to and the baud rate

    ser.write(unichr(number).encode()) 
    #encode number from slider and send the encoded character to KL46Z
  
if __name__=="__main__":
    app=QApplication(sys.argv)
    slider=QSlider(Qt.Horizontal)
    slider.setRange(1,127)
    slider.setFixedWidth(400)
    slider.setSliderPosition(64)
    #create a QApplication and QSlider
    
    QObject.connect(slider,SIGNAL("valueChanged(int)"),printNumber)
    #call the printNumber funciton each time the value on the slider changes 
  
    slider.show()
    #start the loop
    sys.exit(app.exec_())
Committer:
covrigs
Date:
Fri Dec 09 19:58:50 2016 +0000
Revision:
0:f2c6afc8e527
For ECE 111, Lab 4. KL46Z receives serial data from a python GUI and controls a motor via an L293D.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
covrigs 0:f2c6afc8e527 1 #include "mbed.h"
covrigs 0:f2c6afc8e527 2
covrigs 0:f2c6afc8e527 3 #ifndef MBED_MOTOR_H
covrigs 0:f2c6afc8e527 4 #define MBED_MOTOR_H
covrigs 0:f2c6afc8e527 5 #define LEFT 1
covrigs 0:f2c6afc8e527 6 #define RIGHT 2
covrigs 0:f2c6afc8e527 7
covrigs 0:f2c6afc8e527 8
covrigs 0:f2c6afc8e527 9 class Motor {
covrigs 0:f2c6afc8e527 10
covrigs 0:f2c6afc8e527 11 public:
covrigs 0:f2c6afc8e527 12
covrigs 0:f2c6afc8e527 13 Motor (PinName Positive, PinName Negative);
covrigs 0:f2c6afc8e527 14
covrigs 0:f2c6afc8e527 15
covrigs 0:f2c6afc8e527 16 void Spin(float move);
covrigs 0:f2c6afc8e527 17
covrigs 0:f2c6afc8e527 18 protected:
covrigs 0:f2c6afc8e527 19 PwmOut _positive;
covrigs 0:f2c6afc8e527 20 PwmOut _negative;
covrigs 0:f2c6afc8e527 21 };
covrigs 0:f2c6afc8e527 22
covrigs 0:f2c6afc8e527 23 #endif
covrigs 0:f2c6afc8e527 24