아두이노 나노에 연결된 6개의 LED를 D13부터 D8까지 사용하여 랜덤으로 점멸하는 프로그램을 작성하려면 다음과 같이 코드를 작성할 수 있습니다. 이 코드는 아두이노 IDE에서 작성하고 업로드할 수 있습니다.
// LED 핀 설정
const int ledPins[] = {13, 12, 11, 10, 9, 8};
const int numLEDs = 6;
void setup() {
// 모든 LED 핀을 출력 모드로 설정
for (int i = 0; i < numLEDs; i++) {
pinMode(ledPins[i], OUTPUT);
}
randomSeed(analogRead(0)); // 랜덤 시드 초기화
}
void loop() {
// 랜덤 LED 선택
int randomLED = random(numLEDs);
// 선택된 LED를 랜덤으로 켜고 끄기
digitalWrite(ledPins[randomLED], HIGH);
delay(500); // 0.5초 동안 켜기
digitalWrite(ledPins[randomLED], LOW);
delay(500); // 0.5초 동안 끄기
}
위 코드를 아두이노 IDE에 복사하고 아두이노 나노에 업로드하면 6개의 LED 중 하나가 랜덤으로 선택되어 0.5초 동안 켜지고 0.5초 동안 꺼집니다. 코드에서 `random()` 함수를 사용하여 랜덤한 LED를 선택하고 `digitalWrite()` 함수를 사용하여 LED를 켜고 끕니다. `randomSeed(analogRead(0))`는 랜덤 시드를 초기화하는데 사용되며, 시드를 초기화하지 않으면 항상 같은 순서로 LED가 선택될 수 있습니다.
소스상세 설명
ledPins[] 배열: LED가 연결된 핀 번호를 저장하는 배열입니다.
여기서는 총 6개의 핀(13, 12, 11, 10, 9, 8)을 사용합니다.
numLEDs: 사용되는 LED의 개수를 나타냅니다. 여기서는 6으로 설정되어 있습니다.
이렇게 하면 다음과 같은 새로운 기능이 추가됩니다.
랜덤한 개수의 LED 켜기: 각 루프마다 1개에서 최대 6개의 LED가 랜덤하게 켜집니다.랜덤한 시간 동안 켜기/끄기: LED가 켜지고 꺼지는 시간이 0.1초에서 1초 사이로 랜덤하게 변경됩니다.
이 코드로 LED가 더 다양한 패턴으로 깜빡거리는 모습을 볼 수 있을 것입니다. 즐겁게 코딩하세요!
// LED 핀 설정
const int ledPins[] = {13, 12, 11, 10, 9, 8};
const int numLEDs = 6;
void setup() {
// 모든 LED 핀을 출력 모드로 설정
for (int i = 0; i < numLEDs; i++) {
pinMode(ledPins[i], OUTPUT);
}
randomSeed(analogRead(0)); // 랜덤 시드 초기화
}
void loop() {
// 랜덤으로 켜질 LED 개수 결정 (1~numLEDs)
int numLEDsToLight = random(1, numLEDs + 1);
// 선택된 LED를 랜덤으로 켜기
for (int i = 0; i < numLEDsToLight; i++) {
int randomLED = random(numLEDs);
digitalWrite(ledPins[randomLED], HIGH);
}
// 랜덤한 시간 동안 켜기 (0.1초 ~ 1초)
int onTime = random(100, 1001);
delay(onTime);
// 모든 LED 끄기
for (int i = 0; i < numLEDs; i++) {
digitalWrite(ledPins[i], LOW);
}
// 랜덤한 시간 동안 끄기 (0.1초 ~ 1초)
int offTime = random(100, 1001);
delay(offTime);
}
생성형 인공지능? 생소하시죠? 무언가를 만드는건가? 인공지능을 만드는건가? 먼저 인공지능에 대해 알아보도록 하겠습니다.
인공지능은 컴퓨터 프로그램이 사람처럼 학습하고, 추론하며, 문제를 해결하는 능력을 가지도록 만드는 기술입니다. AI의 발전으로 인해 컴퓨터가 언어 이해, 음성 인식, 패턴 인식, 의사 결정 등 다양한 분야에서 사람처럼 또는 그 이상의 성능을 발휘합니다.
그럼 여기서 한층 더 발전한 생성형 인공지능은 무엇일까요?
생성형인공지능은 기존의 데이터에서 학습하여 새롭고 창의적인 결과물(텍스트, 이미지, 음악 등)을 만들어낼 수 있는 인공지능 기술입니다. 대표적인 예로 GPT (Generative Pre-trained Transformer) 모델이 있습니다.
생성형 인공지능은 현재 다양한 분야에서 활용되고 있습니다.
작문 및 내용 생성: 기사, 시나리오, 소설 등 다양한 장르의 글을 생성하는데 활용
이미지 생성: 새로운 이미지 혹은 특정 스타일의 이미지를 생성
음악 작곡: 다양한 장르의 음악을 생성하거나, 사람들의 취향에 맞게 추천
게임 개발: 게임 내부의 캐릭터, 아이템, 맵 등의 요소를 생성
이미지생성 사이트(출처 : 미드저니 공식 홈페이지)
아래는 제가 직접 생성한 이미지 입니다.(참고사항)
하지만 생성형 인공지능이 뛰어난 성능을 발휘함에 따라 윤리적인 문제와 논란도 제기되고 있습니다. 가짜 뉴스나 조작된 이미지 및 동영상 생성으로 사회에 악영향을 끼칠 수 있고, 기존 저작권자의 권리를 침해할 수 있다는 우려도 있기 때문입니다. 이러한 문제를 해결하기 위해 생성형 인공지능 개발자들은 윤리적 방향성을 고려하며 기술 개발에 큰 관심을 기울이고 있습니다.
끝까지 읽어 주셔서 감사합니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
위 사이트는 구글에서 개발한 인공지능 머신러닝을 손쉽게 구성해보는 사이트 입니다. 이미지 학습, 소리 학습, 모션 학습등을 학습시키고 어떻게 적용되는지 확인할 수 있습니다. 또한 구글에서 개발한 인공지능 개발툴인 TensorFlow에 바로 적용 가능한 소스도 변환이 가능합니다.
위 사이트는 생성형 인공지능 분야의 대표적인 사이트 ChatGPT 입니다. Open AI 사에서 개발 했으며 현재 4.0 버전(유료버전)까지 나와 있습니다. 다양한 내용을 질문하고 답변 받을 수 있습니다.(무료버전도 있습니다.) 위 내용은 따로 상세히 다루도록 하겠습니다.
위 사이트는 앞서 4번에서 설명한 ChatGPT 사이트의 한국버전이라고 보시면 됩니다. 한국사람들의 입맛에 맞게 다양한 서비스가 추가되어 있습니다. 또 하나의 특징은 ChatGPT에서 사용하는 유로버전의 서비스를 여기서는 무료로 사용할 수 있다는 점입니다. (언제 유료로 바뀔지는........)
위 사이트는 아두이노를 조금 더 전문적으로 사용하기 위해 필요한 정보를 받을 수 있는 아두이노 공식 홈페이지 입니다. 아두이노 하드웨어의 소개 / 아두이노 소프트웨어(스케치) 프로그램 다운로드 및 설치 / 아두이노 명령어 상세내용 등의 자료를 열람 및 다운로드 할 수 있습니다.