상세 컨텐츠

본문 제목

라즈베리파이 미니 프로젝트 8탄 ! [오류 잡기 성공 ! + 새로운 기능, 오류]

라즈베리파이 실습 및 미니 프로젝트 !

by 전자과_공대생 2021. 1. 22. 18:34

본문

728x90
반응형

날짜 : 2021.01.22 금요일 / 제목 : 오류를 잡았더니 새로운 오류를 받았다.. / 날씨 : ☁🌨💧🌂☔

 

안녕하세요 ! 전자과_공대생입니다 ~ (⌐■_■)

오늘은 날씨가 꾸리꾸리 하네요..

구름으로 뒤덮여있고 저녁에는 비도 온다는 소식이 있네요.

차라리 비 말고 눈이 오지 ㅠㅠㅠ

그래도 공부는 계속합니다 !

 

오랜만에 미니 프로젝트를 한번 해보겠습니다 !

현재 제 미니 프로젝트의 오류는 총 2가지입니다.

첫 번째는 ADC 모듈이 중간 값을 입/출력하지 못한다는 것입니다.

두 번째는 워터펌프가 작동하지 않는데 아마 모터 드라이버의 문제인 것 같습니다 !

그래서 일단 새로운 MCP3008과 모터 드라이버를 가져왔습니다 !

새로운 모터 드라이버
기존 모터 드라이버

기존 모터 드라이버와 이번에 새로 가져온 드라이버를 보시면 약간 다릅니다.

하지만 같은 종류인 L298N이므로 사용할 때 큰 불편한 점은 없을 것 같습니다 !

이번에 새로 가져온 모터 드라이버에서 ENA, 5V, 5V, ENB를 보시면 점퍼 핀으로 연결되어있습니다.

이렇게 연결되어있는 경우 ENA와 ENB가 최대 출력으로 동작하게 됩니다 !

따라서 따로 ENA, ENB에 관련된 코딩을 안 해도 됩니다.

나머지 모터 연결 부분과 VCC, GND, 5V 부분은 모두 같습니다.

다만 이번에 새롭게 시도해 볼 것은 건전지를 한번 달아볼 생각입니다.

물론 여기서 받아들일 수 있는 최대 12V보다 낮은 전압의 건전지를 연결할 생각입니다.

건전지를 하기 전 파워서플라이로 실험을 먼저 할 생각입니다 !

파워서플라이는 학과에 지원을 받았습니다 ㅎㅎ

 

완성된 코딩

우선 코딩은 기존에서 ENA 꺼만 지우고 실행시켰습니다 !

직접 카메라로 사진을 찍고 원하는 부분만 잘라서 올리니 멋이 안 사네요 ㅠㅠㅠ

그래도 이것도 저만의 스타일이라고 생각하겠습니다 ~!

참고로 모터 드라이버와 ADC 모듈을 교체하였고 건전지를 장착시켰습니다.

 

그럼 일단 연결 회로를 보여드리도록 하겠습니다 !

연결 회로

이렇게 보면 사실 자세히 알 수가 없습니다 ㅎㅎ

따라서 정리해서 깔끔하게 보여드리도록 하겠습니다 ~

정리한 회로 연결

연결 방법이나 코딩 설명은 전 글에서 했으니 스킵하겠습니다 !

 

그리고 드디어....

오류를 고치고 동작시키는 데 성공했습니다 ㅠㅠㅠㅠ

동작 성공 영상을 보여드리도록 하겠습니다 !

동작 성공 영상 !!!

진짜 몇일만에 성공했습니다 ㅠㅠㅠ

사실 계속 오류가 떴던 이유는 건전지를 연결하지 않아서 그런 게 아닌가 싶기도 합니다..ㅎㅎㅎ

그렇게 되면 너무 머쓱 머쓱한데..ㅎㅎ

아무튼 ! 성공했다는 것에 의미를 둬야 할  같습니다 !

 

 

이제 기능을 좀 추가해보려고 합니다 !

시도해보려고 하는 것은 LCD와 RGB LED를 추가하는 것입니다.

먼저 LCD에는 계속해서 현재 수분 양을 나타냅니다 !

그리고 화분 토양에 수분이 넉넉하면 초록색 불빛을 나타내며 LCD에는 Normal이라는 문구를 나타냅니다.

만약 수분이 부족하면 LED 색이 빨간색으로 변하면서 Warning이라는 문구를 띄웁니다 !

 

우선 회로부터 보여드리겠습니다 !

연결한 회로

역시나 난잡해 보이죠??ㅎㅎ

정리해서 다시 보여드리겠습니다 !

정리된 회로

정리해도 난잡해 보이는 거는 똑같네요 ㅋㅋㅋㅋㅋ

여러 가지의 부품을 사용하다 보니 선이 꼬이고 그래서 복잡해 보이는  같습니다 !

 

이제 코딩을 보여드리겠습니다.

코딩을 기존에 있던 코딩에서 LCD와 RGB LED 코딩만 추가하였습니다 !

LCD 코딩을 하기 위해서는 LCD만의 코드가 필요했습니다.

따라서 서브 코드인 LCD 동작시키는 코드를 먼저 보여드리겠습니다 !

서브 코딩 1
서브 코딩 2

서브 코딩치고는 상당히 길죠??ㅎㅎ

저도 일일이 다 치면서 오류도 나고 시간도 꽤나 많이 걸렸습니다 !

다들 시간 투자하셔서 하시길 바랍니다 !

그럼 이제 진짜 코딩을 보여드리도록 하겠습니다.

진짜 코딩 1
진짜 코딩 2

달라진 점은 많이 없습니다 !

우선 저희가 직접 만든 lcd_write_lib.py에서 LCD를 가져옵니다.

그리고 RGB의 R, G, B의 GPIO 세팅을 해줍니다.

그리고 아까 말씀드린 조건일 때 RGB LED 색이 바뀌게 설정합니다.

마지막으로 LED에 현재 수분 양을 나타내고 현 상태도 나타내 줍니다.

현 상태는 아까 말씀드린 대로 Normal과 Warning만 있습니다 !

 

아래 영상은 동작하는 것을 찍어보았습니다 !

 

회로 동작 영상

영상에서도 보실 수 있다시피 RGB LED는 잘 작동합니다.

하지만 LED에는 어느 것도 나타나지 않는 것을 알 수 있습니다...

새로운 오류네요 ㅎㅎㅎ

오류를 수정하면 새로운 오류가 나타나고 이게 프로젝트의 진리인 것 같습니다 !

 

 

오늘 프로젝트는 여기까지 하도록 하겠습니다 !

오류를 수정했더니 새로운 오류를 주네요 ㅎㅎ

그래도 진전이 있다는 것이 너무 좋습니다 !

그럼 다음 미니 프로젝트 글에서 뵙겠습니다 !

이상 전자과_공대생이었습니다 ~ ! (⌐■_■)

감사합니다 !

728x90
반응형

관련글 더보기