반응형
SMALL

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

오늘 소개해 드릴 자료는 4차산업혁명이 우리 주변에 얼마나
많이 접목되있는지 알아볼 수 있는 재미있는 영상들을 준비 했습니다.


https://www.youtube.com/watch?v=Sxlz-r5FeCo

출처 : 소프트웨어야 놀자(네이버)


https://www.youtube.com/watch?v=PJQPJgTbnRY

출처 : 현대자동차 공식 유튜브 채널

https://www.youtube.com/watch?v=7HBCPLxO9-A

출처 : MBC 뉴스 유튜브 공식채널

https://youtu.be/FhM-w4g0FiU?si=VCwKhOjPn1EG7V5E

출처 : MBC 뉴스 유튜브 공식채널

https://youtu.be/5MYJtKx-ebE?si=TilXVrr4TEePV6WN

출처 : KBS 뉴스 유튜브 공식채널

https://youtu.be/cpraXaw7dyc?si=545JVaTRrVnSJzA-

출처 : 테슬라 공식 유튜브 채널

https://youtu.be/c2DFg53Zhvw?si=rTWbGwEUU6yD8YPl

OpenAI 공식 유튜브

 

감사합니다.

 

반응형
LIST
반응형
SMALL

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

오늘 소개해드릴 자료는 아두이노 시리얼 통신을 테스트 하기위한 기본 프로그램 파일 입니다.

아래 파일을 다운로드 받으시면 됩니다.

COMTEST.exe
0.25MB


혹시 다운로드가 안되시면 아래 압축된 파일을 다운로드 받으신 후 압축 해제 및 사용하시면 됩니다.

COMTEST.zip
0.24MB


그리고 앱인벤터 블루투스 블럭코딩 시 장치목록(리스트)가 보이지 않는 경우
안드로이드 버전이 업데이트 되면서 보안이 강화되어 나타나는 문제입니다.

해결 방법은 하단의 블럭코딩을 추가해서 작성하면 해결 됩니다.

최종 교육자료 업데이트 합니다.

다운 받으셔서 활용하시면 됩니다.

압축파일 내용은 아두이노 소스(4색 LED 제어 프로그램) 앱인벤터 소스와 설치파일이 포함되어 있습니다.

LED_CONTROL.zip
3.01MB


이 파일은 오프라인 교육 중 앱인벤터 소스파일 입니다.
필요하신 분은 다운로드 후 앱인벤터 사이트에서 불러오기를 하시면 됩니다.
해당 파일은 압축해제 후 사용하시면 됩니다.

car.zip
0.00MB

감사합니다.

 

반응형
LIST
반응형
SMALL

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

오늘은 아두이노 응용모듈 중에서 많이 사용하는 라이브러리에 대한 정보 입니다.

 

< 아두이노 16X2 I2C LCD >

https://blog.naver.com/boilmint7/221895866337<

 

아두이노 1602 캐릭터 LCD(I2C) 사용 예제

이번에 함께 다룰 아두이노 부품은 1602 CLCD (I2C) 입니다. (캐릭터 LCD = CLCD) 아두...

blog.naver.com

 

* LCD Address 주소 찾기(소스 다운로드 후 압축해제 후 수정없이 사용)

LCD_Adress_Finder_r1.zip
0.00MB

* LCD 기본 테스트 소스

LCD_Basic_Test_r1.zip
0.00MB

 

< 아두이노 DHT11 온습도모듈 >

https://blog.naver.com/hma778/222285869823

 

아두이노 온습도센서모듈 다루기

안녕하세요. 지난 시간에는 조도센서를 다뤄 피에조 스피커와 LED를 제어해보았습니다. 오늘은 온습도센...

blog.naver.com

* DHT11 온습도 모듈 예제 소스파일

DHTtester.zip
0.00MB


< 네오픽셀 라이브러리>

Adafruit_NeoPixel-master.zip
0.06MB

 

감사합니다.

 

반응형
LIST
반응형
SMALL

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

오늘은 아두이노 온라인 시뮬레이션 사이트를 활용해서 LED라는 부품을 제어해보려 합니다.

아래 링크 클릭!!

 

https://www.tinkercad.com/joinclass/8E4R7XYVG

 

Classroom login | Tinkercad

 

www.tinkercad.com

다음으로 별칭으로 참여를 클릭 후

별칭 : 2023동대전중

다음과 같이 별칭을 입력하면 접속이 됩니다.

 

반응형
LIST
반응형
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

+ Recent posts