Sorry, here is the code 
import serial import numpy as np import matplotlib.pyplot as plt import time
serial_port = 'COM19'
baud_rate = 250000
label_name = 'circle'
num_class_samples = 10 # Number of samples to collect
time_per_sample = 2.0 # Seconds
accel_sample_rate = 100 # Times per second (Hz) to read from acceleromater
num_accel_samples = int(time_per_sample * accel_sample_rate)
ser = serial.Serial(serial_port, baud_rate, timeout=1)
time.sleep(2)
ser.write('r'.encode('ascii'))
line = ser.readline()
ser.close()
print(line)
def capture_accel(ser, nsamples):
samples = np.zeros((nsamples, 3))
for i in range(nsamples):
# Use timer to determine when to take measurement next
start = time.time()
(from here is a code online)
# Transmit 'r' to have Arduino respond with X, Y, and Z acceleration
ser.write('r'.encode('ascii'))
line = ser.readline()
parsed = line.decode().rstrip().split('\t')
sample = np.array([float(axis) for axis in parsed])
samples[i] = sample
# Wait before reading again
while (time.time() - start) < (1. / accel_sample_rate):
pass
return samples
// Capture sample set
accel_data = np.zeros((num_class_samples, num_accel_samples, 3))
ser = serial.Serial(serial_port, baud_rate, timeout=1)
print('Waiting for Arduino to reset...')
time.sleep(2)
i = 0
while i < num_class_samples:
input('Press enter and draw shape with board')
try:
//Sample from Arduino
samples = capture_accel(ser, num_accel_samples)
accel_data[i] = np.array(samples)
print('Sample', i, 'captured with shape:', accel_data[i].shape)
i += 1
except:
print('Error parsing samples. Try again.')
pass
ser.close()
//Plotting data points
for sample_idx in range(5):
fig = plt.figure(figsize=(14,2))
ax = fig.add_subplot(111)
ax.plot(accel_data[sample_idx, :, 0], label='x')
ax.plot(accel_data[sample_idx, :, 1], label='y')
ax.plot(accel_data[sample_idx, :, 2], label='z')
plt.legend(loc='upper left')
plt.show()
// Save data
np.save(label_name, accel_data)
//Test: load array
test_data = np.load(label_name + '.npy') print(test_data)
Is this okay? I'm new to arduino and I was told majority of the code should be online and okay to use.