저번에 벨트 물류량 검사기 만들었던 팩붕이인데
https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=55620&page=1
이 게시물 보고 개선할 수 있겠다 싶어서 다시 수정해봤음
입력쪽 전신주에 녹색 전선으로 벨트 연결해서 펄스로 읽으면 됨
원리는 특정 주기마다 완전히 초기화하는 기존의 회로 대신 위의 게시글대로 버퍼의 개념을 추가해봄.
먼저 일정 신호 조합기로 버퍼값을 설정해줌
T(tick)는 타이머를 이용해 올라가고 1초에 60씩 올라감
여기의 버퍼값은 일정 신호 조합기에서 준 버퍼값 * 2가 들어가고
타이머가 B * 2 보다 커지면 초기화 신호인 R(reset)을 출력 하게 됨
R이 출력되면 T에서 B 값만큼 빠짐
B가 150이면
초기화 사이클이 2.5초(150), 전체 측정 사이클은 5초(300)가 되겠지
그 다음으로 카운터 회로인데
계속 벨트 펄스를 읽고 R이 들어오면 초기화 됨
B가 150 이면 2.5초동안 측정한 아이템 양을 저장하는 역할을 함
또 다른 카운터가 있음
이 카운터는 전체 측정 사이클만큼 벨트값을 저장함
이 두번째 카운터에 R이 들어오게 되면
B 만큼 벨트값을 저장하는 첫번째 카운터 값(V)을 제외한 모든 값을 제거하게 되고
초기화 될 때 마다 선행 사이클에서 가장 최근에 B(150=2.5초) 만큼 읽은 벨트값을 가지고 올 수 있게 됨
이렇게 구한 값들로 (전체 사이클 벨트 양) / (타이머) 하면 값 안튀고 평균값이 나오는 듯
기본 버퍼는 150틱(2.5초)
기본 출력 단위는 xx.xx 방식
새로고침 빈도는 24틱(0.25초)
로 설정해놨음
청사진
https://factoriobin.com/post/KfopFvnS
컴퓨터를 만드네
기존것도 잘 쓰고 있었는데 또 한번 업어갑니다 금손추
실수했네 24틱이면 0.4초 인데 0.25초 쓰려면 d를 15로 바꿔야 할듯
앞에 한자리 더 필요해서 그냥 한자리 복붙했는 작동하네!
7세그먼트는 념글 있는거 썻는데 개잘만듬