산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

레이저 모듈을 사용한 모스 부호 통신(둘 다)

구성품 및 소모품

Arduino UNO
× 2
브레드보드(일반)
× 2
Autodesk LASER TRANSMITTER
× 1
포토 저항기
× 1
점퍼 와이어(일반)
× 1

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

모스 부호

모스 부호는 영숫자 기호(예:알파벳 및 숫자)를 점과 대시로 변환하는 것을 의미합니다. 각 기호에는 고유한 점과 대시의 배열이 다릅니다. 모스 부호는 비밀 데이터 또는 코딩된 데이터를 보내는 데 사용됩니다. 이 프로젝트에서는 모스 부호 통신의 송신기와 수신기 섹션을 만들었습니다. 다른 모스 부호 통신 프로젝트에서 이 프로젝트의 고유성은 수신기 섹션의 알고리즘이 다른 알고리즘보다 정말 간단하다는 것입니다.

1단계:송신기 섹션

송신기 섹션은 LASER를 통해 입력 데이터를 보내는 데 사용됩니다.

필요한 하드웨어 :-

<울>
  • 아두이노 우노
  • <울>
  • 레이저 t송신기
  • <울>
  • 브레드보드
  • <울>
  • 점퍼 와이어
  • 연결:-

    레이저의 양극 핀을 Arduino의 디지털 입력의 13번째 핀에 연결합니다(코드에 프로그래밍된 대로). LASER의 GND와 Arduino의 GND를 연결합니다.

    프로그램:-

    코드의 알고리즘은 다음과 같습니다:-

    <울>
  • 1. 전송해야 하는 데이터는 입력으로 유지되며 char 배열로 저장됩니다.
  • <울>
  • 2. 전송해야 하는 LED 핀이 정의되어 있습니다.
  • <울>
  • 3. 모스 부호의 속도가 설정되었습니다.
  • <울>
  • 4. 점과 대시가 정의됩니다.
  • <울>
  • 5. 입력된 문자는 스위치 케이스를 통해 확인되고 해당하는 LASER의 HIGH와 LOW가 전송됩니다.
  • 2단계:수신자 섹션

    트랜스미터에서 전송된 코딩된 데이터를 수신하여 처리한 후 시리얼 모니터에 표시합니다.

    필요한 하드웨어:-

    <울>
  • 1. 아두이노 우노
  • <울>
  • 2. LDR
  • <울>
  • 3. 저항 - 10K 옴
  • <울>
  • 4. 빵판
  • <울>
  • 5. 점퍼 와이어
  • 연결:-

    5V의 Arduino 전원으로 LDR의 한쪽 끝을 연결합니다. LDR의 다른 쪽 끝을 10K 옴 저항과 아날로그 입력 A0에 연결합니다. 저항의 다른 쪽 끝을 Arduino의 GND에 연결합니다.

    프로그램:-

    수신기 섹션에서 사용되는 알고리즘은 인터넷에서 사용할 수 있는 다른 알고리즘보다 가장 쉬운 알고리즘입니다. 이 알고리즘은 관찰로 가득 차 있습니다.

    <울>
  • 1. LDR에 LASER가 떨어지지 않으면 LDR의 값은 1000보다 작습니다. 값이 1000을 초과하면 LDR에 LASER가 켜져 있어도 LDR을 덮어 여분의 위험으로부터 보호해야 합니다. 그 안으로 들어오는 빛. 여기에서 LDR은 검은색 차트 용지로 만든 돔으로 덮여 있습니다.
  • <울>
  • 2. LASER가 LDR에 떨어지면 값이 1000을 넘어 루프에 들어갑니다.
  • <울>
  • 3. 이제 값을 양자화합니다. 즉, 값이 1000을 초과하면 '1'로 할당하고, 그렇지 않으면 '0'으로 할당합니다.
  • <울>
  • 4. 루프 내에서 '1'과 '0'의 수를 계산합니다. 카운터 'a'와 'f'를 설정합니다. '1'의 수를 세어 'a'에 저장하고 마찬가지로 '0'의 수를 세어 'f'에 각각 저장합니다.
  • <울>
  • 5. 이제 각각 'a'와 'f'의 특정 값을 확인하십시오. 각 문자는 'f'와 'f'의 다른 집합을 갖습니다. 일치하는 값이 표시됩니다.
  • 제한 사항:-

    코드에 첨부된 프로그램은 특정 문자를 인쇄하는 데 사용됩니다. 조합을 사용하여 코드를 더욱 향상시키고 모든 문자 집합을 표시할 수 있습니다. 코드의 주요 목적은 알고리즘과 작업을 이해하도록 하는 것입니다.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • CODE-1- 레이저 방출기 제어용
  • CODE-2 - 수신자용
  • CODE-1- 레이저 방출기 제어용Arduino
    int led13 =13; // 출력 13에서 led를 깜박임/* 모스 부호의 속도를 설정합니다. 비율 코드 요소는 다음과 같습니다. 대시 길이 =도트 길이 x 3 요소 사이의 일시 중지 =도트 길이 */int dotLen =200; // 모스 부호의 길이 'dot'int dashLen =dotLen * 3; // 모스 부호의 길이 'dash'int elemPause =dotLen;// 문자의 요소 사이의 멈춤 길이 Spaces =dotLen * 3; // 문자 사이의 공백 길이int wordPause =dotLen * 7; // 단어 사이의 멈춤 시간의 길이void setup() { // 디지털 핀을 LED 조명의 출력으로 초기화합니다. 핀모드(LED13, 출력); }// 모스 부호로 출력하려는 ​​문자/단어의 루프 생성(코드 상단의 문자열에 정의됨)void loop(){ // 문자열을 반복하고 끝이 될 때까지 각 문자를 한 번에 하나씩 가져옵니다. Reached for (int i =0; i  
    CODE-2 - 수신기용Arduino
    <사전>int sensorPin =0; // ldrint에 대한 입력 핀을 선택합니다. sensorValue =0; // sensorint에서 오는 값을 저장할 변수 a, f; // flagsvoid setup() {Serial.begin(9600); //통신용 직렬 포트 설정}void loop() {sensorValue =analogRead(sensorPin); // 센서에서 값 읽기 //Serial.println(sensorValue);if(sensorValue>1000)// 점과 대시의 수 계산{ for(int i=0;i<=13;i++) { sensorValue=아날로그 읽기(센서 핀); if(센서값>1000) { a++; //문자의 점과 대시 개수 계산 delay(200); } 그렇지 않으면 { f++; // 점과 대시의 공백 수 계산 delay(200); } }}//Serial.print("a="+a);//Serial.println("f="+f);//Serial.println();/* * 점, 대시 및 공백 */if(a==4 &&f==10){ Serial.print("a");}if(a==6 &&f==8){ Serial.print("b");}if (a==8 &&f==6){ Serial.print("c"); }if(a==1 &&f==13){ Serial.print("e");}if(a==2 &&f==12){ Serial.print("i");}if(a ==10 &&f==4){ Serial.print("j");}if(a==7 &&f==7){ Serial.print("g");}if(a==9 &&f==5){ Serial.print("o");}if(a==3 &&f==11){ Serial.print("s");}f=a=0;delay(200); }

    맞춤형 부품 및 인클로저

    회로도


    제조공정

    1. 레이저 마킹 가이드
    2. 레이저 포인터
    3. 반도체 레이저
    4. 바코드 스캐너
    5. 레이저 유도 미사일
    6. 지그비 센서를 사용한 대화형 레이저 프로젝터
    7. 이사회 커뮤니케이션
    8. Raspberry Pi를 사용한 제스처 제어 로봇
    9. Arduino만 사용하는 DTMF 디코더
    10. 산업 제조에서 로우 코드 사용의 4가지 이점