달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2016. 2. 8. 15:52

Serial To Arduino 라즈베리파이/아두이노2016. 2. 8. 15:52

이번에는 라즈베리에서 아두이노로 데이터를 보내보겠습니다.

라즈베리에서 온 신호를 아두이노에서 나타내기 위해 LCD를 사용했습니다.

라즈베리에서 신호가 오면 "Raspberry pi"라고 뜨고 신호가 없으면 "xxxxxxxxxxxx"라고 뜸니다.

 

 

 

 

1. 라즈베리 코드

import serial
import time

port = "/dev/ttyACM0"
serialToArduino = serial.Serial(port, 9600)

while True:
   serialToArduino.writelines("Raspberry pi")
   time.sleep(.5)

 

 

2. 아두이노 코드

#include <LiquidCrystal.h> //data that recieveed from RPi is represent on LCD attached on the arduino.

const int num_of_field = 12;
char value[num_of_field];

LiquidCrystal lcd(12, 11, 5,4, 3, 2);

void setup()
{
  Serial.begin(9600);
  lcd.begin(16,2);
}

void loop()
{
  if(Serial.available())
 //recieve date from RPi
  {
    delay(20); //for exact save
    for(int i = 0; i<num_of_field; i++)
       {value[i] = Serial.read();}
 //str storage
    print_on_LCD(); 
    delay(500);
 //depend eye effect, if this no, the data isn't seen due to so fast.
  }
  else
   { 
   for(int i = 0; i<num_of_field; i++)
      {value[i] = 'x';} //sign no data come
   print_on_LCD();}
}

void print_on_LCD()
{
 for(int i = 0; i<num_of_field; i++)
     { lcd.setCursor(i, 0);
       lcd.print(value[i]);}
}

 

 

3. 라즈베리 파이썬 파일 실행

LXTerminal창 켜고

cd ~ 저장해놓은 디렉터리 주소

sudo python 저장해놓은 파일이름.py

 

 

참고

http://blog.oscarliang.net/raspberry-pi-and-arduino-connected-serial-gpio/


'라즈베리파이 > 아두이노' 카테고리의 다른 글

서보모터 제어하기 from raspberry To Arduino  (3) 2016.02.08
Serial From Arduino  (0) 2016.02.08
아두이노 설치  (0) 2016.02.08
:
Posted by youjin.A