반응형

집에서 사용하는 여러 살림살이들 중에 비싼것을 살 필요는 없는데 디자인은 좀 예뻤으면 좋겠고 그런 것들이 있습니다. 전자제품처럼 어떤 다양한 기능이나 품질을 요구하는 게 아닌 보통의 살림용 소품이나 가구들이 그런데요.

이번에 소개해드릴 내용은 바로 그런 아이템들중에 하나인 빨래 바구니 입니다.

연질 플라스틱으로 되어 있어 세척이 손쉽고 가격도 저렴한데다가 적당한 곳에 대충두어도 적당히 예쁜데다가 사용하기도 편리해 보이는 제품이 있어 구입했는데요.

손잡이가 끊어져 버렸습니다. 

사실 저 바구니의 손잡이가 아래 그림처럼 끊어져 버리면 생각보다 사용하기가 쉽지 않습니다. 

이런식으로 살짝 망가진 것들을 버리고 다시 사는 것이 환경 보호 관점에서 좋지 않은 것을 알지만 우리는 너무나 손쉽게 버리고 새로 사버리죠. 

그래서 이번에는 한번 간단하게 고쳐보기로 하였습니다.

아래 그림처럼 손잡이 부분이 끊어진 상태입니다.

 

필요한 재료는

  • 3D PEN,
  • ABS 필라멘트,
  • 플라스틱 나사 6개
  • 접착제

가 되겠습니다.

 

먼저 아래와 같이 A4 용지에 제작해야 할 손잡이를 그려 보았습니다.

종이에 먼제 제작해야 할 손잡이의 모양을 그려준다

 

그리고 3D PEN 을 이용하여 쓱쓱 그려 줍니다.

보통은 테두리를 먼저 그려 넣고 안쪽을 채워주는데요.

3~4 겹 정도 겹쳐서 그려주게 되면 단단하게 만들어지게 됩니다.

검정색 ABS 필라멘트로 손잡이를 만들어 주었다.

 

만들어진 손집이의 뒷면을 볼까요?

 

만들어진 손잡이의 뒷면

 

자 이렇게 만들어진 손잡이를 빨래 바구니에 붙여 보았습니다.

연질 플라스틱으로 되어 있어 탄성이 있는 접착제를 사용하는 것이 좋습니다.

저는 E6000 이라는 실리콘 계열 접착제를 사용하였는데요. E6000 본드는 접착면이 접착이후에도 탄성을 갖게 되어 움직임이 많거나 진동으로 인한 접착면 균열이 예상되는 접착용도로 사용하기에 적당합니다.

E6000 본드는 악세사리제작, 서로 다른 재질의 접착, 천이나 고무 등의 순간접착제류의 접착이 어려운 재질도 아주 잘 고정을 할 수 있는 훌륭한 본드 입니다.

초기 경화 시간도 매우 짧은 편이어서 가공에 상당한 장점이 있지요. 이 본드 역시 완전 경화 시간은 24시간 입니다.

 

3D PEN 으로 출력한 손잡이를 붙여 보았습니다.

 

이제 손잡이가 떨어지지 않고 강하게 붙어있게 하기 위하여 보강을 해주어야 할 차례입니다.

역시 ABS 재질로 된 플라스틱 나사를 준비해줍니다.

저의 경우는 알리 익스프레스에서 기존에 사 둔 M3 나사가 있어 해당 제품을 사용하였는데요. 만약 나사가 없는 경우 구멍을 뚫어준뒤 3D 펜용 필라멘트를 바느질하듯 끼워넣는 방식으로 연결을 하면 됩니다.

 

드릴을 이용하여 3mm 짜리 구멍을 뚫어 준뒤 나사를 끼워 주었습니다. 저는 나사를 안쪽에서 바깥쪽으로 끼웠습니다.

플라스틱 나사로 연결된 모습

 

나사의 바깥쪽 튀어나온 부분은 라이터를 이용하여 녹여준뒤 눌러서 절대로 빠지지 않도록 처리를 해주었습니다.

 

자 이렇게 해서 수리가 완료 되었네요.

검정색이 엄청 어색할 줄 알았는데 나름 바구니의 색상과 잘 어울려서 특색이 있어 보이네요.

수리가 완료된 빨래 바구니

 

한가지 아쉬운 점이 있다면 바구니에 손잡이를 달기 전에 수축 튜브를 끼워서 손에 잡히는 촉감도 좋게 할껄 그랬다는 아쉬움이 있습니다. 3D PEN 으로 출력했기 때문에 원래 제품처럼 표면이 매끄럽지 않아 촉감이 약간 좋지 않더라구요.

만약 다음번에 다시 수리해야 하는 일이 생긴다면 수축튜브도 끼워 넣어 가공을 해볼 생각입니다.

 

이렇게 해서 생활 쓰레기를 한번 더 줄이는 일을 했습니다.

너무나 많은 쓰레기로 인하여 지구가 병들지 않도록 좀더 오래 사용하고 적게 버리는 삶을 살아보는 것은 어떨까요?

 

이상 3D PEN 을 이용한 초 간단한 DIY 아이템을 하나 소개해 드렸습니다.

 

Happy DIY Life~

 

 

 

3D PEN 을 이용하여 우쿨렐레(기타) 걸이를 만드는 방법이 궁금하다면?

https://diy-dev-design.tistory.com/15

 

3D Pen 으로 우쿨렐레 스텐드 만들기

집에 우쿨렐레가 두개가 있어 따로 거치대를 만들었었는데 이게 바닥에 놓는 형식이다 보니 두대를 놓고나면 이래저리 자리를 많이 차지하여 여간 불편한게 아니었습니다. 그래서 이번에 우쿨렐레 거치대를 새로..

diy-dev-design.tistory.com

 

 

반응형
반응형

 

맑은 하늘과 푸르른 잔디밭, 공원에 누워 따사로운 햇살을 받으며 누워 있을때 필요한 건 모다?

바로 블루투스 스피커 되시겠습니다.

 

2017년도 쯤이었나요.. 보스 사운드링크 미니와 피스넷 하이엔드 제품을 유심히 살펴보고 수많은 리뷰를 본 뒤 결국 음질면에서 큰 차이가 없다는 결론을 얻고 피스넷 하이엔드 제품을 구매하였습니다. (가격이 가장 큰 이유라는건 공공연한 비밀)

 

 

외관도 생각보다 예쁘고 만듬세도 좋아보였습니다. 제가 구입한 제품은 피스넷 하이엔드 M 제품으로 마이크로 SD 카드를 삽입하여 블루투스 연결 없이 바로 음악 감상도 가능한 제품이었습니다.

특히 야외에서 볼륨을 높여서 들으면 정말 감동적인 소리를 느끼실 수 있는 그런 제품인데요.

시골집 마당에서 올드 팝송을 크게 틀어놓고 여유롭게 책을 읽으면 정말 너무너무 행복하더라구요.

그런데

 

고장이 났습니다.

 

오래쓰지도 못했습니다.

한 4~5개월 썼나요..

 

연결이 잘 되지 않고 중간에 끊기거나 꺼지기도 하더군요.

 

결국 창고에 쳐박혀있는 신세가 되었습니다.

 

그렇게 창고에 쳐박혀 있기는 1년 정도 지난 며칠전, 

와이프가 우리도 블루투스 스피커 하나 사자고 하는겁니다.

엥? 

친구 집에 놀러 갔다가 블루투스 스피커를 봤는데 좋더라는 겁니다.

친구가 문제죠. 

 

그래서 창고에 묶혔던 녀석을 꺼내 뜯어 보기로 합니다.

스피커에 대해 제가 뭘 알겠냐 싶으면서도 병원가면 아픔이 사라지는 아이처럼 뜯었다가 다시 조립하면 거짓말처럼 정상 동작하는 전자제품들이 간혹 있습니다. 진짜에요.

어쩌면 어디 전선 하나가 보란 듯이 끊어져 있는 경우도 있지요. 

전선 하나만 연결해서 고쳐지면 얼마나 좋을까요..

 

뜯어 봅시다.

 

 

 

우선 전면 패널을 뽑아내야 합니다.

나사는 없고 아래 사진처럼 구멍이 꼽혀있는 형태이므로 양 옆부분에 얇은 드라이버 같은 것을 살살 끼워 넣으면서 뽑아주면 되겠습니다. 

전면 패널은 나사 없이 그냥 꼽혀있는 형태

위 사진에 보이는 검은색 작은 구멍들에 나사가 박혀 있습니다.

하나하나 풀어 줍니다.

 

나사를 모두 풀면 후면 패널이 분리 된다.

나사를 모두 풀어낸 뒤에 후면 패널을 살살 밀어 빼 봅니다.

몸통까지 빼고 나면 아래사진처럼 기판과 배터리를 보실 수 있습니다.

음... 배터리는 어디것인지 모르겠지만 18650 배터리가 2개 들어있는 것 같습니다.

배터리와 후면 패널 조작부, 상단 조작부가 보인다.

 

뭐 분해를 해봐도 사실 제가 할 수 있는건 없네요.

 

 

내친김에 후면 조작부도 한번 까 보기로 합니다.

본드인지 실리콘인지 단단하게 실링이 되어 있어 뜯어내기가 상당히 번거롭습니다. 

후면 조작부는 실링처리가 되어 있다.

 

드디어 후면 조작부를 꺼냈습니다.

 

사진을 미쳐 찍지 못하였는데 아래 사진에 보면 구멍이 5개 뿅뿅 뚫린 부분 있죠? 그 부분에 전원 ON/OFF 를 담당하는 조그만 슬라이드 스위치가 있었는데요. 그녀석이 뭔가 헐거운게 수상해 보이더군요.

후면 패널 기판, 교체를 위해 슬라이드 스위치를 제거하였다

 

헐거운 슬라이드 스위치를 제거하고 굴러다니는 조그만 슬라이드 스위치를 하나 찾아서 끼워 넣어 봅니다.

스위치는 아래와 같이 생겼는데 예전에 버리는 다른 전자제품 분해하면서 적출해놓은 것이 마침 있었습니다.

어디서 뜯어 놨는지 모를 아주 작은 슬라이드 스위치

 

사이즈가 약간 컸지만 3pin 다리 규격은 맞았기 때문에 정당히 우겨 넣어 보았습니다.

납땜을 해주고 조립하기 전에 전원을 켜서 테스트를 해보았는데요.

 

설마

 

이걸 내가?

 

 

조립전 최종 테스트 중인 피스넷 하이엔드

네 고쳤습니다!

 

반응형

ㅋㅋㅋ

 

 

왠열

 

이게 고쳐지네요.

아마 스위치 접점이 헐거워져서 전원 인가가 불안해 문제가 되었던 것 같습니다.

다시 순서대로 조립을 하고 잘 사용중에 있습니다.

 

사실 10만원 정도 금액으로 구입한 제품이 3배 가까이 되는 유명 제품과 비교해서 큰 차이가 없으면 매우 훌륭한 것임은 분명하지만 저렇게 내구성이 약한 부품, 약간은 허접한 조립방식 등은 조금 아쉽기는 합니다.

 

가격에 비해 웅장한 중저음이 장점인 피스넷 하이엔드

 

이상 수리기를 마칩니다.

 

뎃글, 공감 은 블로그 작성자에게 큰 힘이 된답니다. 

 

2022.03.26 - [DIY] - [DIY]무민양품 USB 데스크팬 수리하기

 

[DIY]무민양품 USB 데스크팬 수리하기

사무실을 이사하다보면 각 종 쓰레기가 쏟아져 나오는데 간혹 쓸만한 것들이 나오는 경우가 있습니다. 오호~ 이건 무민 양품의 USB 선풍기! 뭐 고장 났으니 버렸겠지 싶어 지나쳐 가다가 ... 고치

diy-dev-design.tistory.com

2020/05/17 - [DIY] - [재활용] LED 바 수리하기 > 화장대 조명 만들기

 

[재활용] LED 바 수리하기 > 화장대 조명 만들기

저의 보물창고 바로 폐 배터리, 형광등 수거함 입니다. 지나는 길에 기웃거려 보니 LED 바가 버려진게 있더군요. LED 바 금액 자체가 비싼건 아니지만 사실 일부러 돈주고 살만큼 효과적인 조명기�

diy-dev-design.tistory.com

2020/03/10 - [DIY] - [수리기] 닌텐도 Wii 리모컨 고장 수리. #간단 #초보 가능

 

[수리기] 닌텐도 Wii 리모컨 고장 수리. #간단 #초보 가능

저희 집에 단연 없어서는 안될 1순위 가전 제품중의 하나가 바로 닌텐도 Wii 입니다. 아이들이 게임을 하는 동안도 몸을 사용하며 게임 자체보다는 가족들이나 친구들과 많은 이야기를 나누고 웃

diy-dev-design.tistory.com

2020/03/03 - [DIY] - [재활용] 버려진 외장배터리에서 18650 적출하기, 부활시키기

 

[재활용] 버려진 외장배터리에서 18650 적출하기, 부활시키기

재활용 쓰래기장은 저와 같은 부류의 사람에게는 보물 창고 입니다. 오늘도 음식 쓰레기 버리러 가는 길에 폐 배터리 수거함을 슬쩍 보니 외장 배터리 2개가 버려져 있더군요. 게다가 하나는 샤�

diy-dev-design.tistory.com

 

 

반응형
반응형

Winter is comming....

 

그렇다.

 

겨울이 오고 있는 것이다.

 

보일러는 부족하다. 옷을 껴입는것은 답답하고 싫다.

 

그래서 구매하여 보았습니다.

바로 Fashy 보온/ 보냉 물주머니가 되시겠습니다.

 

찜질용 빨간색 고무 주머니 아시죠? 사실 그거를 사려고 했었거든요? 그런데 인터넷에 들어가보니 맨 이거만 나오더라구요. 가격차이가 좀 나기는 하는데 (물론 이게 훨씬 작고 훨씬 비쌈) 독일제고 뚜껑이 확실하게 닫힐것 같아 구입을 해 보았습니다.

쿠팡에서 주문을 하였고 바로 다음날 받아 봤습니다.

요렇게 포장이 되어 온다

 

크기는 생각보다 작았다. 

크기는 생각했던거보다 더 작아 처음엔느 실망이었습니다. 좀 큼직해서 등에 깔고 누워 자려했는데요. 한뼘보다 조금 크네요. 물론 제 손이 거인족 스러운 손은 아닙니니다. 

 

 

입구부분 옆에 로고와 당당하게 찍힌 Germany 가 보인다

 

약간 단단한 실리콘 같은 재질이며 Made in Germany 가 떡하니 찍혀있으니 중국산은 아닌것 같아 마음에 드네요. 그 아래는 뭐라 써있는 지 모르겠습니다.

 

 

 

물을 따르는 입구는 아래와 같이 생겼습니다. 음료병 뚜껑이 거꾸로 된것 처럼 마개가 들어가는 구멍이 있고요. 옆에 하얀 동그란 것은 고리 입니다. 매달아 놓고 보관할 수 있도록 고리가 장착이 되어 있습니다.

fashy 물주머니 입구 부분

 

 

아래 사진은 마개 입니다. fashy 가 찍혀있고요. 별다른건 없는 그냥 뚜껑입니다. 재질은 실리콘 같은 재질은 아니고 플라스틱 같은 느낌 입니다.

fashy 물주머니의 뚜껑

 

자 사실 이 제품을 구입한 것을 포스팅 하려던 것은 아니었고 이 물주머니의 옷을 만들어보자 해서 작성된 포스트 입니다. 이 제품 판매 링크에 가보면 여러가지 스타일의 커버를 함께 판매하고 있었는데요. 아무래도 펄펄 끓는 물을 넣다 보니 직접 피부에 닿으면 뜨겁기도 하고 보온 효과도 커버가 있는 것이 훨씬 도움이 되겠죠.

그래서 커버를 함께 살까 했는데 뭐 대단할 것도 없는것들이 1만원씩 하더라구요. 물주머니가 1만원 정도인데 스킨이 같은 가격이라니...

 

그래서 만들어 보기로 하였습니다.

먼저 집에서 입지 않는 와이프의 폴라폴리스 옷을 하나 기증 받았습니다.

 

거기에 네임펜으로 찍찍 물주머니를 올려 놓고 아래와 같이 그렸습니다.

폴라폴리스에 물주머니의 형상으로 그림을 그려 보았다.

 

가위로 대충 잘라준 후 아래와 같이 테두리를 따라 미싱으로 박아 줍니다.

폴라폴리스를 이용하여 커버 제작중인 모습

 

엄청 쉬운데요? 30분도 걸리지 않아 모두 만들었습니다.

박음질이 끝낫으니 철을 뒤집으면 되겠네요.

아래 그림은 만들어진 모습이며 아직 입히지는 않은 상태 입니다.

 

완성된 커버

자 모두 완성이 되었습니다.

이제 끌어않고 자도 어느정도는 따사로울 것같습니다.

 

 

물주머니에 물을 채워 넣은 모습

다 완성했더니 위와 같은 모습이 나왔습니다.

별거 없긴하네요. 다음번에는 다른 천이나 다른 방식으로 커버를 제작해  봐야 겠습니다.

 

1주일 정도 사용한 결과 만족!

일단 둥근 형태의 주둥이 때문에 정확하게 놓고 눕은것이 좀 어려운 점도 있었으나 허리부분에 집중적으로 댄다고 생각하면 그렇저억 괜앗던것 같습니다.

 

다음번에는 뜨게질로 보온 팩을 만들어 볼까 합니다.

 

그럼 이만~

 

 

 

 

 

 

 

 

 

 

반응형
반응형

 

욕실 비데 대신 베트남에서 사용해본 비데용 샤워기를 사용한지 약 서너달이 지났는데 생각보다 만족도가 높아서 기존 설치되어 있는 비데를 사용한 적이 단 한번도 없었습니다.

사용시간, 위치 등을 자유롭게 이용할 수 있고 수량도 비데와 비교했을때 월등히 좋기 때문에 사실상 비데를 사용할 필요가 없겠다 싶었는데 한가지 문제점이 있었습니다.

이제 곧 겨울이 다가오는데 변기용 수도에 온수가 나올리가 없으므로 얼음장 같은 물줄기로 소중한 그곳에 뿌려댄다는 것은 상상도 할 수 없는 일이죠. 거의 고문 아니겠습니까?

그래서 알리익스프레스를 뒤져보던 중 상당히 저렴한 가격에 적당해 보이는 제품이 보였습니다.

25000 원 정도면 구입할 수 있는 전기 순간 온수기였는데요.

음... 

"넌 이미 질렀다."

 

 



구매하였습니다.


생각보다 배송이 빠르더군요. 2주 정도 걸렸습니다.



박스안에 들어있는 모든 구성품
약 40cm 정도 되는 길이로 아주 작지는 않다.

요렇게 생긴 녀석이고 아래쪽(파란색) 부분이 입수부, 위쪽 (빨간색) 부분이 온수가 나오는 출수부 입니다. 조작을 위한 버튼 같은 것은 전혀 없고 오직 220V 용 전원 코드와 입수부, 출수부만 존재 합니다. 

옆에 크기 비교를 위하여 30cm 자를 두었습니다. 

동작하는 것은 출수부쪽에서 물을 틀어주게 되면 수압변화를 인식하여 자동으로 동작이 되고 꼭지를 잠그면 자동으로 전원이 꺼지는 방식입니다. 간단해서 사용자다 뭘 할것은 없고 벽에 부착하고 호스를 연결한 뒤 전원을 꼽으면 끝입니다. 

장점이라 할만한 점은 220V 코드가 알리에서 흔히 파는 유럽 타입의 헐거운 코드가 아닌 한국 콘센트에 딱 맞는 접지가 있는 코드가 달려있다는 점 입니다.

막상 설치하려고 보니 불안한 마음이 없지 않습니다. 

과연 온도 조절은 어떻게 해야 하는걸까... 음.... 제 엉덩이가 수육이 되는 것은 싫거든요. 

설치를 해보겠습니다.

 

먼저 양면 테이프를 바른뒤 사진에는 없지만 몇군데 실리콘 본드도 붙여 주었습니다.

3M 양면 테이프를 이용하여 붙여주었다.

 

벽에 부착한 상태. 실리콘이 단단히 굳을 수 있도록 하루를 말려 두었습니다.

하루동안 잘 말라 붙은 순간 온수기.

좀더 아래에 달았다면 좋았겠지만 전원 코드선이 짧아 어쩔수 없이 저위치에 달게 되었습니다. ㅉㅉ

 

그리고 구성품 사진에서 느끼셨는지 모르겠지만 연결 호스가 들어있지 않습니다.

그래서 쿠팡에서 하나 주문 하였습니다. (뭐가 자꾸 추가가 되네요)

옆에 보이는 정수 필터는 예전에 비데 구입 시 함께 온 필터입니다. 아무래도 물에서 이물질이 나와 온수기로 들어간다면 고장의 원인이 될 수 있으니 달아주는것이 좋겠다고 생각했습니다. 없으면 그냥 설치해도 문제는 없을 것 같간합니다.

비데용 정수 필터와 고압 연결 호스

 

정수 필터를 직결하여 부착한다.

아래쪽에 보이는 필터는 기존 비데로 들어가는 필터고요. 옆으로 튀어나온 필터가 온수기로 들어갈 필터 입니다. 분배기로 나온 출수구쪽에 장착합니다.

 

설치 완료!

두둥. 설치가 완료된 모습

 

설치가 완료 되었습니다.

이제 테스트에 들어갑니다.

물을 인입 되는 부분의 먼저 틀어준 뒤 전원 코드를 끼워 줍니다.

 

우선 사용하는 전력량을 체크해 보기로 하였습니다.

전원만 연결된 상태

전원만 연결하였을 때 0.4W 의 전력을 소모합니다. 사실상 전류를 사용하지 않는다고 보면 되겠습니다. 

 그리고 물을 틀어보면 ~

물이 흐르면 자동으로 켜진다. 3200W 정도를 사용한다.

샤워기 헤드에 있는 손잡이를 이용하여 물을 틀게 되면 자동으로 스위치가 동작이 되는데 무려 3200W 의 전력을 먹고 있습니다.

엄청나군요.

생각해보면 흐르는 물을 바로 데워서 내보내야 하니 저정도 먹는것도 이상할 건 없다는 생각은 드는데요, 적지 않은 양인 만큼 동시에 같은 콘센트에서 다른 기구가 전기를 사용하지 않는 것이 좋겠습니다. 

뭐 따지고보면 실제 사용시간이 짧은 만큼 전기 사용량이 많지는 않을 것 같습니다.

소중이 청소를 10분씩 할 것도 아니니까요. 

 

 

물온도를 비교해 보겠습니다.

냉수를 그대로 받은 상태

 냉수를 그대로 받았을 때 20 도 정도의 온도가 나옵니다.  10월 말경에 테스트 한것임을 고려하면 한겨울에는 조금더 떨어질 것 같습니다. 그럼 온수기를 사용했을 때는 얼마가 나오는지 보겠습니다.

 

두구두구두구..

 

 

쨔잔

 

 

순간 온수기를 통해 나온 물은 32도 였다.

네 32도 입니다. 양호한 수준입니다. 미지근한 정도의 온도가 되겠습니다.

그런데 사실 저온도를 맞추기 위해 수압을 좀 낮추었습니다. 나오는 물의 양을 올리니 온도가 뚝뚝 떨어져 온수기를 사용하는 의미가 없는 수준이었습니다. 

사실 엉덩이 청소를 위해 촤악 뿌려지는 시원한 물줄기가 필요하긴 하지만 엉덩이가 얼어버리는 것보다는 조금 살살 뿌려주는 것으로 만족하는 방법 밖에는 없겠습니다.

그리고 또하나 중요한 것은

저 온수기 자체가 저장 탱크가 없는 방식이다 보니 흐르는 상태에서 바로 가열이 되기 때문에 사용하다가 잠시 멈추면 중간에 있던 물이 매우 뜨거운 상태가 되어 버립니다. 사용하다가 잠시 멈추고 다시 사용할때는 반드시 3~5 초정도 변기 속으로 물을 빼 버리고 사용해야 할 것 같습니다.

안 그랬다가는 엉덩이가 매우 따근한 경험을 하게 될 수도 있어 보입니다.

 

이상으로 싸구려 중국산 전기 순간 온수기 설치 후기 였습니다.

너무나도 쉬운 설치 후기였네요. 보일러 없는 시골 집에 하나쯤 달아 드려도 좋지 않겠습니까?

 

과연 한 겨울에 몇도의 온수를 보내 줄 지 기대가 됩니다.

올겨울에 한번 올려 보겠습니다.

뎃글, 공감 은 블로그 작성자에게 큰 힘이 된답니다. 
도움이 되었다 생각되시면 클릭!!  부탁드려요~

 

 

 

반응형
반응형

아두이노는 정말 놀라운 하드웨어가 아닐수 없죠. 우리가 생각하는 이런건 자동으로 해주는거 없나? 이런게 자동으로 되면 좋을텐데... 이런걸 왜 자동으로 안하는거야?? 같은 대부분의 자동화 장치, 기계장치를 원하면 직접 만드는것을 가능하게 끔 만드는 것을 아두이노는 가능하게 합니다.

사실 아주 많은 부분에서 자동화 또는 그런 류의 장치들은 간단한 로직만을 필요로 합니다. 실제 상용화된 제품에서는 보다 많은 기능과 안정성, 수익성, 또 제품화 되기 위한 여러가지 복합적인 문제들을 안고 있기 때문에 제품화 되지 않는 것일 뿐이죠.

오늘 포스트에서 올릴 내용은 바로 "아두이노를 이용한 수경재배" 에 대한 내용입니다.

회사에서 DIY 동호회를 운영중인데 이번 프로젝트가 바로 수경재배가 되시겠습니다.

수경재배를 하기 위하여 알아야 할 것들이 많이 있는데 사실 원천적으로는 복잡하지 않습니다. 식물이 생장에 필요로 하는 물과 양분을 공급해주는것. 바로 이게 핵심인데 그 과정에서 발생되는 인간의 개입 정도를 좀 줄여보는게 이번 프로젝트의 핵심이라 할 수 있겠습니다.

양액은 인터넷에서 저렴하게 구입이 가능하므로 일정 농도로 희석된 양액을 통에 담아두고 수경 재배용 통에 항상 부족하지 않게 공급하는 장치를 만들어 볼 계획입니다.

실제 수경재배를 위하여는 양액의 Ph 농도와 전해질의 양의 측정이 매우 중요하지만 이번 프로젝트를 위하여 엄청난 수확량을 기대한다거나 하는 것이 아니기 때문에 우리는 자동으로 부족한 물 (양액)을 보충해 주어 인간의 개입을 최소화 하는데에 의의를 두기로 하였습니다.

뎃글, 공감 은 블로그 작성자에게 큰 힘이 된답니다. 
도움이 되었다 생각되시면 클릭!!  부탁드려요~

 

 

먼저 필요한 구조를 고민해 보았습니다.

- 식물이 자라기 위한 pot 이 필요할 것이고 pot을 잠기에하여 양액을 공급할 수 있는 양액통이 필요할 것입니다. 그리고 보조 양액통을 만들어 주 양액통에 양액이 부족해지면 보조 양액통으로 부터 양액을 보충해주는 역할을 하도록 만들어 볼 계획입니다. 그리고 양액통 내 용존 산소량을 확보하기 위하여 일정 수준의 공기 주입을 지속적으로 해주는 장치 정도를 만들어 볼 계획입니다.

필요한 재료는 아래와 같은데 이전에 소개했던 자동으로 식물에 물을 공급하는 장치와 거의 유사합니다.

  • 아두이노 나노
  • DRV8883 듀얼 모터 드라이버
  • 미니 DC 펌프 x 2 (양액 공급용, 공기 펌프용)
  • 수위 측정용 스위치 (물주기에 사용했던 센서는 사용불가... 나중에 설명하겠습니다)
    • 일반적인 리미트 스위치
  • 어항용 공돌 (다이소 500원 짜리)
  • 어항용 호스, 링거 호스
  • 양액통 2개,
  • 싱크대 수채구멍용 거름망

 

전체적으로 보면 아래와 같은 구조입니다. 배선은 제외한 그림이기는 한데요.

두개의 DC 모터를 컨트롤 하기 위한 모터 드라이버와 아두이노 나노, 중간에 수량 체크를 위한 스위치 (탁구공의 부력을 이용합니다) 그리고 각각의 식물의 재배를 위한 pot (하수구 거름망), 두개의 양액 통이죠.

 

 

스위치에 의하여 상단 박스의 수량이 부족하면 계속해서 우측 펌프가 물을 끌어 올릴 겁니다. 물이 차오르고 필요한 높이가 되면 탁구공을 매단 수량 체크용 스위치가 신호를 보낼것이고 해당 신호를 받아 필요한 양이 보충되게 되면  양액 공급펌프는 멈출것입니다.

좌측의 에어 공급 펌프는 계속해서 상단 양액내 공기를 뿜어 넣음으로써 산소량을 높이는 역할을 하게 됩니다.

반응형

이론적으로는 간단하죠?

 

네 실제로 간단 합니다. 아래와 같은 형태로 제작이 되었다고 보시면 됩니다. 

중간에 CDS 로 보이는 부품은 네..  CDS 가 맞습니다. CDS가 필요한 이유는 뒤에 설명을 드리도록 하겠습니다.

수경재배 양액 / 산소 공급장치 구조도

 

 

프로토 타입으로 제작한 이미지를 보시죠

탁구공을 접착하여 제작한 부력스위치

탁구공의 부력이 스위치를 작동시키이에 약간 부족함이 있어 날개 길이를 조금 연장하였습니다. 

 

탁구공을 이용하여 제작한 부력스위치를 장착한모습
부력스위치와 워터펌프 테스트 중인 모습

 

 

양액내 산소공급을 위한 공돌, 다이소에서 500원에 구입하였다.

 

 

씨앗으로 부터 시작된 모종. 동그라미 친 두개의 모종이 재배용으로 결정 되었다.

 

통에 양액을 채우고 모종도 pot 에 옮겨 담아 준뒤 시스템을 가동하였습니다.

물과 공기가 예상데로 잘 공급이 되는 것을 확인하였으나 모터 구동시 소음이 좀 있는 편이고 에어의 경우 하루종일 동작하게 되어 있어 모터에 열이 좀 나는 것이 문제가 될 것 같았습니다. 워터 쪽 모터도 물을 끌어올려야하는 상황이다보니 부하가 걸려 모터에서 열이 많이 발생되었습니다. 

기본적인 수경재배 시스템이 완성된 모습

나중에 브래드보드 대신 만능기판에 보드를 옮길 계획인데 해당 작업이 완료되면 별도의 포스팅을 진행할 예정입니다.

 

그리고 위에 잠깐 소음에 대하여 언급을 했었는데요. 아무래도 사무실에서 키우는 것이다 보니 소음으로 인한 민원이 바로 올라오더군요. 시끄럽다고 꺼달라고 하더라구요. - -;;

 

그래서 긴급 조치로 CDS 를 하나 달아서 사무실 조명이 모두 꺼지면 동작하도록 간단한 기능을 추가하였습니다. 이제 아무도 없는 밤에 열심히 산소를 공급해주게 될겁니다.

빨간 동그라미 부분이 CDS 되시겠다.

 

앞으로 진행할 내용은 아래와 같습니다.

  • 만능기판에 기자재 납땜으로 부착
  • 현재 상태는 보기에 좋지 않으므로 케이스를 제작
  • 식물이 자라는것을 타임랩스로 보여주기 위한 카메라 장착 (안쓰는 블랙박스 활용)

준비가 되면 포스팅을 하도록 하겠습니다.

 

아두이노 소스코드는 아래를 참고해 주세요.


const int waterLevelCheckerSW = 2;
const int airPumpSpeedControlPin = A3;
const int motor_waterpump = 9; // pin 9 (D9) is waterpump action
const int motor_airpump = 10; // pin 10 (D10) is waterpump action
const int lightSensor_pin = A4;

int airPumpSpeed = 0;
int buttonState = 0;
int count = 0;
int lightTotal = 0;

void setup() {

  pinMode(13, OUTPUT); // status LED
  pinMode(motor_waterpump, OUTPUT);  // water pump pin
  pinMode(motor_airpump, OUTPUT); // air pump pin
  pinMode(waterLevelCheckerSW, INPUT_PULLUP); // water level checker switch pin
  
  Serial.begin(9600);
}


void loop() {

  count++;
  
  //air pump speed control
  airPumpSpeed = analogRead(airPumpSpeedControlPin); // 
  int pumpSpeed = map(airPumpSpeed, 0, 1023, 0, 128);
  
  
  int lightValue = analogRead(lightSensor_pin);
  
  lightTotal += lightValue;
  
  if (count == 10)
  {
    // the air pump run when dark
    if (lightTotal/10 < 1 )
    {
      analogWrite(motor_airpump, pumpSpeed);
    }else{      
      analogWrite(motor_airpump, 0);
    }
    lightTotal = 0;
    count = 0;
  }
  
  
  Serial.print(airPumpSpeed);
  Serial.print("/");
  Serial.print(pumpSpeed);
  Serial.print("///");
  Serial.println(lightValue);
    
  // water pump control
  buttonState = digitalRead(waterLevelCheckerSW);
  if (buttonState == HIGH ) 
  { 
    digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW       
    // stop water pumping
    digitalWrite(motor_waterpump, LOW);

  } 
  else 
  {    
    digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)    
    // start water pumping when dark
    if (lightValue < 2 )
    {
      analogWrite(motor_waterpump, 128);           
    }
  }
  
  delay(10);              // wait for a second

}

 

 

 

끝으로 수위 측정 센서관련하여 

참고로 물주기에 사용하였던 수분 측정 센서(알리익스프레스에서 구입)의 경우 양극단에서 흐르는 전류에 의해 물의 전기분해가 이루어 진 탓인지 센서 표면에 수많은 기포가 발생되었습니다.

센서 측정부에 발생된 기포. 전기분해가 이루어 졌다면 산소와 수소일 것으로 판단 된다.

결국 센서 표면중 한쪽면이 심하게 부식이 되며 양액을 변질 시키는 것을 보고 사용할 수 없겠다 판단 하였습니다.

하루정도 시간이 흐르자 양액의 색깔이 심하게 변하고 센서 표면도 변질 되었다.

결국 수위 측정은 위 사진에서 보여드린 탁구공을 이용하는 방법을 사용해야 했습니다.

토양의 수분 측정시에도 유사한 현상이 있어 결국 센서를 빼버렸었는데요. 해당 센서를 사용한다면 측정 주기를 매우 길게 하고 측정 시간을 짧게 여러번 하여 결과값을 사용하는 방식을 이용하는 것이 좋을 것으로 판단됩니다. 해당 센서를 이용하여 토양의 수분을 측정하려는 목적이시라면 연속해서 측정을 진행하지 마시고 일정 주기를 두고 실제 측정 시간은 짧게 측정을 하는 것이 센서의 수명에 도움이 될것으로 생각됩니다. 참고하세요~

 

뎃글, 공감 은 블로그 작성자에게 큰 힘이 된답니다. 
도움이 되었다 생각되시면 클릭!!  부탁드려요~

 

 

참고로 이전에 사용하였던 해당 센서를 이용한 토양 수분 측정을 통한 자동으로 물주는 시스템 관련 포스트

https://diy-dev-design.tistory.com/16

 

아두이노를 이용한 간단한 화분 자동 물주기 시스템

얼마뒤면 베트남으로 가족 여행을 떠날 예정입니다. 7박이나 하고 올 예정이므로 집을 비우기 전 준비해야 할 것들이 많습니다. 이것저것 여행준비를 하던 찰나 베란다에 내어 둔 화분이 걱정이 되었습니다. 출발..

diy-dev-design.tistory.com

2020/06/29 - [DIY/Arduino] - C# 에서 아두이노로 시리얼 통신 하기

 

C# 에서 아두이노로 시리얼 통신 하기

카테고리를 c# 으로 해야 할지 Arduino 로 해야할지 조금 고민이 되는 포스트 입니다. 음.... arduino 로 하는게 좋겠네요. 따지고 보면 C# 으로 만든 어플이 중요한게 아니라 아두에노에서 시리얼 통신

diy-dev-design.tistory.com

 

반응형
반응형

버튼예제.xls
0.04MB

어떤 엑셀 페이지에 늘 사용하는 스크립트를 작성하였으나 매번 실행하기 위하여 vba 창을 눌러 F5를 누르는 것은 사실 본인이 직접 스크립트 코드를 개발하는 입장이라면 조금도 번거로울 것이 없는 것이지만 누군가에게 스크립트를 작성하여 엑셀 파일을 건내 주는 경우라면, 실제 사용하는 사람이 개발과 거리가 있는 사람이라면 더더욱 이와 같은 방법으로 스크립트를 실행시키는 것은 불편한 방법이 됩니다.

게다가 스크립트가 딱 하나가 아니고 어떤 스크립트는 정렬을 해주고, 어떤 스크립트는 불필요한 값을 숨겨주고, 또 어떤 스크립트는 데이터를 새로 읽어 들여 전체 시트를 리프레쉬 하는 등의 여러개의 기능을 개발한 상태라면 vba 창에서 실제 해당 스크립트 위치에 마우스 커서를 가져다 놓는 등의 추가 행위가 필요합니다.

이럴때 버튼을 이용하여 특정 스크립트 (엑셀에서는 매크로라고 합니다) 를 연결하게 되면 지정된 버튼을 누를때 마다 필요한 스크립트가 동작하게 됩니다. 

말하자면 간단한 툴이 만들어 지는 것이죠. 

사실 엑셀의 각 셀은 함수나 계산식을 포함할 수 있으므로 왠만한 복잡한 것들은 워크시트의 함수와 계산식으로 처리가 가능하지만 이미지를 불러온다거나 어떤 데이터의 속성을 알아내거나 약간은 복잡한 관계의 셀 값들을 이용하여 결과값을 얻는다든가 하는 등의 일은 워크시트 함수로는 조금 어려운 부분이 있습니다. 그래서 매크로 스크립트를 작성하는 것이죠. 이런 기능기능이 모여 마치 어떤 툴처럼 제작이 가능합니다.

영업사원들에게는 견적서 프로그램을 만드는 것이 가능할 것이고 세무, 회계부서에서는 각종 세금 관계 계산을 위한 처리가 가능할것입니다. 

오늘은 그렇게 만들어진 스크립트 들을 버튼을 이용하여 동작하도록 하는 방법을 소개해 드릴까 합니다.

 

먼저 제가 초등학교 저학년 학생들을 위한 간단한 덧셈 연산을 자동으로 생성하는 엑셀파일을 만든적이 있습니다. 

https://diy-dev-design.tistory.com/41?category=791049

 

[VBA] 엑셀로 초등학교 저학년 문제집 만들기 (자동버전)

이번 포스트를 통해 꼬마아이들의 공공의적 이 될런지도 모릅니다. 바로 초등 저학년 연산문제를 끝도 없이 만들수 있는 파일을 준비했기 때문입니다. 지난번 포스트에서 연산문제를 만드는 VBA 를 소개해 드렸었..

diy-dev-design.tistory.com

 

해당 파일을 보면 아래와 같은 화면을 볼 수 있는데요. 우측의 버튼을 누를 때 마다 버튼의 텍스트에 해당하는 기능으로 좌측 값이 자동으로 생성이 됩니다. 위 링크된 페이지에 가면 실제 엑셀 파일을 받으실 수 있으니 해당 파일을 받으셔서 참고해보셔도 좋을 것 같습니다.

버튼을 이용하여 다양한 매크로를 동작하도록 만든 엑셀 시트

 

우선 단추(버튼)르르 이용한 동작을 확인할 간단한 스크립트를 작성해 보겠습니다.

  • 첫번째 스크립트로 셀 A1~C1 번에 숫자 1, 2, 3 을 넣어 보겠습니다.
    • 만약 이미 숫자가 들어있다면 현재 들어있는 숫자에 각각 1, 2, 3을 더하도록 해보죠.
  • 두번째 스크립트는 A2 ~ C2 에 A1 + A1, B1 + B1, C1 + C1 까지의 값을 넣는 동작을
  • 세번째 스크립트는 A3 ~ C3 에 A1 * A2, B1 * B2, C1 * C2 의 값을 넣는 동작을
  • 네번째 스크립트는 A4 ~ C4 에 C1 ~ C3 의 값을 이용하여 셀의 색상을 채워 넣어 보겠습니다.
    • 컬러를 지정하기 위한 숫자는 RGB 로 각각 0~255만 가능하므로 255 보다 크면 255로 설정 하겠습니다.
    • 그리고 255보다 값이 커진다면 첫번째 행의 값을 낮은 값으로 바꾸어 보겠습니다.

 

스크립트를 작성해 보겠습니다.

먼저 엑셀을 열고 VBA 창 (alt + F11) 을 실행한 뒤 아래와 같이 입력해 보겠습니다.

Sub function_a()
    
    'cells(rowIndex, columnIndex) 와 같은 형식으로 셀을 지정하는 방법'
    If Len(Cells(1, 1)) Then
        Cells(1, 1).Value = Cells(1, 1).Value + 1
    Else
        Cells(1, 1).Value = 1
    End If
    
    If Len(Cells(1, 2)) Then
        Cells(1, 2).Value = Cells(1, 2).Value + 2
    Else
        Cells(1, 2).Value = 2
    End If
    
    If Len(Cells(1, 3)) Then
        Cells(1, 3).Value = Cells(1, 3).Value + 3
    Else
        Cells(1, 3).Value = 3
    End If

End Sub

Sub function_b()
    
    ' Range(name) 의 형태로 셀을 지정하는 방법'
    
    Range("A2").Value = Range("A1").Value * 2
    Range("B2").Value = Range("B1").Value * 2
    Range("C2").Value = Range("C1").Value * 2
    
End Sub

Sub function_c()
    
    ' range 라는 변수를 설정하여 정의하는 방법'
    
    Dim a3, b3, c3
    
    Set a3 = Range("A3")
    Set b3 = Range("B3")
    Set c3 = Range("C3")
    
    a3.Value = a3.Offset(-2, 0).Value * a3.Offset(-1, 0).Value
    b3.Value = b3.Offset(-2, 0).Value * b3.Offset(-1, 0).Value
    c3.Value = c3.Offset(-2, 0).Value * c3.Offset(-1, 0).Value
    
End Sub

Sub function_d()

    Dim a3, b3, c3, rngAll
    
    Set a3 = Range("A3")
    Set b3 = Range("B3")
    Set c3 = Range("C3")
    
    Set rngAll = Range("A4", "C4")
    
    If a3.Value > 255 Then
        a3.Value = 255
        a3.Offset(-2, 0).Value = 1
    End If
    
    If b3.Value > 255 Then
        b3.Value = 255
        b3.Offset(-2, 0).Value = 2
    End If
    
    If c3.Value > 255 Then
        c3.Value = 255
        c3.Offset(-2, 0).Value = 3
    End If
    
    rngAll.Interior.Color = RGB(a3.Value, b3.Value, c3.Value)
    
End Sub

 

Sub ~ End Sub 까지가 하나의 매크로 스크립트가 되겠습니다. 총 4개의 스크립트가 작성이 되었는데요. 내용은 위에서 기술한 내용데로 작성하였으며 각각의 스크립트에는 셀을 지정하는 방법을 달리하여 작성해 보았습니다. 여러분들도 직접 타이핑 해보시면서 어떤방법으로 셀을 지정하는 것이 편리한지 경험해보시는 것이 도움이 되실 것 같습니다.

끝으로 rngAll 이라는 Range 개체를 만들었는요 현재 시트의 4번째 행의 A~C 열을 한꺼번에 설정해주었습니다. 그리고 한꺼번에 해당 셀의 색상을 변경을 하는 코드를 넣어 봤습니다.

 

자 스크립트를 모두 작성하였으면 이제 단추를 만들어 보아야 겠죠? 

그런데 엑셀의 기본 기능 중에는 단추가 보이지 않습니다. 리본 메뉴가 만들어 지면서 사용하지 않는 기능들은 꺼내져 있지 않기 때문인데요. 사용하기 위하여 꺼내 보겠습니다. 처음 한번만 하시면 됩니다.

파일 메뉴로 가셔서 아래와 같은 창이 나오면 제일 아래 옵션을 선택합니다.

엑셀에서 파일 메뉴를 진입한 화면

그럼 옵션창이 팝업으로 뜨게 됩니다.

팝업으로 뜬 창에서 '리본 사용자 지정' 텝으로 이동해보면 아래와 같이 아주 많은 기능이 나열된 것을 볼 수 있습니다.

위 그림에서 좌측은 엑셀이 가지고 있는 모든 기능을 보여주고 있고 우측은 현재 사용자의 리본메뉴에 추가되어 있는 기능들이라고 생각하시면 되겠습니다.

아래 1번의 드롭다운 메뉴에 리본에 없는 메뉴를 선택하신 뒤 리스트에서 2번 '단추(양식컨트롤)' 이 바로 우리가 필요한 단추를 넣는 기능입니다. 단추라고 하면 좀 이상한데요, 익숙한 용어로는 버튼입니다. 버튼.

우측은 해당 기능을 넣을 리본 메뉴라고 했는데요, 저는 삽입 이라는 탭에 넣을 계획 입니다. 이미 있는 그룹에 넣는 것은 불가능하고 새로운 그룹을 만들어서 넣어야 하기 때문에 3번 삽입 을 선택하여 메뉴를 확장 시킨 뒤 아래 '새 그룹' 이라는 버튼을 이용하여 새로운 그룹을 추가해 줍니다.

엑셀의 옵션창 버전마다 약간의 차이는 있다

새로 추가한 그룹의 이름을 바꾸어 볼 차례 입니다. 저는 제 블로그 이름인 "DIY_DEV_DESIGN" 라고 변경하였습니다. 아래 이름 바꾸기라는 버튼을 이용하여 변경하시면 됩니다.

추가한 그룹의 이름을 바꾸어준 상태

 

이제 단추를 선택한뒤 가운데에 있는 "추가>>" 를 이용하여 방금 만든 그룹에 추가를 해 보겠습니다.

새로 추가한 그룹에 단추 명령을 넣은 상태

자 이제 단추를 추가하는 기능은 완료가 되었습니다. 확인 버튼을 눌러 옵션 창을 닫고 엑셀의 리본메뉴를 살펴보면 아래와 같이 단추가 추가되어 있을 것입니다.

 

이제 해당 버튼을 누르게 되면 엑셀 시트에 단추를 만들수 있게 됩니다.

만드는 방법은 아래와 같습니다. 

  1. 단추 버튼을 누른다
  2. 원하는 위치에 마우스를 클릭한뒤 드래그 하여 필요한 크기가 되면 마우스 버튼을 뗀다
  3. 팝업으로 나오는 매크로 선택창에서 아까 만들어둔 스크립트를 선택해 준다.
  4. 이미 만들어진 단추의 크기나 위치, 레이블을 수정하기 위하여는 마우스 우클릭으로 선택해주면 됩니다.

 

첫번째 단추를 추가하였다.

총 4개의 스크립트를 연결할 것이므로 4개의 스크립트를 차례로 연결해 보겠습니다

 

이제 위의 버튼부터 차례로 눌러 볼까요?

버튼을 누를때마다 해당 스크립트가 동작한다

네 잘 동작되네요.

만약 스크립트를 수정해야 하면 해당 버튼을 마우스 우클릭한 뒤 "매크로 지정" 기능으로 이동하여 설정되어 있는 매크로를 다른 메뉴로 변경하거나 선택되어 있는 매크로에서 "편집" 버튼을 눌러주게 되면 해당 매크로 스크립트를 바로 편집할 수 있는 비주얼 베이직에디터가 나타나게 됩니다.

 

자 이렇게 해서 엑셀에 버튼을 추가하고 스크립트를 연결하는 방법을 알아 보았습니다.

설정창에서 단추 기능을 꺼내는 단계부터 처음하시는 분은 조금 복잡하다고 생각하실 수도 있겠는데요. 막상 해보시면 정말 간단한 작업이고 어렵지 않습니다.

또한 이렇게 단추로 만들어진 스크립트는 매우 실행하기 편리하고 직관적이죠. 

자 여러분도 이제 엑셀을 이용하여 툴을 만들어 보시는 겁니다.

도전해 보시지요.

 

반응형
반응형

화끈함의 끝판왕 존윅 (JOHN WICK) 배경화면을 만들어 보았습니다. 아직 3편은 보지 못하였는데요. 빨리 보고 싶은 영화 1순위에 있다고해도 과언이 아닌 영화입니다.

 

존윅의 처참한 상황과 분위기를 폰 배경화면에 담아 보았습니다. 

그리고 이전 포스트에서 작성하였던 포토샵 스크립트를 사용하여 문자를 이용한 이미지 표현 방식으로 역시 이번에도 배경화면을 만들어 보았는데요. 그럭저럭 마음에 들게 이미지가 나왔습니다.

다운받으셔서 배경화면으로 적용하시면 됩니다.

 

Galaxy S10 Series (1080x2280) wallpaper - JOHN WICK
Galaxy S10 Series (1080x2280) wallpaper - JOHN WICK
Galaxy S10 Series (1080x2280) wallpaper - JOHN WICK

 

글자로 된 이미지 속에 JOHN WICK 이라는 글자가 숨어 있답니다.

심심하신 분들은 한번 찾아보세요~

 

공감 부탁드리며 마음껏 퍼가셔서 나누어 주셔도 됩니다.

 

 

참고로 글자를 이용한 배경화면으로 매트릭스 버전도 있으니 다운받으셔서 사용해 보세요~.

https://diy-dev-design.tistory.com/56

 

[wallpaper] Galaxy s10 series 배경화면 - MATRIX RELOADED

타이포 그래픽으로 제작한 갤럭시 S10 시리즈 배경화면 입니다. 문자의 이미지를 문자로 형상화 한 그래픽을 이용하여 배경화면을 만들어 보았는데요. 매트릭스의 경우 영화의 메인 컨셉 이미지와도 매칭되는 느낌..

diy-dev-design.tistory.com

 

글자를 이용하여 이미지를 제작하는 방법은 아래 포스트를 참고해 주세요. 

https://diy-dev-design.tistory.com/57

 

[포토샵스크립트] 문자를 이용하여 사진 표현하기

미디어 아티스트를 꿈꾸는 디자이너라면 한번 쯤은 관심을 가져 봤을 법한 이미지 또는 영상이 있습니다. 바로 사진을 텍스트로 전환하여 이미지 프로세싱을 통해 표현하는 것인데요. 음... 글로만은 설명이 좀 어..

diy-dev-design.tistory.com

 

전면 스크린의 카메라 숨김용 배경화면도 있답니다.

Galaxy Note 10 : https://diy-dev-design.tistory.com/40?category=791050

 

[wallpaper] 갤럭시 노트 10 카메라 숨김 배경화면

정동남 버전 으로 유명한 갤럭시 노트 10을 샀다. 아니 유명한 줄 모르고 샀는데 유명한걸 알게된건 사용한 날짜가 지날수록 자꾸 눈에 걸리는 정중앙 카메라가 신경이 쓰이면서 부터랄까... 와 .. .. 엄청거슬려..

diy-dev-design.tistory.com

Galaxy S10 5G : https://diy-dev-design.tistory.com/53

 

[wallpaper] Galaxy s10 5G 카메라 숨김 배경화면

이번 포스트는 갤럭시 s10 5G 카메라 숨김 배경화면 입니다. 재미있는 배경화면을 좀 많이 만들까 했는데 저작권 문제도 있을 듯 해서 특정 회사의 캐릭터들은 사용하지 않기로 하였습니다. 예쁜 배경화면들과 많..

diy-dev-design.tistory.com

 

반응형
반응형

미디어 아티스트를 꿈꾸는 디자이너라면 한번 쯤은 관심을 가져 봤을 법한 이미지 또는 영상이 있습니다. 바로 사진을 텍스트로 전환하여 이미지 프로세싱을 통해 표현하는 것인데요. 

음... 글로만은 설명이 좀 어려울 수 있겠습니다.

 

말하자면 이런거죠.

 문자를 이용하여 사진을 표현한 모습

 

위의 그림을 보면 언뜻 사진처럼 보이지만 가까이서 보면 

문자(글자)를 이용하여 사진을 표현한 모습

이렇게 문자(알파벳, 숫자, 특수기호) 로 되어 있습니다.

 

신기하죠?

 

사실 사람이 이런 작업을 하는 것은 일정 사이즈를 넘어가는 순간 불가능 합니다. 하지만 스크립트를 이용하면 가능합니다.  이번에는 스크립트를 이용하여 위와 같은 그래픽을 자동으로 만드는 방법을 소개해 드릴 까 합니다. 

 

자 개발을 하려면 무엇을 어떻게 개발할 것인지 머리속에 잘 그려보는 것이 중요합니다.

한번 적어 볼까요?

 

  • 알파벳, 숫자, 특수기호를 이용하여 밝기 순으로 문자를 배열하는 작업을 한다. --> A
  • 도큐먼트를 사진을 분석이 가능한 최소 크기로 리사이즈 한다.
  • 분석작업이 용이하도록 흑백으로 전환 한다.
  • 각 픽셀의 밝기를 조사한다.
  • 각 픽셀의 밝기에 대응되는 A 의 문자열을 찾아 변수에 저장한다.
  • 다시 이미지 사이즈를 축소된 사이즈 * 글자크기 로 리사이즈 한다.
  • 이미지에 텍스트 레이어를 추가한다.
  • 텍스트 레이어에 아까 저장하였던 텍스트 변수의 값을 이용하여 글자를 표시한다.
  • 글자의 문자 간격과 줄간격을 설정한다.
  • 아! 글자는 모노타입 폰트를 설정한다. 폰트 간격이 pixel 처럼 일정해야 하므로.
    • 여기서 나는 Consolas 라는 모노타입 폰트를 10 pt 로 적용하였다.
  • 뒤에 이미지에 해당되는 배경을 숨겨주면 완료!

 

좀 장황하지만 위의 과정이 있어야만 표현이 가능하다는 것을 알 수 있습니다.

 

우선 문자열을 매번 이미지를 글자로 표현해 볼때 마다 분석을 하는 것은 불필요하므로 별도 스크립트를 이용하여 재배열을 해야 하는데요, 아래 포스트의 내용을 먼저 참고하시면 도움이 되겠습니다.

https://diy-dev-design.tistory.com/55

 

[포토샵스크립트] 글자들을 밝기 순으로 배열해 보기

좀 생뚱 맞을 수도 있는데 이번에 소개해드릴 강좌는 글자의 밝기를 알아보는 스크립트를 소개해 드릴까 합니다. 글짜에 무슨 밝기가 있다는 건가 하실수 있겠는데요. 바로 이런 표현을 하기 위하여 필요한 것이..

diy-dev-design.tistory.com

 

제가 사용한 글자는 

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890[}±.:,/~';*-=+!@?>\#$%^&

인데요. 밝기 순으로 정렬을 해보면 아래와 같습니다.

.-':,;>^!~Lci/*1l?zC+±tsr2=JIT}[x75FvZ3eSYEfukjnayKoPXV9h6qdRp4bAG$8wDUO&%#Bg0mHQMWN@

순서가 뒤죽박죽이 되었죠? 제일 왼쪽이 가장 밝은 픽셀, 오른쪽이 어두운 픽셀에 매칭될 문자 입니다.

총 85개의 숫자인데요. 이미지의 픽섹의 밝기값을 0 ~ 100 사이의 밝기값으로 구한 뒤 x0.85 를 해주면 85 단계 정도로 리스케일이 됩니다. 그런 다음 각각의 리스케일 된 밝기를 저 글자의 해당 되는 위치의 글자로 표현해 주면 되는겁니다.

 

그럼 이미지를 준비해 볼까요? 

매트릭스 포스터

네. 유명한 영화 매트릭스의 주인공인 네오 포스터 입니다.

 

이제 코드를 짜보겠습니다. 주석을 달아 놓았으니 한줄 한줄 따라 적어 보시면서 읽어 보시면 됩니다.

코딩이 익숙치 않은 분은 좀 어려울 수도 있겠는데요. 기본적으로 for 를 이용한 반복 문이나 배열의 내용을 넣고 꺼내는 등의 기본적인 코딩이 가능하시면 크게 어려울 것은 없습니다.

var lset = ".-':,;>^!~Lci/*1l?zC+±tsr2=JIT}[x75FvZ3eSYEfukjnayKoPXV9h6qdRp4bAG$8wDUO&%#Bg0mHQMWN@@"

var cDoc = app.activeDocument

cDoc.colorSamplers.removeAll();


//현재 다큐먼트를 복제
dDoc = cDoc.duplicate();
var pointSample = dDoc.colorSamplers.add([1,1]);

// 이미지의 가로 사이즈를 정해준다.
var imageWidth = 24;
// 이미지의 세로사이즈는 가로사이즈에 맞추어 비율에 맞게 자동으로 구한다.
var imageHeight = Math.floor(dDoc.height * (imageWidth / dDoc.width));

// 이미지를 리사이즈 한다.
dDoc.resizeImage(imageWidth, imageHeight);
// 흑백으로 전환. 모드가 변경되는 것은 아니고 컬러만 흑백으로 변경하게 된다.
dDoc.layers[0].desaturate()

//밝기가 저장될 배열을 생성
var brightArray = [];

// 이미지의 모든 필셀의 밝기를 배열에 저장함
for (var yy = 0; yy < imageHeight ; yy++)
{
    for (var xx = 0; xx < imageWidth; xx ++)
    {
        pointSample.move([xx,yy]);
        brightArray.push(Math.floor(85 - pointSample.color.hsb.brightness * 0.85))
    }
}

// 글자를 10pt 로 표시할 것이므로 이미지의 가로 세로 픽셀 수 x 10 한 만큼의 크기로 리사이즈를 한다.
dDoc.resizeImage(imageWidth * 10, imageHeight * 10, 72, ResampleMethod.NEARESTNEIGHBOR);

//이전의 유닛 단위를 미리 저장해 놓는다.
var rulerUnits = app.preferences.rulerUnits;
// 유닛을 포인트로 변경한다.
app.preferences.rulerUnits = Units.POINTS;

// 레이어를 하나 만들어 준뒤 텍스트 레이어로 정해준다.
var aLyr = dDoc.artLayers.add();
aLyr.kind = LayerKind.TEXT;
aLyr.name = "myTxt";

var cTxtItem = dDoc.artLayers["myTxt"].textItem;
cTxtItem.font = "Consolas";
cTxtItem.useAutoLeading = false
cTxtItem.size = 10;
cTxtItem.leading = 10.0;
cTxtItem.tracking = 445; // 몇차례 테스트 후 얻어진 값
cTxtItem.position = [0,0];

var cid = 0;
var ct = "";

for (var yy = 0; yy < imageHeight ; yy++)
{
    for (var xx = 0; xx < imageWidth; xx ++)
    {
        ct += lset.charAt(brightArray[cid]); // 저장된 배열의 값에 해당되는 글자를 가져옴
        cid++;
    }
    ct += "\r"; // 가로행이 끝나면 리턴을 입력하여 줄바꿈을 해준다.
}
cTxtItem.contents = ct; // 텍스트 아이템의 내용을 수집한 문자열로 입력한다.
cTxtItem.leading = 10.0;

//저장해 두었던 유닛으로 설정을 되돌린다.
app.preferences.rulerUnits = rulerUnits;
pointSample.remove();

 

이렇게 하고 실행을 해보면 글자로 만들어진 그림이 표시됩니다.

이렇게요.

 

글자로 만들어진 그림 (가로 24px)

가로를 32px 로 하면 아래와 같이 됩니다.

글자로 만들어진 매트릭스 포스터 (가로 32px)

코드의 imageWidth 의 값을 변경하면 그에 해당하는 디테일의 이미지가 만들어 집니다. 24px 에 비하여 32px의 이미지가 좀더 디테일한 것을 알 수 있습니다. 다만 포토샵의 colorSampler 가 색상을 취득하는 과정이 매우 속도가 느려서 좀 큰 해상도로 하게 되면 상당히 오래 걸려야 표시가 되더군요. 

아무래도 포토샵이 실시간으로 이미지를 프로세싱하기에는 역부족인 듯 합니다만 포토샵 스크립트로도 이런 작업이 가능하구나 정도로 이해하시면 좋을 것 같습니다. 

참고로 이런류의 작업을 아주 빠르게 수행할 수 있는 툴도 있습니다. cycling74 라는 회사의 MAX 라는 툴이고요. JITTER 라는 툴이 MAX 와 함께 설치되면 영상 처리를 아주 빠른 속도로 할 수 있습니다. 실시간 영상도 위와 같이 표현이 가능할 정도로요. 포토샵에서도 이런게 되는구나 정도로 보시면 될 것 같습니다.

 

이렇게 만들어진 텍스트 이미지를 이용하여 제 휴대폰 배경화면을 하나 만들어 봤습니다.

Galaxy S10 Series (1080x2280) wallpaper MATRIX RELOADED - NEO

 

Galaxy S10 Series (1080x2280) wallpaper MATRIX RELOADED - TRINITY

 

 

좀 더 매트릭스의 텍스트 이펙트가 살아있는 배경화면은 아래 페이지에서 다운 로드 받으세요~

https://diy-dev-design.tistory.com/56

 

[wallpaper] Galaxy s10 series 배경화면 - MATRIX RELOADED

타이포 그래픽으로 제작한 갤럭시 S10 시리즈 배경화면 입니다. 문자의 이미지를 문자로 형상화 한 그래픽을 이용하여 배경화면을 만들어 보았는데요. 매트릭스의 경우 영화의 메인 컨셉 이미지와도 매칭되는 느낌..

diy-dev-design.tistory.com

존 윅 폰 배경화면 (간치 철철)

https://diy-dev-design.tistory.com/58

 

[wallpaper] Galaxy S10 배경화면 '존윅'

화끈함의 끝판왕 존윅 (JOHN WICK) 배경화면을 만들어 보았습니다. 아직 3편은 보지 못하였는데요. 빨리 보고 싶은 영화 1순위에 있다고해도 과언이 아닌 영화입니다. 존윅의 처참한 상황과 분위기를 폰 배경화면..

diy-dev-design.tistory.com

 

반응형
반응형

타이포 그래픽으로 제작한 갤럭시 S10 시리즈 배경화면 입니다. 문자의 이미지를 문자로 형상화 한 그래픽을 이용하여 배경화면을 만들어 보았는데요. 매트릭스의 경우 영화의 메인 컨셉 이미지와도 매칭되는 느낌으로 제작해 보았습니다.

매트릭스는 2편인 RELOADED 의 포스터를 이용하여 제작을 하였습니다.

주인공인 네오와 트리니티, 그리고 주연급 조연 스미스요원 이미지 입니다.

 

상단 카메라를 가리는 배경화면은 아니지만 충분히 멋진 배경이라 생각하고 만들어 보았습니다.

갤럭시 S10 플랫폼에 맞게 제작하였습니다.

Galaxy S10 Series (1080x2280) wallpaper MATRIX RELOADED - NEO
Galaxy S10 Series (1080x2280) wallpaper MATRIX RELOADED - TRINITY
Galaxy S10 Series (1080x2280) wallpaper MATRIX RELOADED - SMITH

 

다운받으셔서 배경화면으로 사용하시면 됩니다.

 

원하시는 배경이 있으시면 뎃글로 남겨 주시면 만들어 보도록 하겠습니다.

 

감사합니다.

반응형

+ Recent posts