Съдържание:
- Стъпка 1: Картите и схемите
- Стъпка 2: Програмата за стартиране на многозадачна държавна машина
- Стъпка 3: За да завършите
Видео: Държавна машина и многозадачност на Arduino с SPI разширители: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Миналата седмица исках да създам система за пилотни фойерверки с arduino. Имаше нужда от около 64 изхода за контрол на пожарите. Един от начините да направите това е да използвате IC разширители. Така че са налични 2 решения:
- I2C разширител, но той се нуждае от инвертор, когато включите интегралната схема (вижте предишните ми инструкции за машина с крайно състояние), защото всички изходи се включват бързо и изключени: проблем с фойерверки.
-и SPI също лесен за стартиране и без проблем при включване.
Затова реших да изуча този вид разширители. Използвам и държавна машина с многозадачност за управление на цифрови 16 I/O и 2 аналогови изхода. Тази карта е предназначена за управление на системи за автоматизация като PLC.
Също така проучих разликите и превода между чертежите на диаграмата на състоянието и друга графика, използвана в автоматизацията: SFC (Sequential Function Chart), базирана на бившите мрежи на Петри.
en.wikipedia.org/wiki/Sequential_function_…
fr.wikipedia.org/wiki/Grafcet
Стъпка 1: Картите и схемите
Използвам arduino uno и 2 вида DIL чипове:
- MCP23S17, 2 x 16 I/O разширител, контролиран със SPI
-MCP4921, DAC 12 бита, 0/5V
Те са много евтини и надеждни, а също така много лесни за свързване и програмиране. На схемите използвах някои допълнителни компоненти като отделяне на кондензатори, редуктори за входове.
Стъпка 2: Програмата за стартиране на многозадачна държавна машина
Глобалната идея е да се контролират цифровите входове/изходи и междувременно да се стартират ефекти на затихване ON/OFF на светодиоди, свързани към двата аналогови изхода.
Друго нещо, аз нарочно правя отделното свързване на CS пиновете (избор на чип), за да има повече възможности за повече IC на SPI шината. Затова използвах:
- специална библиотека за държавната машина
-специална библиотека за MCP23S17
-БЕЗ специална библиотека за MCP4921, CS и меката SPI връзка е "удобна".
На снимките можете да видите превода между очакваната машина на състоянието и SFC (наричан още GRAFCET или gr7 на френски). Някои общи термини: съпътстващи състояния, многозадачност и капсулиране.
Предоставям библиотеките и изходния код с много коментари. За да го прочетете и разберете, трябва едновременно да прочетете и диаграмата на състоянието или SFC.
Стъпка 3: За да завършите
Работи!!
Когато включите системата, изчаквате няколко секунди и след това използвате разширителя (време за стартиране на SPI шината).
Системата има много бързи реакции и трябва да създадете интерфейсна карта за захранване, ако искате да управлявате каквато и да е машина. Вижте предишните ми инструкции, много е лесно !!
Благодарение на много интересни и работещи уроци по целия свят.
Manu4371.
Препоръчано:
Робот Arduino Otto с държавна машина: 4 стъпки
Arduino Otto Robot With State Machine: Преглед на проекта В този проект искам да ви покажа начин за програмиране на Otto Otto, който е базиран на Arduino DIY робот. Използвайки инструментите за диаграми на състоянието на YAKINDU (безплатни за некомерсиални), можем лесно да използваме състоятелни машини за графично моделиране на поведението
Държавна машина на Arduino - пешеходен светофар: 6 стъпки (със снимки)
State Machine на Arduino - пешеходен светофар: Здравейте! Ще ви покажа как да програмирате пешеходен светофар за Arduino в C ++ с машина за крайни състояния, като използвате YAKINDU Statechart Tools. Това ще демонстрира силата на държавните машини и може да се използва като план за по -нататъшни
HX1 -DM - Upcycled Arduino DUE Powered DIY барабанна машина (направена с мъртва машина MK2): 4 стъпки
HX1 -DM - Upcycled Arduino DUE Powered DIY Drum Machine (направен с Dead Maschine MK2): Спецификацията. Хибриден Midi контролер / барабанна машина: Arduino DUE захранван! 16 подложки за чувствителност на скоростта с много ниска латентност 1 > ms 8 копчета, които потребителят може да назначи за всяка Midi #CC команда 16ch Вграден секвенсор (не е необходим компютър !!) MIDI вход/изход/чрез функция
I2C / IIC LCD дисплей - Използвайте SPI LCD към I2C LCD дисплея, използвайки SPI към IIC модул с Arduino: 5 стъпки
I2C / IIC LCD дисплей | Използвайте SPI LCD към I2C LCD дисплея Използване на SPI към IIC модул с Arduino: Здравейте момчета, тъй като нормалният SPI LCD 1602 има твърде много кабели за свързване, така че е много трудно да го свържете с arduino, но на пазара има един модул, който може конвертирате SPI дисплея в IIC дисплей, така че тогава трябва да свържете само 4 проводника
Предварително* SPI на Pi: Комуникация с 3-осен акселерометър SPI с помощта на Raspberry Pi: 10 стъпки
Предварително* SPI на Pi: Комуникация с 3-осен акселерометър SPI с помощта на Raspberry Pi: Стъпка по стъпка ръководство за това как да настроите Raspbian и да комуникирате с SPI устройство с помощта на bcm2835 SPI библиотека (НЕ бит ударена!) Това все още е много предварително … Трябва да добавя по -добри снимки на физическо свързване и да преработя някои от неудобния код