Índice:
- Etapa 1: as cartas e os circuitos
- Etapa 2: o programa para executar uma máquina de estado multitarefa
- Etapa 3: para concluir
Vídeo: Máquina de estado e multitarefa no Arduino com expansores SPI: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Na semana passada, eu estava pedindo para criar um sistema para pilotar fogos de artifício com um arduino. Precisava de cerca de 64 saídas para controlar os incêndios. Uma maneira de fazer isso é usar expansores IC. Portanto, 2 soluções estão disponíveis:
- um expansor I2C, mas precisa de inversor quando você liga o IC (veja meu instrutivo anterior sobre máquina de estado finito) porque todas as saídas ligam e desligam rapidamente: um problema com fogos de artifício.
-um SPI também fácil de operar e sem problemas ao ligar.
Então decidi estudar esse tipo de expansor. Eu uso também uma máquina de estado com multitarefa para controlar 16 E / S digitais e 2 saídas analógicas. Este cartão é projetado para controlar sistemas de automação como um PLC.
Também estudei as diferenças e a translação entre os desenhos do diagrama de estado e outro gráfico bastante utilizado em automação: o SFC (Sequential Function Chart) baseado nas antigas redes de Petri.
en.wikipedia.org/wiki/Sequential_function_…
fr.wikipedia.org/wiki/Grafcet
Etapa 1: as cartas e os circuitos
Eu uso um arduino uno e 2 tipos de chips DIL:
- o expansor MCP23S17 2 x 16 I / O controlado com SPI
- o MCP4921, DAC 12 bits, 0 / 5V
Esses IC são muito baratos e confiáveis e também muito fáceis de vincular e programar. No esquema, usei alguns componentes adicionais, como capacitores de desacoplamento, resistores pull-down para as entradas.
Etapa 2: o programa para executar uma máquina de estado multitarefa
A ideia global é controlar a E / S digital e, enquanto isso, lançar um efeito fade ON / OFF nos LEDS conectados às duas saídas analógicas.
Outra coisa, eu faço propositalmente a conexão separada dos pinos CS (chip select) para ter mais possibilidades de mais IC no barramento SPI. Então eu usei:
- uma biblioteca especial para a máquina de estado
- uma biblioteca especial para o MCP23S17
-Nenhuma biblioteca especial para o MCP4921, o CS e o software de conexão SPI é "prático" feito.
Você pode ver nas fotos a tradução entre a máquina de estados esperados e o SFC (também chamado de GRAFCET ou gr7 em francês). Alguns termos comuns: estados concorrentes, multitarefa e encapsulamento.
Eu forneço as bibliotecas e o código-fonte com muitos comentários. Para lê-lo e entendê-lo, você também deve ler ao mesmo tempo o diagrama de estado ou o SFC.
Etapa 3: para concluir
Funciona!!
Ao ligar o sistema, você deve esperar alguns segundos e então usar o expansor (tempo para iniciar o barramento SPI).
O sistema tem reações muito rápidas e você precisa criar uma placa de interface de energia se quiser controlar qualquer máquina. Veja meus instructables anteriores, é muito fácil !!
Obrigado aos tutoriais muito interessantes e úteis em todo o mundo.
Manu4371.
Recomendado:
Máquina de estado finito em um MSP430: 6 etapas
Máquina de estado finito em um MSP430: Vou mostrar a você como programar um Launchpad MSP430G2 com máquinas de estado finito (FSM) usando YAKINDU Statechart Tools diretamente no Texas Instruments Code Composer Studio. Este tutorial contém seis etapas: Instalando YAKINDU Statechart Tools como
Robô Arduino Otto com máquina de estado: 4 etapas
Robô Arduino Otto com máquina de estado: Visão geral do projeto Neste projeto, quero mostrar a você uma maneira de programar o Robô Otto, que é um robô DIY baseado em Arduino. Usando YAKINDU Statechart Tools (grátis para não comerciais), podemos facilmente usar máquinas de estado para modelar graficamente o comportamento
Máquina de estado no Arduino - um semáforo de pedestres: 6 etapas (com imagens)
Máquina de estado no Arduino - um semáforo de pedestres: Olá! Vou mostrar a você como programar um semáforo de pedestres para o Arduino em C ++ com uma máquina de estado finito usando as ferramentas YAKINDU Statechart. Isso demonstrará o poder das máquinas de estado e pode ser usado como um plano para mais
Visor LCD I2C / IIC - Use um LCD SPI para o visor LCD I2C Usando o módulo SPI para IIC com Arduino: 5 etapas
Visor LCD I2C / IIC | Use um LCD SPI para o Display LCD I2C Usando o Módulo SPI para IIC com Arduino: Oi pessoal, já que um LCD SPI 1602 normal tem muitos fios para conectar, então é muito difícil fazer a interface com o arduino, mas há um módulo disponível no mercado que pode converter a exibição SPI em exibição IIC, então você precisa conectar apenas 4 fios
Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI: 8 etapas
Arduino PLC 32 I / O + Máquina de Estado + SCADA ou HMI: Muitas maneiras de programar, controlar e supervisionar um sistema industrial com Arduino