Инструменты пользователя

Инструменты сайта


oscilloscope-code

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

oscilloscope-code [2018/11/28 17:53]
super_admin
oscilloscope-code [2019/06/24 20:29]
Строка 1: Строка 1:
-====== Oscilloscope code ====== 
  
-[[https://​circuitdigest.com/​microcontroller-projects/​arduino-oscilloscope-code-circuit]] 
- 
-Для тех, кто программирует на Python в Windows, рекомендую простой редактор [[https://​thonny.org/​]] 
- 
-With pip installed, we can now install the other libraries we need.  ​ 
- 
-Open the command prompt for windows users, terminal for linux users and enter the following; 
-<code shell> 
-pip install pyserial 
-</​code>​ 
- 
-With this done, install matplotlib using; 
-<code shell> 
-pip install matplotlib 
-</​code>​ 
- 
-Drawnow is sometimes installed alongside matplotlib but just to be sure, run; 
-<code shell> 
-pip install drawnow 
-</​code>​ 
- 
-Немного скорректированный код 
- 
-<code python> 
-import time 
-import matplotlib.pyplot as plt 
-from drawnow import * 
-import serial 
-val = [ ] 
-cnt = 0 
-#create the serial port object 
-port = serial.Serial('​COM6',​ 9600, timeout=0.5) 
-plt.ion() 
- 
-#create the figure function 
-def makeFig(): 
-    plt.ylim(-1023,​1023) 
-    plt.title('​Osciloscope'​) 
-    plt.grid(True) 
-    plt.ylabel('​data'​) 
-    plt.plot(val,​ '​ro-',​ label='​Channel 0') 
-    plt.legend(loc='​lower right'​) 
- 
-while (True): 
-    port.write(b'​s'​) #handshake with Arduino 
-    if (port.inWaiting()):#​ if the arduino replies 
-        value = port.readline()#​ read the reply 
-        print(value)#​print so we can monitor it 
-        decode = value.decode('​utf-8'​).strip() 
-        print(decode) 
-        ​ 
-        number = int(decode) #convert received data to integer ​ 
-        print('​Channel 0: {0}'​.format(number)) 
-        # Sleep for half a second. 
-        time.sleep(0.01) 
-        val.append(number) 
-        drawnow(makeFig)#​update plot to reflect new data input 
-        plt.pause(.000001) 
-        cnt = cnt+1 
-    if(cnt>​50):​ 
-        val.pop(0)#​keep the plot fresh by deleting the data at position 0 
- 
-</​code>​ 
- 
-<code c++> 
-int sensorpin = A0; 
-void setup() { 
-  // initialize serial communication at 115200 bits per second to match that of the python script: 
-  Serial.begin(9600);​ 
-} 
-void loop() { 
-  // read the input on analog pin 0:########################################################​ 
-  int sensorValue = analogRead(sensorpin);​ 
-  byte data = Serial.read();​ 
-  if (data == '​s'​) 
-  { 
-    Serial.println(sensorValue);​ 
-    delay(100); ​       // delay in between reads for stability 
-  } 
-} 
-</​code>​ 
oscilloscope-code.txt · Последние изменения: 2019/06/24 20:29 (внешнее изменение)