Indholdsfortegnelse:
- Trin 1: Kortene og kredsløbene
- Trin 2: Programmet til at køre en multitask -tilstandsmaskine
- Trin 3: Afslutning
![Statsmaskine og multitasking på Arduino med SPI -udvidere: 3 trin Statsmaskine og multitasking på Arduino med SPI -udvidere: 3 trin](https://i.howwhatproduce.com/images/003/image-7721-14-j.webp)
Video: Statsmaskine og multitasking på Arduino med SPI -udvidere: 3 trin
![Video: Statsmaskine og multitasking på Arduino med SPI -udvidere: 3 trin Video: Statsmaskine og multitasking på Arduino med SPI -udvidere: 3 trin](https://i.ytimg.com/vi/kwflZKoyFvg/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
![Statsmaskine og multitasking på Arduino med SPI -udvidere Statsmaskine og multitasking på Arduino med SPI -udvidere](https://i.howwhatproduce.com/images/003/image-7721-15-j.webp)
I sidste uge bad jeg om at oprette et system til at styre fyrværkeri med en arduino. Det havde brug for omkring 64 output til at kontrollere brande. En måde at gøre det på er at bruge IC -udvidere. Så der findes 2 løsninger:
- en I2C -ekspander, men den har brug for inverter, når du tænder for IC'en (se min tidligere instruerbare på endelige tilstandsmaskine), fordi alle output går hurtigt ON og OFF: et problem med fyrværkeri.
-en SPI også let at køre og uden problemer med at tænde.
Så jeg besluttede mig for at studere denne form for ekspandere. Jeg bruger også en statsmaskine med multitasking til at styre digitale 16 I/O og 2 analoge udgange. Dette kort er designet til at styre automatiseringssystemer som en PLC.
Jeg har også undersøgt forskellene og oversættelsen mellem tegningerne af tilstandsdiagrammet og en anden graf, der er tungt brugt i automatisering: SFC (Sequential Function Chart) baseret på de tidligere Petri -net.
da.wikipedia.org/wiki/Sequential_function_…
fr.wikipedia.org/wiki/Grafcet
Trin 1: Kortene og kredsløbene
![Kortene og kredsløbene Kortene og kredsløbene](https://i.howwhatproduce.com/images/003/image-7721-16-j.webp)
![Kortene og kredsløbene Kortene og kredsløbene](https://i.howwhatproduce.com/images/003/image-7721-17-j.webp)
![Kortene og kredsløbene Kortene og kredsløbene](https://i.howwhatproduce.com/images/003/image-7721-18-j.webp)
Jeg bruger en arduino uno og 2 typer DIL -chips:
- MCP23S17, 2 x 16 I/O -ekspander styret med SPI
-den MCP4921, DAC 12 bits, 0/5V
Denne IC er meget billig og pålidelig og også meget let at linke og programmere. På skemaerne brugte jeg nogle ekstra komponenter som afkoblingskondensatorer, nedtrækningsmodstande til indgangene.
Trin 2: Programmet til at køre en multitask -tilstandsmaskine
![Programmet til at køre en multitask -tilstandsmaskine Programmet til at køre en multitask -tilstandsmaskine](https://i.howwhatproduce.com/images/003/image-7721-19-j.webp)
![Programmet til at køre en multitask -tilstandsmaskine Programmet til at køre en multitask -tilstandsmaskine](https://i.howwhatproduce.com/images/003/image-7721-20-j.webp)
Den globale idé er at styre digital I/O og i mellemtiden starte en fade ON/OFF -effekt på lysdioder, der er tilsluttet begge analoge udgange.
En anden ting, jeg gør med vilje den separate forbindelse af CS -benene (chip select) for at have flere muligheder for mere IC på SPI -bussen. Så jeg brugte:
- et særligt bibliotek til statsmaskinen
-et særligt bibliotek til MCP23S17
-IKKE noget specielt bibliotek til MCP4921, CS og SPI -forbindelsen soft er "praktisk" udført.
Du kan se på billederne oversættelsen mellem den forventede statsmaskine og SFC (også kaldet GRAFCET eller gr7 på fransk). Nogle fælles udtryk: samstemmende tilstande, multitask og indkapsling.
Jeg giver bibliotekerne og kildekoden mange kommentarer. For at læse og forstå det skal du også læse tilstandsdiagrammet eller SFC på samme tid.
Trin 3: Afslutning
Det virker!!
Når du tænder systemet, venter du et par sekunder og bruger derefter ekspanderen (tid til at starte SPI -bussen).
Systemet reagerer meget hurtigt, og du skal oprette et power interface -kort, hvis du vil styre hvilken som helst maskine. Se mine tidligere instruktioner, det er meget let !!
Tak for meget interessante og fungerende selvstudier over hele verden.
Manu4371.
Anbefalede:
Bitmap -animation på SSD1331 OLED -skærm (SPI) med Visuino: 8 trin
![Bitmap -animation på SSD1331 OLED -skærm (SPI) med Visuino: 8 trin Bitmap -animation på SSD1331 OLED -skærm (SPI) med Visuino: 8 trin](https://i.howwhatproduce.com/images/001/image-939-j.webp)
Bitmap -animation på SSD1331 OLED -skærm (SPI) Med Visuino: I denne vejledning vil vi vise og flytte et bitmapbillede i en simpel form for animation på SSD1331 OLED -skærmen (SPI) med Visuino. Se videoen
Arduino Otto -robot med statsmaskine: 4 trin
![Arduino Otto -robot med statsmaskine: 4 trin Arduino Otto -robot med statsmaskine: 4 trin](https://i.howwhatproduce.com/images/011/image-32751-j.webp)
Arduino Otto Robot With State Machine: Projektoversigt I dette projekt vil jeg vise dig en måde at programmere Otto Robot, som er en Arduino baseret DIY robot. Ved hjælp af YAKINDU Statechart Tools (gratis til ikke-kommercielle) kan vi let bruge statsmaskiner til grafisk at modellere adfærden
I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin
![I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin I2C / IIC LCD -skærm - Brug et SPI LCD til I2C LCD Display Brug SPI til IIC modul med Arduino: 5 trin](https://i.howwhatproduce.com/images/001/image-2309-36-j.webp)
I2C / IIC LCD -skærm | Brug en SPI LCD til I2C LCD -skærmen Brug af SPI til IIC -modulet med Arduino: Hej fyre, da en normal SPI LCD 1602 har for mange ledninger at tilslutte, så det er meget svært at grænseflade det med arduino, men der er et modul på markedet, som kan konverter SPI -skærm til IIC -skærm, så du skal kun tilslutte 4 ledninger
Få LoRa (SX1278/XL1278-SMT) Arbejde via SPI på WeMos D1 ESP-12F ESP8277 bundkortmodul med OLED: 7 trin
![Få LoRa (SX1278/XL1278-SMT) Arbejde via SPI på WeMos D1 ESP-12F ESP8277 bundkortmodul med OLED: 7 trin Få LoRa (SX1278/XL1278-SMT) Arbejde via SPI på WeMos D1 ESP-12F ESP8277 bundkortmodul med OLED: 7 trin](https://i.howwhatproduce.com/images/001/image-1601-37-j.webp)
Sådan får du LoRa (SX1278/XL1278 -SMT) Arbejder via SPI på WeMos D1 ESP -12F ESP8277 bundkortmodulet med OLED: Dette tog mig en uge at træne - det ser ud til, at ingen andre før mig har regnet det ud - så jeg håber, at dette kan redde dig noget tid! Det akavet navngivne "WeMos D1 ESP-12F ESP8266 bundkortmodul med 0,96 tommer OLED-skærm" er et $ 11 -udviklingsbestyrelse
Foreløbig* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer ved hjælp af en Raspberry Pi: 10 trin
![Foreløbig* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer ved hjælp af en Raspberry Pi: 10 trin Foreløbig* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer ved hjælp af en Raspberry Pi: 10 trin](https://i.howwhatproduce.com/images/002/image-5684-70-j.webp)
Preliminær* SPI på Pi: Kommunikation med et SPI 3-akset accelerometer Brug af en Raspberry Pi: Trin for trin guide til, hvordan du konfigurerer Raspbian og kommunikerer med en SPI-enhed ved hjælp af bcm2835 SPI-bibliotek (IKKE lidt banket!) Dette er stadig meget foreløbigt … Jeg er nødt til at tilføje bedre billeder af fysisk tilslutning og arbejde igennem nogle af de akavede koder