본문 바로가기

반응형

분류 전체보기

p5.js란 무엇인가? p5.js는 크리에이티브 코딩을 위한 자바스크립트 라이브러리로, 예술가, 디자이너, 교육자, 입문자, 그리고 모두에게 접근성 높고 포용적인 언어를 지향하며 무료 오픈 소스로 제공되는 언어입니다. 마치 스케치북처럼 다양한 드로잉 기능을 제공하며 인터넷 브라우저 전체를 스케치북 삼아 그릴 수 있을 뿐 아니라, 텍스트, 입력, 비디오, 웹캠, 그리고 사운드 등을 비롯한 각종 HTML 요소를 사용할 수 있습니다. 프로세싱(Processing)의 구문과 규칙을 최대한 따르기때문에 프로세싱의 웹버전이라고 할 수 있습니다. 하지만 프로셋ㅇ이은 Java언어를 기반으로 하고 p5.js는 웹 브라우저에서 동작하는 자바스크립트 프레임워크로서 시각적인 미디어 아트나 사용자와의 상호작용을 쉽게 구현하 수 있도록 지원한다.. 더보기
I2C LCD 활용하기(센서 측정 값 나타내기-초음파센서, 온습도 센서) LCD에 센서의 값을 나타내는 방법을 알아보겠습니다. 준비물 - 아두이노 우노 - 브레드 보드 - 점퍼선 - I2C LCD - 각종 센서 : 초음파센서, 온습도 센서, 물높이 센서, 조도센서 등 1) LCD에 초음파센서 거리 측정값 나타내기 회로도 소스코드 #include // i2C 통신을 위한 라이브러리 #include // LCD I2C용 라이브러리 LiquidCrystal_I2C lcd(0x27,16,2); // 0x3F or 0x27 //고유주소가 LCD마다 다르기 때문입니다. #define trigPin 5 // 초음파 발신핀 #define echoPin 6 // 초음파 수신핀 long duration, distance; void setup() { pinMode(trigPin,OUTPUT); .. 더보기
I2C LCD 활용하기 LCD는 Liquid Crystal Display의 약자로 액정표시장치를 말합니다. 액정은 액체처럼 유체의 성질을 가지면서 고체처럼 광학적 성질을 가지는 물질을 말합니다. 또한 액정은 고체표면에 특정 방향으로 정렬할 수도 있어, 전기적 신호를 가해 원하는 방향으로 배열하여 빛을 투과시키거나 차단시킬 수 있기 때문에 디스플레이에 사용됩니다. LCD는 손목시계부터 TV에 이르기까지 광범위하게 활용되고 있습니다. LCD는 얇고 가벼우며 소비전력이 적지만, 어두운 곳에서는 잘 아보이는 단점이 있습니다. 우리는 I2C 방식의 LCD 를 사용합니다. I2C(Inter Integrated Circuit) 는 주변장치를 연결하기 위해 필립스사에서 개발한 직렬버스 통신방식이며, SCL,SDA 두 개의 신호로 통신이 가능.. 더보기
사운드 센서(소리감지센서)를 이용한 LED제어하기 오늘은 사운드 센서(소리 감지 센서)를 이용하여 LED를 제어해보겠습니다. 소리감지센서(사운드 센서)는 발생되는 소리를 마니크로 모아서 소리의 크기를 증폭시켜 출력합니다. 만일 소리가 잘 감지되지 않는다면 가벼너항을 통해 감도를 조절할 수 있으며 기본적으로 아날로그 전압 신호로 출력되기 때문에 아날로그핀(A0~A5)을 통해 측정해야합니다. 준비물 - 아두이노 우노 - 버튼 - 브레드 보드 - 점퍼선 - 소리감지 센서(사운드 센서) 1) 사운드 센서 연결하여 확인하기 회로도 소스코드 int soundSensor = A0; void setup() { Serial.begin(9600); pinMode(soundSensor, INPUT); } void loop() { int val=analogRead(sound.. 더보기
저항없이 버튼사용하기(아두이노 버튼 피아노 만들기) 오늘은 10k옴 저항없이 버튼을 활용하여 피아노를 만들어보겠습니다. 저번 시간에 배운 것 처럼 풀업저항을 활용해서 만들 수 있습니다. pinMode(pinNum, INPUT_PULLUP) 를 선언해서 저항없이 버튼을 사용할 수 있습니다. 준비물 - 아두이노 우노 - 버튼 - 브레드 보드 - 점퍼선 - 수동부저 1) 버튼으로 피아노 만들기(저항 없이 버튼 사용하기) 회로도 소스코드 #define NOTE_C4 262 #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define NOTE_C5 523 const byte melodyPin[] =.. 더보기
틴커캐드(Thinkercad)로 회로 시뮬레이션하기 틴커캐드를 이용해 아두이노 회로를 그려 시뮬레이션해볼 수 있습니다. 아두이노 실습키트로 직접 회로를 만들어 보기 전에 시뮬레이터를 이용해 작동여부를 확인해 볼 수 있습니다. 1) 구글 아이디로 로그인하기 2) 내 디자인 +만들기에서 '회로(circuit)' 선택 3) 화면 오른쪽에서 starter Arduino 선택 4) 회로를 선택하여 시뮬레이션 버튼을 눌러 작동을 확인해본다. 5) 작동하고 있는 회로의 코드를 볼 수도 있으며 코드를 수정하여 작동여부를 확인할 수도 있습니다. 우리는 블록코드가 아닌 텍스트 코드로 작성하겠습니다. 6) 여러분도 앞으로 제작하게 될 회로를 시뮬레이터로 미리 그려보고 작동을 확인해보면 좋겠습니다. 더보기
저항없이 버튼 활용하기(LED, 모터 제어하기-선풍기 모듈) 오늘은 10k옴 저항없이 버튼을 활용하여 LED와 모터를 제어하는 방법에 대해 알아보겠습니다. 저항없이 버튼을 활용하는 방법은 풀업 저항을 활용하는 것입니다. 아두이노에서는 자체적으로 pinMode()에서 INPUT과 OUTPUT외에도 INPUT_PULLUP이라는 소프트웨어적인 풀업모드를 제공합니다. 따라서 pinMode(pinNum, INPUT_PULLUP) 를 선언해서 저항없이 버튼을 사용할 수 있습니다. 준비물 - 아두이노 우노 - LED - 버튼 - 브레드 보드 - 점퍼선 - 선풍기 모듈 1) 버튼으로 선풍기 모듈과 LED제어하기 회로도 소스코드 int pushButton = 7; int led=3; int fan_A=8, fan_B=9; int state=0; void setup() { Seri.. 더보기
푸시 버튼 활용하기(LED, 모터 제어하기-선풍기 모듈) 오늘은 푸시 버튼을 이용하여 LED와 모터를 제어하는 방법에 대해 알아보겠습니다. 푸시 버튼은 버튼을 누르는 동안 HIGH 값을 가지며 뗄 때 LOW 값을 갖습니다. 일반적으로 네 개의 단자(Terminal)로 구성되며 두 단자간 서로 연결되어 있습니다. 따라서 하나의 단자가 끊어지거나 고장이 나더라도 다른 단자로 충분히 동작 가능합니다. 푸시버튼을 누르면 1번, 2번, 3번, 4번이 모두 연결된 상태가 됩니다. 1) 푸시 버튼으로 LED제어하기 준비물 - 아두이노 우노 - 브레드 보드 - 점퍼선 - 푸시 버튼, LED 회로도 LED는 200옴, 버튼은 10k옴을 연결합니다. 소스코드 void setup(){ Serial.begin(9600); pinMode(13, OUTPUT); //led 핀 pinM.. 더보기
부저 활용하기(초음파 센서-에어피아노) 오늘은 초음파센서를 활용하여 부저를 제어하는 방법에 대해 알아보겠습니다. 초음파센서로 거리를 측정하여 거리에 따라 다른 음이 나오도록 부저의 주파수를 조정하도록 하겠습니다. 준비물 - 아두이노 우노 - 수동형 부저 - 브레드 보드 - 점퍼선 - 초음파 센서 1) 초음파센서로 부저 제어하기 회로도 소스코드 #define Trig 5//Trig에 연결하는 핀 설정 #define Echo 6//Echo에 연결하는 핀 설정 #define Buzz 11//Buzz에 연결하는 핀 설정 //아래는 부저의 음계를 설정하는 코드 #define Do 261// 도 #define Re 293// 레 #define Mi 329// 미 #define Pa 349// 파 #define Sol 392// 솔 #define Ra 4.. 더보기
부저 활용하기(버튼으로 제어-버튼 피아노) 오늘은 부저를 제어하는 방법에 대해 알아보겠습니다. 피에조 부저(Piezo Buzzer)는 손톱 사이즈만 한 작은 스피커로 'Piezo'란 단어는 그리스어의 "누른다"라는 뜻을 가진 'Piezein'에서 유래된 말로 압력이 가해지면 전기가 발생한다는 뜻입니다. 이것을 우리말로 바꾼 것이 바로 '압전효과'입니다. 이 압전효과를 이용하여 모듈 안쪽에 얇은 판을 사용하여 미세한 떨림을 만들어내 소리를 발생시킬 수 있는 것입니다. 그렇기 때문에 아두이노의 피에조 부저는 디지털 핀의 전압을 매우 짧은 시간 안에 바꾸어가며 주파수에 맞는 소리를 낼 수 있도록 PWM 방식으로 작동됩니다. ​ ​ 부저는 능동형 부저와 수동형 부저로 나누어져 있는데 차이점은 능동형 부저는 전원이 들어오면 그냥 소리가 나는 것이고 수동형.. 더보기
서보 모터 제어하기(가변저항 이용) 오늘은 서보모터를 제어하는 방법에 대해 알아보겠습니다. 서보모터는 회전이 정해져 있어서 정확한 움직임이 필요한 경우에 사용하는 모터입니다. 서보라는 말 그대로 사용자의 명령에 따라 움직이는 모터로 사용자가 원하는 각도, 속도로 움직일 수 있다. 서보모터는 로봇, 드론, CCTV, 장난감 등 다양한 분야에서 광범위하게 쓰이고 있습니다. 여기서 사용하는 서보모터는 SG90이며 저렴하여 학습용으로 많이 사용되며 0~180도까지만 회전이 가능합니다. 준비물 - 아두이노 우노 - 서버모터 : SG90 회로도 소스코드 #include //Servo 라이브러리를 추가 Servo servo; //Servo 클래스로 servo객체 생성 int value = 0; // 각도를 조절할 변수 value void setup().. 더보기
아날로그 핀 사용하기(가변저항 이용) 오늘은 아두이노 아날로그 신호 입출력에 대해 알아보겠습니다. 디지털 핀에서는 디지털 신호 입출력이 모두 가능했던 반면, 아날로그 신호는 입력과 출력이 서로 다른 핀을 사용합니다. 입력은 ANALOG IN 문구가 표시된 A0~A5 총 6개에서 가능하고, 출력은 디지털핀 숫자 옆에 '~'가 붙은 PWM핀에서 가능합니다. PWM은 Pulse Width Modulation의 약자로 진동의 폭을 조절한다는 의미입니다. 다시 말하면 출력할 수 있는 전압값을 기준으로 이를 일정한 비율(duty)동안에는 High로 유지하고 나머지는 Low값으로 출력하여 아래와 같은 사각파의 출력을 만들어 낼수있다. 출처 : https://ko.wikipedia.org/wiki/%ED%8E%84%EC%8A%A4_%ED%8F%AD_%EB.. 더보기
초음파 센서(HC-SR04) 활용하기 오늘은 초음파센서와 LED를 제어해보겠습니다. 준비물 - 아두이노 우노 - 저항 : 220옴 - LED 소자 - 초음파 센서 : 귀에 들리지 않을 정도의 높은 주파수(약 20MHz)소리인 초음파를 발신 및 수신할 수 있는 센서이며 초당 340m의 속도를 갖고 있습니다. 주로 거리측정, 사물감지 등에 많이 활용됩니다. 초음파센서는 VCC와 GND핀을 통해 5V, 15mA의 전원을 입력받아 작동하여 Trig핀에서 초음파를 발신하고 발신된 초음파가 장애물에 부딪혀 수신부에 돌아오면 Echo핀에서 5V를 출력합니다. 이러한 원리로 거리=시간 X 속도 의 식을 이용하면 거리를 측정할 수 있습니다. VCC : 5v 전압 연결 GND : 그라운드 핀 Trig : 초음파 발신 Echo : 초음파 수신 거리 구하는 공식.. 더보기
PIR 모션센서와 LED 활용하기 오늘은 PIR모션센서와 LED를 제어해보겠습니다. 저번 시간에 배운 LED 회로를 활용하여 PIR모션센서의 값을 읽어 LED를 제어해 보겠습니다. 준비물 - 아두이노 우노 - 저항 : 220옴 - LED 소자 - PIR센서 : 적외선(빛)을 통해 움직임을 감지하는 센서입니다. 감지 각도내에 빛의 변화가 있을 시 HIGH신호를 출력하고 그렇지 않으면 LOW신호를 출력합니다. PIR(Passive Infrared Sensor: 패시브적외선)은 이름 그대로, 특정 범위 안에서 인체를 포함한 따뜻한 어떤 물체에서 방출되는(passive) 적외선(infrared)의 변화량을 감지해 어떤 물체의 움직임이 있음을 감지해 이를 전압으로 표현해 주는 장치입니다. 적외선은 적외선 파장에서 방출되기 때문에 사람의 눈에는 보.. 더보기
LED 제어하기 오늘은 아두이노로 LED를 제어해보겠습니다. 가장 기본적인 활용법이니 회로도를 연결하는 방법을 잘 이해하면 앞으로 다른 센서를 활용하는데 큰 도움이 될것입니다. 준비물 - 아두이노 우노 - LED 소자 : 가장 일반적인원형라운드 LED를 준비합니다. - 3색 RGB LED 옴의 법칙 V(전압)=I(전류)*R(저항) R(저항)=V(전압)/I(전류) I(전류)=V(전압)/R(저항) LED를 보호하기 위해 저항이 필요합니다. R = V / I를 사용하면, LED의 필요전압은 2V이며, 소모전류는 10mA입니다. 아두이노 우노 보드는 공급전압이 5V이기 때문에 R=(5V(공급전압) - 2V(LED 필요전압)) / 10mA(LED 소모 전류 세기) = 300Ω이 나오게 됩니다. ex) 공급전압이 12V일 경우 (.. 더보기
미세먼지 측정하기-아두이노, 미세먼지센서, LCD, 온습도센서 아침에 일어나면 일기예보를 제일 먼저 보게 되는 요즘입니다. 아두이노와 센서를 이용해 미세먼지에 따른 공기의 질을 측정해보고 교실 창문을 여닫는 환기라도 잘 시켜보려는 의도에서 제작하게 되었습니다. 준비물 - 아두이노 우노 - 미세먼지 측정센서(GP21Y1010AU0F) : 시중에 팔고 있는 미세먼지 센서는 브레드보드에 연결하기 조금 불편하기 때문에 쉽게 연결할 수 있도록 GP2용 어댑터를 사용하였다. - 3색 RGB LED : 미세먼지의 농도에 따른 공기질의 상태를 색깔로 표현하기 위해 필요하다. - 온습도센서 : DHT11 또는 DHT22 ( 센서에 따라 아두이노 코딩이 조금 달라지지만 많이 바뀌진 않음) - 종이박스 : 교실 앞에 두고 반친구들이 모두 볼 수 있도록 외관에 조금 신경씀 회로도 소스코.. 더보기
노트북 데스크탑 고를 때 CPU 모델명 뒤에 접미사 용도별 알파벳 뜻 컴퓨터 데스크탑이나 노트북을 사려고 사양을 살펴보면 CPU에 숫자 뒤에 알파벳 문자가 붙어 있는데 뭐가 다른건가 궁금했던 적이 있으셨나요? 맨 뒤에 붙이는 알파벳은 제품의 특징과 용도를 설명하는데 쓰이는데 모델멸 뒤에 붙은 접미사의 의미를 알아보겠습니다. 인텔 INTEL CPU 모델명 접미사 알파벳 설명 내용 DU 모바일 저전력 U 모델과 비교하여 내장그래픽이 약간 낮은 모델 E 임베디드 특수 목적의 산업 데스크톱에서 사용되는 모델 F 내장그래픽 없음 내장그래픽이 빠지게되어 일반모델보다 저렴하게 출시된 모델 G 인텔 CPU + 라데온 내장그래픽 인텔 CPU에 AMD Vega 내장그래픽이 탑재된 모델 H 모바일 고성능 노트북에 사용되는 고성능 CPU로 작은 모델로 데스크톱 모델보다는 성능이 떨어짐 HK 배.. 더보기
아두이노를 활용한 인공지능 AI 의수만들기(노트북과 핸드이노 사용) 아두이노를 이용해 의수를 만드는 과정을 알아보겠습니다. 카메라에 인식된 손 모양을 opencv와 mediapipe로 인식하여 손가락 번호에 해당하는 숫자를 아두이노로 전송하여 움직이게 만드는 원리입니다. 먼저, 필요한 재료는 아두이노 우노보드, 서보 모터, 모터쉴드, 배터리, 전선 등이 필요합니다. 의수 부분은 3D 프린터로 출력한 부품을 조립하여 만들고 아두이노 보드와 서보 모터의 선을 연결하고 손가락을 움직일 수 있도록 서보 모터와 연결합니다. 다음으로는 아두이노 코드를 작성하고 업로드한 후, 배터리를 연결하여 의수가 움직이는지 확인합니다. 인공지능 의수이기 때문에 파이썬의 opencv를 이용하여 카메라에서 사람의 손가락 움직임을 따라 의수가 움직이도록 제작하였습니다. 위와 같은 과정으로 아두이노와 .. 더보기
아두이노 우노 + 2.4 TFT LCD 디스플레이 쉴드 터치 패널 ILI9341 2.4인치 TFT LCD 디스플레이 쉴드 터치 패널 ILI9341는 아드이노 우노, 메가 2560 등에 꽂아서 사용가능한 2.4인치 LCD 디스플레이로서 320 x 240 pixel 해상도에 RGB컬러가 지원되고 터치 기능까지 지원되는 디스플레이 부품입니다. 8비트 디지털 인터페이스와 4개의 제어 라인을 가지고 있으며 18비트 262,000가지 음영을 표현할 수 있는 터치스크린이 있습니다. 터치 스크린은 디스플레이 표면에 부착되어 있고 아두이노 핀 8, 9, A2, A3을 ILI와 공유하는 4개의 와이어를 통해 연결됩니다. 따라서 LCD 디스플레이에 쓰고 동시에 터치 스크린을 읽을 수 없습니다.데이터시트를 다운로드(https://www.pdf-archive.com/2018/01/07/ili9341/)하여.. 더보기
아두이노 선풍기(L9110) 팬모터로 만들기(버튼, 초음파센서) 아두이노와 팬모터 (L9110 Fan Motor)를 이용해 선풍기를 만들 때 사용할 수 있는 다양한 센서들을 활용해 응용방법을 배워보기로 하겠습니다. 여기서는 버튼과 초음파센서, 온습도센서 등을 이용해 선풍기를 만들어보겠습니다. 팬모터 (L9110 Fan Motor)? - 아두이노 프로펠러 모듈로 모터드라이버가 내장되어 회전방향과 속도제어가 가능합니다. 권장전압은 5V, 동작전압은 2.5 ~ 12V이고 사용전류는 약 300mA입니다. 아두이노와 팬모터 (L9110 Fan Motor) 모듈 연결 int INA=5; int INB=6; void setup(){ pinMode(INA,OUTPUT); // 5번 핀을 출력핀으로 설정함. pinMode(INB,OUTPUT); // 6번 핀을 출력핀으로 설정함. }.. 더보기

반응형