Привет всем читателям Хабра. Поскольку я новичок, то моя статья может быть не очень правильной, но я считаю, что материал предоставленный мной, может представлять определенный интерес. Тема моей статьи посвящена взаимодействию микроконтроллеров arduino и среды разработки visual studio. В данной статье я приведу пример управления регистром 74hc595 с помощью приложения windows forms создаваемом в visual studio.
В своем примере я использовал светодиодную шкалу, но вместо нее можно использовать и обычные светодиоды.
Ниже приведена схема подключения регистра к шкале и контроллеру. В данном случае использовались резисторы сопротивлением 240 ом.

Я извиняюсь за неточность в изображение и отмечу, что схему подключения регистра сдвига можно найти в интернете. В среде arduino ide нужно создать следующий скетч, с помощью которого будет осуществляться управление регистром сдвига.
После загрузки скетча в контроллер нужно перейти в среду разработки visual studio.
В visual studio необходимо выбрать проект Windows Forms (.net Framework).

В данном проекте необходимо создать форму состоящею из 3 элементов: кнопки, трекбара и прогресбара.

Файл Form1.cs необходимо изменить следующим образом:
Запустив приложение, вы увидите, что количество включенных светодиодов изменяется при перемещение ползунка трекбара.
Спасибо за внимание.
В своем примере я использовал светодиодную шкалу, но вместо нее можно использовать и обычные светодиоды.
Ниже приведена схема подключения регистра к шкале и контроллеру. В данном случае использовались резисторы сопротивлением 240 ом.

Я извиняюсь за неточность в изображение и отмечу, что схему подключения регистра сдвига можно найти в интернете. В среде arduino ide нужно создать следующий скетч, с помощью которого будет осуществляться управление регистром сдвига.
int regim[]={//массив для выбора используемых светодиодов
0b00000000,//0
0b10000000,//1
0b11000000,//2
0b11100000,//3
0b11110000,//4
0b11111000,//5
0b11111100,//6
0b11111110,//7
0b11111111,//8
};
int chislo;int prow=11;
#define DATA 13 // контакт SER регистра
#define LATCH 12 // контакт RCLK регистра
#define CLOCK 11 // контакт SRCLK регистра
void setup() {
//Открытие последовательного порта
Serial.begin(9600);
//Установка выходов контроллера в режим выхода
pinMode(DATA,OUTPUT);
pinMode(LATCH,OUTPUT);
pinMode(CLOCK,OUTPUT);
}
void loop() {
chislo=Serial.parseInt()-1;// прием данных serial порта
if(chislo!=prow){//пролверка на повторение значения
digitalWrite(LATCH,LOW);
shiftOut(DATA,CLOCK,MSBFIRST,regim[chislo]/*установка режима выбранных светодиодов*/);
digitalWrite(LATCH,HIGH);
prow=chislo;
}
}
После загрузки скетча в контроллер нужно перейти в среду разработки visual studio.
В visual studio необходимо выбрать проект Windows Forms (.net Framework).

В данном проекте необходимо создать форму состоящею из 3 элементов: кнопки, трекбара и прогресбара.

Файл Form1.cs необходимо изменить следующим образом:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp8
{
public partial class Form1 : Form{
public Form1()
{
InitializeComponent();
progressBar1.Maximum = 8;progressBar1.Minimum = 0;
trackBar1.Minimum = 1;trackBar1.Maximum = 9;
serialPort1.PortName = "COM10";//Номер com порта к которому подключен контроллер
serialPort1.BaudRate = 9600;//Скорость обмена данными с контроллером
button1.Text = "Close";//Задание текста отображаемого на кнопке
while (serialPort1.IsOpen != true) serialPort1.Open();//открыть serialport если он закрыт
}
private void trackBar1_Scroll(object sender, EventArgs e)//действия происходящие при
// перемещение ползунка trackbar
{
progressBar1.Value = trackBar1.Value - 1;//Установить положение индикатора в соответствии с положением ползунка
serialPort1.WriteLine(trackBar1.Value.ToString());//оправить данные о положение ползунка в Serialport
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.Close();//выключить соединение
this.Close();//выключить приложение
}
}
}
Запустив приложение, вы увидите, что количество включенных светодиодов изменяется при перемещение ползунка трекбара.
Спасибо за внимание.