기술 정보

Arduino 용 슬롯 사이트 추천 Shield가있는 유한 상태 기계

2019.11.14

긴 대기 중에 Arduino를 사용하는 동안 센서 데이터를 수집하고 싶었던 적이 있습니까? Arduino가 멀티 태스킹에 적합하지 않다는 것을 이해하려면 Arduino에서 FSM (Finite State Machine)을 구현해 보겠습니다.

기본 Arduino 행동

img-20191114-technical-01.jpg

Arduino 프로그램은 각각 setup () 및 loop () 함수로 구성됩니다

  1. 설정 : (re)가 Arduino를 시작하고 센서 및 통신 모듈을 초기화 할 때 호출
  2. 루프 : 센서 데이터를 검색하고 전송하기 위해 재귀 적으로 호출

.

각 프로세스를 기다려야

그러나 많은 센서에서 데이터를 얻거나 LPWA와 같은 낮은 비트 레이트 통신을 통해 데이터를 보내려고하면 언제든지 각 프로세스를 기다려야합니다.

img-20191114-technical-02.jpg

위에 표시된 예제는 세 센서에서 데이터를 읽고 결과를 보내는 프로세스를 보여 주지만 센서 데이터를 전송하는 데 약 10 초가 걸리면 (일반적인 Arduino 프로그램 방법) 센서를 얻을 수 없습니다. 그 동안 데이터.

유한 슬롯 사이트 추천 기계 (FSM)는 무엇입니까?

on wikipedia

유한 Automaton (English : Finite Automaton) 또는 유한 슬롯 사이트 추천 기계 (FSM)는 유한 슬롯 사이트 추천, 전환 및 행동의 조합으로 구성된 수학적 구조입니다.

로 설명됩니다.
간단히 말하면, 슬롯 사이트 추천 x, y, z가 있고 일부 변화는 x의 슬롯 사이트 추천가 y (a), y ~ z (b), z의 슬롯 사이트 추천로 변경됩니다. X (C)로 돌아가는 것과 같습니다.

img-20191114-technical-03.jpg
  • 엉덩이 슬롯 사이트 추천 (위의 이미지의 원)
  • 한 슬롯 사이트 추천에서 다른 슬롯 사이트 추천로 전환 (위의 이미지의 화살표)

즉, 슬롯 사이트 추천를 참조로 간주하는 경우 해당 슬롯 사이트 추천에 들어가거나 해당 슬롯 사이트 추천 (실행)를 실행하거나 해당 슬롯 사이트 추천 (출구)를 종료하는 기본 모델이 있습니다.

공개 초록 클래스 슬롯 사이트 추천     공개 초록 void enter (...);

FSM Arduino의 슬롯 사이트 추천 Shield 참조

Arduino 용 슬롯 사이트 추천 Shield 용 유한 상태 기계 샘플 (Unashield)여기에서 볼 수 있습니다.
아래 코드는 슬롯 사이트 추천 통신 모듈에 상태 변경을 추가하는 addtransceivertransitions 함수의 코드입니다. add_transition (...) 함수는 fsm.h/fsm.cpp에 정의되지만 첫 번째 열의 코드를 예제로 사용하면 상태 "transceiveridle"에서 "transceiversending"으로, 그런 다음 "input_changed"로 돌아갑니다. 이것은 트리거에 따라 이벤트가 변경 될 것임을 의미합니다.

AddTransceivertransitions.c
// 슬롯 사이트 추천에서 주 트리거링 이벤트로 전환시 슬롯 사이트 추천transceivers.m.add_transition (// 유휴 슬롯 사이트 추천에서 입력이 변경된 경우 입력을 보내십시오.

총 6 가지 유형의 슬롯 사이트 추천 변경 사항이 정의되지만 이러한 슬롯 사이트 추천 변경의 다이어그램을 작성하면 아래 그림이 표시됩니다.

img-20191114-technical-04.jpg

그리고 아래 코드에서 트랜스 커딩의 슬롯 사이트 추천 정의를 살펴보면 해당 슬롯 사이트 추천에있을 때 whentransceversend가 실행될 것임을 의미합니다.
트랜스 케이버 닝으로의 전환은 트랜스 시버프 스M.Trigger (input_changed)에 의해 트리거됩니다.

..C
// 슬롯 사이트 추천 이름이 내부 슬롯 사이트 추천로 입력State Transceiveridle (& enteridle,

whentransceversending 함수를 보면 통신 모듈에 메시지를 보내고 마지막으로 전송을 완료하기 위해 처리합니다. 이 완료 과정에서 "input_sent"라는 이벤트가 트리거되어 트랜스 케이버 센트 슬롯 사이트 추천로 전환됩니다.

whentransceiversending.c
void whentransceiversending ()   // 개요

항상 센서 슬롯 사이트 추천를 모니터링하고 적절한 시간에 데이터를 보내는 것이 쉽습니다 (예 : 센서 값이 특정 임계 값을 초과 할 때).

참조

이 기사에 사용 된 DevKit은입니다.여기

저자 정보

제품 및 마케팅 부서 Hibi Gaku

전자 ​​자체 선언 된 슬롯 사이트 추천 전도자는 Kyocera Communication Systems Co., Ltd. (KCCS)에서 슬롯 사이트 추천 (프랑스)로 이어졌습니다.

  • 나는 KCCS에서 쫓겨 났고 외딴 프랑스 시골에서 내 남은 인생을 보냈습니다
트위터 :https://twitter.com/ghibi
슬롯 사이트 추천