수동 Ebb-And-Flood-Meter : 6 단계

수동 Ebb-And-Flood-Meter : 6 단계

차례:

Anonim

Ebb-And-Flood-Meter는 썰물과 홍수시 흐름 방향의 차이를 측정합니다. 썰물과 홍수 사이의 전환점에, 그래서 흐름이 없을 때, 장치는 이것을 나타낼 것입니다. 따라서 전체적으로 세 가지 가능성이 있습니다: 흐름 없음, 썰물 (바다로 향한 흐름), 홍수 흐름 (육지로 향하는 흐름).

용품:

1 단계: 측정:

흐름 방향을 측정하여 썰물과 홍수 사이의 전환점을 결정합니다.

2 단계: 사용 방법:

- 스티로폼 지느러미가 위로 향하게 놓으십시오 (잡고있는 상태).

- 리드는 당신의 얼굴을 가리켜 야합니다.

- 아래에 핀이있는 장치를 물에 넣으십시오.

- 지느러미는 물 아래 완전히 있어야합니다.

- 이제 지느러미를 놓을 수 있습니다.

상황:

· 1 번 발광 (초록색): 물의 흐름이 없음

· 2 번 발광 (적색): 물이 왼쪽으로 흐릅니다.

· 3 번 발광 (빨간색): 오른쪽으로 물이 흐릅니다.

3 단계: 필요한 구성 요소:

- 1x Arduino 키트 (UNO)

- 2 배 녹색 led

- 빨간색 led가 1 배

- 3x 120 ohm 저항 (유도 저항)

- 2 배 자기 센서 (자석이 근처에 있으면 센서가 '1'을 표시합니다. 근처에 자석이 없으면 센서는 REED 센서라고도하는 '0'을 표시합니다)

- 2 배 (최소한) 5 k ohm 저항 (자기 센서에 필요한 저항)

- 20 배 단선 (전기 전도)

- 5 배 길이의 와이어 (전기 전도)

- 덕트 테이프

- 1x 목제 빔 (80x7x2cm)

- 2 배 나무 빔 (40x7x2cm)

- 나무 빔 2x (20x1x1cm)

- 목재 빔 1x (30x5x2cm)

- 1x 스티로폼 지느러미 (수제)

- 강 축 1x (길이 20cm, 지름 1mm)

- 충분한 나사

- 넥타이 랩

- 자석 1 개

- 아교

4 단계: 구축 방법:

- 나무 프레임 구성 (그림 참조)

- 각각의 목재 빔에 두 개의 구멍을 뚫고 중간에 강철 축을 놓습니다.

- 스티로폼 핀에 자석을 부착하십시오.

- 강철 축에 스티로폼 지느러미 넣기

- 자기 센서를 긴 전선에 연결하십시오

-이 센서가 방수 튜브를 사용하여 물과 접촉하지 않도록하십시오 (튜브 끝을 생각하고 접착제를 넣으십시오)

- 디지털 핀 2와 3에서 센서를 Arduino 장치에 연결하십시오

- LED를 연결하십시오 (저항을 사용하십시오!):

레드: 디지털 핀 8

녹색: 디지털 핀 9

빨간: 디지털 방식으로 Pin 10

5 단계: 코드 + 그림

암호:

/*

**************이 코드는 Ebb and Flood meter *************에 사용할 수 있습니다.

- 측정 값은 -1, 0 또는 1 일 수 있습니다.

*/

부유 측정 = 0.0;

int flow = 0;

부울 passingLinks = 거짓;

부울 passRechts = 거짓;

void setup () {

Serial.begin (9600);

pinMode (2, INPUT);

pinMode (3, INPUT);

pinMode (10, OUTPUT);

pinMode (9, OUTPUT);

pinMode (8, OUTPUT);

}

무효 루프 () {

int sensorLinks = digitalRead (2);

int sensorRechts = digitalRead (3);

if ((sensorLinks == 1) && (passingLinks == false)) {

스위치 (흐름) {

사례 0:

흐름 = -1;

단절;

사례 -1:

흐름 = 0;

단절;

}

passingLinks = true;

지연 (200);

} else if ((sensorLinks == 0) && (passingLinks == true)) {

passingLinks = false;

}

if ((sensorRechts == 1) && (passingRechts == false)) {

스위치 (흐름) {

사례 0:

흐름 = 1;

단절;

사례 1:

흐름 = 0;

단절;

}

passingRechts = true;

지연 (200);

} else if ((sensorRechts == 0) && (passingRechts == true)) {

passingRechts = false;

}

if ((millis () % 1000) <10) {

Serial.print ("flow:");

Serial.println (흐름);

if (flow == 1) {

digitalWrite (8, LOW);

digitalWrite (9, LOW);

digitalWrite (10, HIGH);

}

else if (flow == 0) {

digitalWrite (8, LOW);

digitalWrite (9, HIGH);

digitalWrite (10, LOW);

}

else if (flow == - 1) {

digitalWrite (8, HIGH);

digitalWrite (9, LOW);

digitalWrite (10, LOW);

}

지연 (10);

}

측정 = (플로트) 유량;

}

이미지:

6 단계: