Imports System.IO
Imports System.IO.Ports
Imports System.Threading
Public Class Form1
Shared _continue As Boolean
Shared serialPort1 As New SerialPort
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SerialPort1.Close()
SerialPort1.PortName = "com3" 'change com port to match your Arduino port
SerialPort1.BaudRate = 9600
SerialPort1.DataBits = 8
SerialPort1.Parity = Parity.None
SerialPort1.StopBits = StopBits.One
SerialPort1.Handshake = Handshake.None
SerialPort1.Encoding = System.Text.Encoding.Default 'very important!
End Sub
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim recievdata = {1, 1, 1}
serialPort1.Open()
serialPort1.Write("recievdata")
serialPort1.Close()
End Sub
End Class
Отправка массива через порт serial
Код:
Это код для приема массива данных на Arduino:
Код:
int ledPin1 = 9; //присвоение переменной ledPin1 целого значения "9"
int ledPin2 = 8;
int ledPin3 = 7;
void setup()
{
Serial.begin(9600); //открывает последовательный порт, устанавливает скорость 9600 бит/с
pinMode(ledPin1, OUTPUT); //устанавливает режим работы выхода 9 ардуино как "выход"
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop()
{
int Str[0];
if (Serial.available() > 2)
{
for (int i=0; i < 4; i++)
{
Str[i] = Serial.read();
}
int x=Str[0];
int y=Str[1];
int z=Str[2];
// дальше все работает
if (x == 1) //если переменная val = 1
{
digitalWrite(ledPin1, HIGH); //подается 5V на ledPin1
}
if (x == 0) //иначе, если значение переменноц val = 0
{
digitalWrite(ledPin1, LOW); //снимается 5V с ledPin1
}
if (y == 1) //если переменная val = 1
{
digitalWrite(ledPin2, HIGH); //подается 5V на ledPin1
}
if (y == 0) //иначе, если значение переменноц val = 0
{
digitalWrite(ledPin2, LOW); //снимается 5V с ledPin1
}
if (z == 1) //если переменная val = 1
{
digitalWrite(ledPin3, HIGH); //подается 5V на ledPin1
}
if (z == 0) //иначе, если значение переменноц val = 0
{
digitalWrite(ledPin3, LOW); //снимается 5V с ledPin1
}
}
}
int ledPin2 = 8;
int ledPin3 = 7;
void setup()
{
Serial.begin(9600); //открывает последовательный порт, устанавливает скорость 9600 бит/с
pinMode(ledPin1, OUTPUT); //устанавливает режим работы выхода 9 ардуино как "выход"
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop()
{
int Str[0];
if (Serial.available() > 2)
{
for (int i=0; i < 4; i++)
{
Str[i] = Serial.read();
}
int x=Str[0];
int y=Str[1];
int z=Str[2];
// дальше все работает
if (x == 1) //если переменная val = 1
{
digitalWrite(ledPin1, HIGH); //подается 5V на ledPin1
}
if (x == 0) //иначе, если значение переменноц val = 0
{
digitalWrite(ledPin1, LOW); //снимается 5V с ledPin1
}
if (y == 1) //если переменная val = 1
{
digitalWrite(ledPin2, HIGH); //подается 5V на ledPin1
}
if (y == 0) //иначе, если значение переменноц val = 0
{
digitalWrite(ledPin2, LOW); //снимается 5V с ledPin1
}
if (z == 1) //если переменная val = 1
{
digitalWrite(ledPin3, HIGH); //подается 5V на ledPin1
}
if (z == 0) //иначе, если значение переменноц val = 0
{
digitalWrite(ledPin3, LOW); //снимается 5V с ledPin1
}
}
}