# data[].attributes.attachment_link.title
4.4.2. 파이썬 연산자 | OneBook(Python & Deep Learning)

# data[].attributes.attachment_link.description
파이썬은 산술연산자, 비교연산자, 할당연산자, 논리연산자, Bitwise 연산자, 멤버쉽연산자, Identity연산자를 지원합니다.

# data[].attributes.body
#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknown error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}

# data[].attributes.body
라이브러리 관리창에서 LiquidCrystal_I2C 설치

/*
 제목: I2C LCD에 문자 출력하기
 */

// LCD를 쉽게 제어하기 위한 라이브러리를 추가
#include <LiquidCrystal_I2C.h>
//#include <Wire.h>

LiquidCrystal_I2C lcd(0x3F, 16, 2);   // LCD객체 생성(주소: 0x27, 크기: 16x2)

void setup() {
	lcd.init();         	// LCD를 초기화
	lcd.backlight();     	// LCD의 백라이트 켬
}

void loop() {
	lcd.setCursor(0,0);		        	// 0번째 줄 0번째 셀부터 입력(글자,줄)
	lcd.print("Hi  ");	          	// 문장 출력
	lcd.setCursor(0,1);	           	// 1번째 줄 0번째 셀부터 입력(글자,줄)
  lcd.print("Hello World!!  ");		// 문장 출력
	delay(1000);	   // 1초 대기
	lcd.clear();	   // LCD의 모든 내용 삭제
  delay(1000);     // 1초 대기
}

# data[].attributes.body
1. 라이브러리 추가하기
   라이브러리 관리창에서 DFRobot_dht11 설치
2. 예제파일 열기

/**
 * DHT11 Sensor Reader
 * This sketch reads temperature and humidity data from the DHT11 sensor and prints the values to the serial port.
 * It also handles potential error states that might occur during reading.
 *
 * Author: Dhruba Saha
 * Version: 2.1.0
 * License: MIT
 */

// Include the DHT11 library for interfacing with the sensor.
#include <DHT11.h>

// Create an instance of the DHT11 class.
// - For Arduino: Connect the sensor to Digital I/O Pin 2.
// - For ESP32: Connect the sensor to pin GPIO2 or P2.
// - For ESP8266: Connect the sensor to GPIO2 or D4.
DHT11 dht11(4);

void setup() {
    // Initialize serial communication to allow debugging and data readout.
    // Using a baud rate of 9600 bps.
    Serial.begin(9600);

    // Uncomment the line below to set a custom delay between sensor readings (in milliseconds).
    // dht11.setDelay(500); // Set this to the desired delay. Default is 500ms.
}

void loop() {
    int temperature = 0;
    int humidity = 0;

    // Attempt to read the temperature and humidity values from the DHT11 sensor.
    int result = dht11.readTemperatureHumidity(temperature, humidity);

    // Check the results of the readings.
    // If the reading is successful, print the temperature and humidity values.
    // If there are errors, print the appropriate error messages.
    if (result == 0) {
        Serial.print("Temperature: ");
        Serial.print(temperature);
        Serial.print(" °C\tHumidity: ");
        Serial.print(humidity);
        Serial.println(" %");
    } else {
        // Print error message based on the error code.
        Serial.println(DHT11::getErrorString(result));
    }
}

# data[].attributes.headline
2의 배수면 o를 3의 배수면 x를 뜨게 하십시오

# data[].attributes.subject
2의 배수면 o를 3의 배수면 x를 뜨게 하십시오

# data[].attributes.headline
{mission} 4의 배수가 맞는지 아닌지 알려주는 스크립트 작성.

# data[].attributes.subject
{mission} 4의 배수가 맞는지 아닌지 알려주는 스크립트 작성.

# data[].attributes.headline
10의 배수이면서 2의 배수가 나오게 하세요

# data[].attributes.subject
10의 배수이면서 2의 배수가 나오게 하세요

# data[].attributes.body
If you divide by 8 and find the remaider, add the square of 3 to the remainder and calculate it

# data[].attributes.headline
입력된 두 수의 공배수를 출력하게 하시오

# data[].attributes.subject
입력된 두 수의 공배수를 출력하게 하시오

# data[].attributes.attachment_link.title
에듀이노 오픈랩 : 네이버 블로그

# data[].attributes.body
//주변환경의 온도와 습도를 측정하여 LCD에 출력하기
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN 8
//#define DHTTYPE DHT11
#define DHTTYPE    DHT22     // DHT 22 (AM2302)

LiquidCrystal_I2C lcd(0x27, 16, 2);   // LCD객체 생성(주소: 0x27, 크기: 16x2)
//DHT dht(DHTPIN, DHTTYPE);
DHT_Unified dht(DHTPIN, DHTTYPE);

uint32_t delayMS;

int red = 4, blue = 5;

void setup() {
  //시리얼, LCD, 온습도 센서 통신 설정
  Serial.begin(9600);
  lcd.begin(16, 2); //LCD 통신 사용
  lcd.init();         	// LCD를 초기화
	lcd.backlight();     	// LCD의 백라이트 켬
  dht.begin();
  Serial.println(F("DHTxx Unified Sensor Example"));
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  dht.humidity().getSensor(&sensor);
  delayMS = sensor.min_delay / 1000;
  //핀 모드 설정
  pinMode(red, OUTPUT);
  pinMode(blue, OUTPUT);
}

void loop() {
  //온도와 습도 값을 측정하고 변수에 저장하기
  float humi, temp;

  delay(delayMS);
  // Get temperature event and print its value.
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  temp = event.temperature;

  if (isnan(temp)) {
    Serial.println(F("Error reading temperature!"));
  }
  else {
    Serial.print(F("온도: "));
    Serial.print(temp);
    Serial.println(F("°C"));
  }
  // Get humidity event and print its value.
  dht.humidity().getEvent(&event);
  humi = event.relative_humidity;

  if (isnan(humi)) {
    Serial.println(F("Error reading humidity!"));
  }
  else {
    Serial.print(F("습도: "));
    Serial.print(humi);
    Serial.println(F("%"));
  }

  /*Serial.print("온도 : ");
  //Serial.println(temp);
  //Serial.print("습도 : ");
  //Serial.println(humi);
  //센서가 측정하지 못 할 경우 측정 종료
  if(isnan(humi) || isnan(temp)){
    Serial.println("Failed to read from DHT sensor!!");
    return;
  }
  */

  //온도와 습도 값 map 함수로 LED 전압 값으로 변환
  int tempValue, humiValue;
  tempValue = map(temp, -10, 40, 0, 255);
  humiValue = map(humi, 0, 100, 0, 255);

  //온 습도에 따른 LED 밝기 조절
  analogWrite(red, tempValue);
  analogWrite(blue, humiValue);

  //측정된 온도와 습도 출력하기
  lcd.clear(); //LCD 출력내용 지우기
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");  lcd.print (temp);
  lcd.setCursor(0, 1);
  lcd.print("Humi: ");  lcd.print (humi);
  delay(300);
}

# data[].attributes.attachment_link.description
online character designer for Liquid Crystal Display (LCD) and create code for arduino.

# data[].attributes.body
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7

byte customChar[] = {
  B01110,
  B10001,
  B01110,
  B00100,
  B11111,
  B00000,
  B10000,
  B11111
};

void setup() {
  lcd.begin(16, 2);
  lcd.createChar(0, customChar);
  lcd.home();
  lcd.write(0);
}

void loop() { }

# data[].attributes.body
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7

byte customChar[] = {
  B11111,
  B10000,
  B10000,
  B11111,
  B00100,
  B00100,
  B00100,
  B11111
};

void setup() {
  lcd.begin(16, 2);
  lcd.createChar(0, customChar);
  lcd.home();
  lcd.write(0);
}

void loop() { }

# data[].attributes.body
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7

byte customChar[] = {
  B00100,
  B01010,
  B00000,
  B11111,
  B00000,
  B10001,
  B11111,
  B11111
};

void setup() {
  lcd.begin(16, 2);
  lcd.createChar(0, customChar);
  lcd.home();
  lcd.write(0);
}

void loop() { }

# data[].attributes.body
//주변환경의 온도와 습도를 측정하여 LCD에 출력하기
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN 8
//#define DHTTYPE DHT11
#define DHTTYPE    DHT22     // DHT 22 (AM2302)

LiquidCrystal_I2C lcd(0x27, 16, 2);   // LCD객체 생성(주소: 0x27, 크기: 16x2)
//DHT dht(DHTPIN, DHTTYPE);
DHT_Unified dht(DHTPIN, DHTTYPE);

uint32_t delayMS;

int red = 4, blue = 5;

byte t1[] = {   //온
  B01110,
  B10001,
  B01110,
  B00100,
  B11111,
  B00000,
  B10000,
  B11111
};

byte t2[] = {   //도
  B11111,
  B10000,
  B10000,
  B11111,
  B00100,
  B00100,
  B00100,
  B11111
};

byte t3[] = {   //습
  B00100,
  B01010,
  B00000,
  B11111,
  B00000,
  B10001,
  B11111,
  B11111
};

void setup() {
  //시리얼, LCD, 온습도 센서 통신 설정
  Serial.begin(9600);
  lcd.begin(16, 2); //LCD 통신 사용
  lcd.init();         	// LCD를 초기화
	lcd.backlight();     	// LCD의 백라이트 켬
  dht.begin();
  Serial.println(F("DHTxx Unified Sensor Example"));
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  dht.humidity().getSensor(&sensor);
  delayMS = sensor.min_delay / 1000;
  //핀 모드 설정
  pinMode(red, OUTPUT);
  pinMode(blue, OUTPUT);

  lcd.createChar(0, t1);   //온
  lcd.createChar(1, t2);   //도
  lcd.createChar(2, t3);   //습
}

void loop() {
  //온도와 습도 값을 측정하고 변수에 저장하기
  float humi, temp;

  delay(delayMS);
  // Get temperature event and print its value.
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  temp = event.temperature;

  if (isnan(temp)) {
    Serial.println(F("Error reading temperature!"));
  }
  else {
    Serial.print(F("온도: "));
    Serial.print(temp);
    Serial.println(F("°C"));
  }
  // Get humidity event and print its value.
  dht.humidity().getEvent(&event);
  humi = event.relative_humidity;

  if (isnan(humi)) {
    Serial.println(F("Error reading humidity!"));
  }
  else {
    Serial.print(F("습도: "));
    Serial.print(humi);
    Serial.println(F("%"));
  }

  /*Serial.print("온도 : ");
  //Serial.println(temp);
  //Serial.print("습도 : ");
  //Serial.println(humi);
  //센서가 측정하지 못 할 경우 측정 종료
  if(isnan(humi) || isnan(temp)){
    Serial.println("Failed to read from DHT sensor!!");
    return;
  }
  */

  //온도와 습도 값 map 함수로 LED 전압 값으로 변환
  int tempValue, humiValue;
  tempValue = map(temp, -10, 40, 0, 255);
  humiValue = map(humi, 0, 100, 0, 255);

  //온 습도에 따른 LED 밝기 조절
  analogWrite(red, tempValue);
  analogWrite(blue, humiValue);

  //측정된 온도와 습도 출력하기
  lcd.clear(); //LCD 출력내용 지우기
  lcd.setCursor(0, 0);
  lcd.write(0);   lcd.write(1);  lcd.print(" : "); //lcd.print("Temp: ");
  lcd.print (temp);   lcd.print(" C");
  lcd.setCursor(0, 1);
  lcd.write(2);   lcd.write(1);  lcd.print(" : ");  //lcd.print("Humi: ");
  lcd.print (humi);   lcd.print(" %");
  delay(300);
}

# data[].attributes.attachment_link.description
select는 소켓 프로그래밍에서 I/O 멀티플렉싱을 가능하게 하는 모듈이다. > I/O 멀티플렉싱(multiplexing)이란 하나의 전송로로 여러 종류의 데이터를 송수신하는…

# data[].attributes.attachment_link.title
코딩 없이 챗GPT 대화만으로 파이썬 게임 개.. : 네이버블로그