반응형
SMALL

녕하세요! Choi GPT 입니다.

오늘은 팅커캐드(Tinkercad)의 TMP36 온도센서를 활용하여 LED를 연동하는 프로그램을 소개하고자 합니다.

int sensor = A0;
int RLED = 9;
int YLED = 10;
int BLED = 11;

void setup()
{
  Serial.begin(9600);
  pinMode(RLED, OUTPUT);
  pinMode(YLED, OUTPUT);
  pinMode(BLED, OUTPUT);
}

void loop()
{
  int sensing = analogRead(sensor);
  float voltage = sensing*5.0/1024.0;
  float temperture = voltage *100-50;
  Serial.print("temperture: ");
  Serial.println(temperture);
  delay(100);
  if(temperture >=-40 && temperture <=20)
  {
    digitalWrite(RLED, 1);
    digitalWrite(YLED, 0);
    digitalWrite(BLED, 0);
  }
   else if(temperture >=21 && temperture <=100 )
  {
    digitalWrite(RLED, 0);
    digitalWrite(YLED, 1);
    digitalWrite(BLED, 0);
  }
   else if(temperture >=101 && temperture <=125 )
  {
    digitalWrite(RLED, 0);
    digitalWrite(YLED, 0);
    digitalWrite(BLED, 1);
  }
  else
  {
    digitalWrite(RLED, 0);
    digitalWrite(YLED, 0);
    digitalWrite(BLED, 0);
  }
}

TMP36_r2.txt
0.00MB

반응형
LIST
반응형
SMALL

안녕하세요! Choi GPT 입니다.

오늘 소개해드릴 내용은 팅커캐드에 있는 TMP36 이라는 온도센서를 소개하고자 합니다.

 

int sensor = A0;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  int sensing = analogRead(sensor);
  float voltage = sensing*5.0/1024.0;
  float temperture = voltage *100-50;
  Serial.print("temperture = ");
  Serial.println(temperture);

  delay(100);
}

TMP36_r1.txt
0.00MB

반응형
LIST
반응형
SMALL

안녕하세요! Choi GPT 입니다.

이번 글은 챗GPT를 활용한 프로그램 작성 예시 입니다.

정말 왠만한 사람보다 훌륭하게 작성해주는데요.

ChatGPT를 활용한 프로그램 작성 예제

아두이노 나노에 연결된 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);
}

230710_메모.docx
0.01MB

 

감사합니다.

반응형
LIST
반응형
SMALL

#define BUTTON_PIN      2
#define LED_RED_PIN     4
#define LED_BLUE_PIN    9

volatile int button_state;

void setup()
{
  pinMode(BUTTON_PIN  , INPUT_PULLUP);
  pinMode(LED_RED_PIN , OUTPUT);
  pinMode(LED_BLUE_PIN, OUTPUT);
  attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), buttonInterrupt, CHANGE);
}

void loop()
{
  digitalWrite(LED_BLUE_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_BLUE_PIN, LOW);
  delay(1000);
}

void buttonInterrupt() 
{
  button_state = digitalRead(BUTTON_PIN);

  if (button_state == HIGH) 
  {
    digitalWrite(LED_RED_PIN, LOW);
  }
  if (button_state == LOW) 
  {
    digitalWrite(LED_RED_PIN, HIGH);
  }
}

소스.txt
0.00MB

반응형
LIST
반응형
SMALL

안녕하세요! Choi GPT 입니다.
오늘은 메이커 프로젝트의 일환으로 AI(인공지능) 머신러닝 프로젝트(아두이노 연동)을 소개하고자 합니다.

아래 첨부파일을 확인해 주세요.

0-1. (재활용품 구분 머신러닝 학습을 위한 사진자료)

재활용_스티커.zip
6.11MB

0-2. (교재)

TNT교안_기초22_AI_머신러닝 오픈소스사이트_구글_r10.pdf
11.58MB

 

관련 사이트 소개

1. 한국환경공단(분리배출표시제도)

 

한국환경공단

환경부 산하기관, 환경개선, 오염방지, 자원순환촉진 및 기후변화대응 온실가스 관련 사업 안내.

www.keco.or.kr

2. 인공지능 머신러닝 학습 체험사이트(오토드로우)

 

AutoDraw

Fast drawing for everyone. AutoDraw pairs machine learning with drawings from talented artists to help you draw stuff fast.

www.autodraw.com

3. 인공지능 머신러닝 학습 체험사이트(퀵드로우)

 

Quick, Draw!

신경망이 학습을 통해 낙서를 인식할 수 있을까요? 내 그림은 얼마나 잘 맞추는지 확인하고, 더 잘 맞출 수 있도록 가르쳐 주세요. 게임을 플레이하기만 하면 됩니다.

quickdraw.withgoogle.com

4. 인공지능 머신러닝 학습 체험사이트(티처블 머신)

 

Teachable Machine

Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required.

teachablemachine.withgoogle.com

5. 생성형 인공지능 사이트(ChatGPT)

 

ChatGPT

A conversational AI system that listens, learns, and challenges

chat.openai.com

6. 생성형 인공지능 사이트(뤼튼)

 

wrtn

모두를 위한 AI 포털 뤼튼. AI 채팅부터 이미지 생성, 나만의 AI 제작까지, 언제 어디서나 생성형 AI와 함께하세요.

wrtn.ai

7. 아두이노 온라인 시뮬레이션 사이트(팅커캐드)

 

Classroom login | Tinkercad

 

www.tinkercad.com

팅커캐드 클래스 입장화면

8. 엔트리

 

엔트리 - 우리는 무엇이든 될 수 있어요

소프트웨어를 통해 미래를 꿈꾸고 함께 성장합니다.

playentry.org

9. 코드닷오알지(블럭코딩 학습사이트)

 

Learn computer science. Change the world.

Every student in every school deserves the opportunity to study computer science.

code.org

 

반응형
LIST
반응형
SMALL

안녕하세요! Choi GPT 입니다.

아두이노를 활용할 때 제품마다 PC(컴퓨터)와의 연결하는 방법이 다릅니다.

출처 : 아두이노 스토리

보편적으로 위의 제품을 많이 사용합니다.

그 중 오른쪽 SMD 타입에 관련된  USB 드라이버 자료 및 아두이노 스케치 프로그램 다운로드를 소개하고자 합니다.


1. PC와 아두이노를 연결할 때 필요한 USB 드라이버(CH340) 자료 입니다.

CH341SER.zip
0.14MB

다운로드 받으신 파일을 압축해제 후

 

 

해당 Setup 파일을 실행하면 다음과 같은 화면이 나옵니다.

 

 

여기서 Install 버튼을 클릭하면 자동으로 설치가 완료 됩니다.


그 후 정상 설치여부를 다음과 같이 확인 가능합니다.

먼저 내컴퓨터에서 드라이버 인식 여부를 확인하는 방법 입니다.


윈도우 시작버튼 -> 마우스 우클릭

 

 

옵션 팝업창 중에서 장치 관리자 선택

 

포트 -> USB-SERIAL CH340 포트 번호를 확인하시면 됩니다.

그 후에 아두이노 프로그램으로 복귀하셔서

툴 -> 포트 -> 해당 포트번호를 선택해 주시면 됩니다.

 


 

2. 아두이노 코딩 전용 프로그램 중 1.8.19 버전의 프로그램 입니다.

https://www.arduino.cc/en/donate/newsletter

 

 

 

감사합니다.

반응형
LIST
반응형
SMALL

 

안녕하세요! Choi GPT 입니다.
오늘은 메이커 프로젝트의 일환으로 스마트팜 제작 프로젝트를 소개하고자 합니다.

위 프로젝트는 비피랩 이라는 회사의 제품입니다.


1. 주변 온습도를 측정하는 모듈
2. 주변 조도(빛 감지)를 측정하는 모듈
3. 토양의 수분을 측정하는 모듈

크게 3가지 입력 모듈이 구성되어 있으며

4. 위의 내용을 Display 해주는 16X2 I2C 캐릭터 LCD가 있습니다.
5. 마지막으로 2번 조도를 측정후 어두워지면 UV LED를 작동시키는 Relay 모듈이 있습니다.


먼저 기구 조립영상 입니다.

https://youtu.be/eHbAnaKCFr8

스마트팜 기구 조립영상

회로연결 자료 및 코딩소스자료는 아래 첨부파일을 참고 부탁드립니다.

 

스마트팜_제작 통합파일.zip
4.64MB

감사합니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

애들랜드 카프 파워 워터건, 블루

 

반응형
LIST

+ Recent posts