# data[].attributes.headline
(특화과정2) [인공지능과 공학 진로] 생활 속 디지털 기술 마스터 되기, 창의공학 프로젝트

# data[].attributes.subject
(특화과정2) [인공지능과 공학 진로] 생활 속 디지털 기술 마스터 되기, 창의공학 프로젝트

# data[].attributes.body
(특화과정2) [인공지능과 공학 진로] 생활 속 디지털 기술 마스터 되기, 창의공학 프로젝트

# data[].attributes.body
display.fill(0)

display.text('Weather : ', 10,0,1)

display.text(weather_data.json().get('weather')[0].get('main'), 40,12,1)

display.text('Temp : ', 10,36,1)

display.text(str(int(raw_temperature))+'C', 50,36,1)

display.text('Humi : ', 10,48,1)

display.text(str(weather_data.json().get('main').get('humidity'))+'%', 50,48,1)

display.show()

# data[].attributes.attachment_link.readable_text
import time
from machine import Pin
from neopixel import NeoPixel

try:
  import urequests as requests
except:
  import requests
  
try:
  import ujson as json
except:
  import json

import network

import esp
esp.osdebug(None)


import gc
gc.collect()

pin = Pin(14, Pin.OUT)   # ��������������� ��������� ��� ������
np = NeoPixel(pin, 12)   # ��������������� LED ������

ssid = ��� wifi ������ ���  # wifi ������
password =  ��� wifi ������������ ��� # wifi ������������

city = 'seoul'  # ������
country_code = 'KR'  # ������

# Open Weather Map API��� 
open_weather_map_api_key = ���API��� ���'

station = network.WLAN(network.STA_IF)

station.active(True)
station.connect(ssid, password)

while station.isconnected() == False:
  pass

print('Connection successful')
print(station.ifconfig())

open_weather_map_url ='http://api.openweathermap.org/data/2.5/weather?q=' + city + ',' + country_code+ '&APPID=' + open_weather_map_api_key

weather_data = requests.get(open_weather_map_url)
print(weather_data.json())


# ������
location = 'Location: ' + weather_data.json().get('name') + ' - ' + weather_data.json().get('sys').get('country')
print(location)

# ������
description = 'Description: ' + weather_data.json().get('weather')[0].get('main')
print(description)

# ������
# ��������� ��������� ������
raw_temperature = weather_data.json().get('main').get('temp')-273.15
temperature = 'Temperature: ' + str(raw_temperature) + '*C'
print(temperature)

# ������
humidity = 'Humidity: ' + str(weather_data.json().get('main').get('humidity')) + '%'
print(humidity)

# data[].attributes.body
from machine import Pin, SoftI2C

import ssd1306

import framebuf

i2c = SoftI2C(sda=Pin(21), scl=Pin(22))

display = ssd1306.SSD1306_I2C(128, 64, i2c)

kocoa_logo= bytearray(b' 이미지 데이터 값' )

buffer = kocoa_logo

fb = framebuf.FrameBuffer(buffer, 128, 64, framebuf.MONO_HLSB)

display.fill(0)

display.blit(fb, 8, 0)

display.show()

# data[].attributes.headline
01_디지털 새싹 만족도 조(사후)

# data[].attributes.subject
01_디지털 새싹 만족도 조(사후)

# data[].attributes.headline
02_과학창의재단(사후)

# data[].attributes.subject
02_과학창의재단(사후)

# data[].attributes.body
https://walla.my/v/1KqadymfL4ueGrVMT8sP(특화과정2) [인공지능과 공학 진로] 생활 속 디지털 기술 마스터 되기, 창의공학 프로젝트

# data[].attributes.attachment_link.title
24년 2학기 중/고등학생 사후 설문

# data[].attributes.attachment_link.description
빠르고 쉬운 폼빌더, 왈라

# data[].attributes.body
https://drive.google.com/drive/folders/18WyMDt-UkNHPu8MCT4l_CIUHEZ9A56g2?usp=drive_link

# data[].attributes.headline
05_무지개색 네오픽셀

# data[].attributes.subject
05_무지개색 네오픽셀

# data[].attributes.attachment_link.readable_text
from machine import Pin
from neopixel import NeoPixel

pin = Pin(14, Pin.OUT)
np = NeoPixel(pin, 12) 
        
def wheel(pos):
    if pos < 0 or pos > 255:
        return (0, 0, 0)
    if pos < 85:
        return (255 - pos * 3, pos * 3, 0)
    if pos < 170:
        pos -= 85
        return (0, 255 - pos * 3, pos * 3)
    pos -= 170
    return (pos * 3, 0, 255 - pos * 3)


while True:
    for j in range(255):
        for i in range(12):
            rc_index = (i * 256 // 12) + j
            np[i] = wheel(rc_index & 255)
        np.write()


# data[].attributes.body
Thonny, Python IDE for beginners

# data[].attributes.body
다운로드 후

압축 풀기

CP210xVCPInstaller_x64 설치

CP210x USB to UART Bridge VCP Drivers - Silicon Labs

# data[].attributes.body
MicroPython - Python for microcontrollers

# data[].attributes.headline
01_파이썬과 파이키트 실습 환경 설치 강의자료

# data[].attributes.subject
01_파이썬과 파이키트 실습 환경 설치 강의자료

# data[].attributes.body
압축 풀어

1. [파일]-[열기] 내 컴퓨터

2. [파일]-[다른 이름 저장]- MycroPython 장치 "파일명 동일하게"

# data[].attributes.attachment_link.title
6. [인공지능과 공학 진로] 생활 속 디지털 기술 마스터 되기, 창의공학 프로젝트

# data[].attributes.headline
02_파이파이키트 조립

# data[].attributes.subject
02_파이파이키트 조립

# data[].attributes.attachment_link.title
02_파이파이키트 조립

# data[].attributes.body
1. 사이트 이동

2. 변경할 이미지 파일을 불러온 후, 넓이와 높이를 맞춰줍니다.

그리고 Code format 을 HEX: \x(역슬래쉬 x) 로 세팅한 후

Get C string 버튼을 눌러줍니다.

3. Image data 칸에 있는 데이터들을 전부 복사하신 후 다음

코드에 넣어주시면 됩니다.

# data[].attributes.body
https://openweathermap.org

# data[].attributes.body
1. 티처블 머신 만들기(1,2,3 숫자만 class로)

2. p5js 압축 풀고 https://editor.p5js.org에 업로드

3. esp32 보드 코딩 후 main.py로 저장

4. p5 실행, esp32 연결 끊으면 됨.

# data[].attributes.attachment_link.description
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.

# data[].attributes.headline
04_파이키트 네오픽셀 코드

# data[].attributes.subject
04_파이키트 네오픽셀 코드

# data[].attributes.body
from machine import Pin

from neopixel import NeoPixel

pin = Pin(14, Pin.OUT)

np = NeoPixel(pin, 12)

while(True):

data = input()

if data == '1':                       #1일 때 노란색 켜기

for i in range(0, 12):

np[i] = (255, 255, 0)

np.write()

elif data == '2':                    #2일 때 파란색 켜기

for i in range(0, 12):

np[i] = (0, 0, 255)

np.write()

# data[].attributes.attachment_link.description
A web editor for p5.js, a JavaScript library with the goal of making coding accessible to artists, designers, educators, and beginners.