# data[].attributes.attachment_link.title
1_레고 로봇 프로그래밍

# data[].attributes.attachment_link.title
2_레고 로봇 프로그래밍(API모듈)

# data[].attributes.attachment_link.title
3_레고 로봇 프로그래밍(AI이거다)

# data[].attributes.body
import force_sensor
from hub import port, sound
import motor_pair
import runloop

async def main():
    motor_pair.pair(motor_pair.PAIR_1, port.C, port.D)
    while True:
        if force_sensor.force(port.A) > 0:
            await sound.beep(440, 100, 100)
            motor_pair.stop(motor_pair.PAIR_1)
            break
        else:
            motor_pair.move_tank(motor_pair.PAIR_1, 360, 360)

runloop.run(main())

# data[].attributes.body
ID : sseia_1@go.kr sseia_1@go.kr 까지

PW: sseia123

# data[].attributes.body
import motor_pair
import runloop
from hub import port
import motor

async def main():
    motor_pair.pair(motor_pair.PAIR_1, port.C, port.D)
    await motor_pair.move_for_degrees(motor_pair.PAIR_1, 180, 0, velocity = 360)
    await motor.run_for_degrees(port.E, 90, 180)
    await runloop.sleep_ms(1000)
    await motor.run_for_degrees(port.E, -90, 180)
    await motor_pair.move_for_degrees(motor_pair.PAIR_1, 180, 0, velocity = -360)

runloop.run(main())

# data[].attributes.body
from hub import port
import motor_pair
import runloop
import color_sensor
import color

async def main():
    vel = 250
    motor_pair.pair(motor_pair.PAIR_1, port.C, port.D)
    while True:
        if color_sensor.color(port.B) is color.WHITE:
            motor_pair.move_tank_for_degrees(motor_pair.PAIR_1,30, 0, 250)
        else:
            motor_pair.move_tank_for_degrees(motor_pair.PAIR_1,30, 250, 0)
runloop.run(main())

# data[].attributes.attachment_link.title
Walk, Run, Crawl, RL Fun | Boston Dynamics | Atlas

# data[].attributes.headline
스파이크 프라임 들어가기

# data[].attributes.subject
스파이크 프라임 들어가기

# data[].attributes.body
https://future-bee.com/EDUCATION2/?q=YToyOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjtzOjQ6InBhZ2UiO2k6Mzt9&bmode=view&idx=15510704&t=board

# data[].attributes.body
SDGs 목표 (3번)

해결하고 싶은 문제 : 외롭게 고독사하시는 많은 노인들

현재 상태 : 독거 노인에게 직접 찾아가 주기적으로 건강을 신경 써주고 말동무가 되어주는 가족이 없음

목표 상태 : 주기적으로 독거 노인들의 집에 찾아가 현관문을 두드리고 인사를 건네며 노인들의 상태를 확인함으로써 고독사를 예방한다.

문제해결 방법(알고리즘) : 현관문을 두드린다 --> 10초간 기다린다 --> 인사와 안부를 묻는다

프로그램:

from hub import port
from hub import port, light_matrix
import runloop
import motor_pair
import motor
async def main():
    motor_pair.pair(motor_pair.PAIR_1, port.C, port.D)
    await motor_pair.move_tank_for_degrees(motor_pair.PAIR_1, 360, 360, 360)
    await motor.run_for_degrees(port.E,90,360)
    await runloop.sleep_ms(1000)
    await motor.run_for_degrees(port.E, -50, 360)
    await runloop.sleep_ms(1000)
    await motor.run_for_degrees(port.E, 40, 360)
    await runloop.sleep_ms(1000)
    await motor.run_for_degrees(port.E, -50, 360)
    await runloop.sleep_ms(1000)
    await motor.run_for_degrees(port.E, 40, 360)
    await runloop.sleep_ms(1000)
    await motor.run_for_degrees(port.E, -90, 360)
    await motor_pair.move_tank_for_degrees(motor_pair.PAIR_1, -360, 360, 360)
    await light_matrix.write('10')
    await runloop.sleep_ms(1000)
    await light_matrix.write('9')
    await runloop.sleep_ms(1000)
    await light_matrix.write('8')
    await runloop.sleep_ms(1000)
    await light_matrix.write('7')
    await runloop.sleep_ms(1000)
    await light_matrix.write('6')
    await runloop.sleep_ms(1000)
    await light_matrix.write('5')
    await runloop.sleep_ms(1000)
    await light_matrix.write('4')
    await runloop.sleep_ms(1000)
    await light_matrix.write('3')
    await runloop.sleep_ms(1000)
    await light_matrix.write('2')
    await runloop.sleep_ms(1000)
    await light_matrix.write('1')
    await runloop.sleep_ms(1000)
    await light_matrix.write('0')
    await runloop.sleep_ms(1000)
    await light_matrix.write('Hello, I am here to see you!')
    await runloop.sleep_ms(1000)
    await light_matrix.write('How have you been for the past three days?')
    await runloop.sleep_ms(1000)
    await light_matrix.write('Is there anything I can help you with?')
runloop.run(main())

# data[].attributes.body
SDGs 목표 (14번) : 해양 생태계 보호

해결하고 싶은 문제 : 해양 쓰레기를 먹이로 착각하는 해양 생물들의 피해를 예방하고 싶다.

현재 상태 : 많은 해양 생물들이 바다로 떠내려 온 플라스틱과 같은 쓰레기를 먹이로 착각하고 먹는다. 쓰레기를 먹은 해양 생물이 인간의 밥상 위에 올라오며 인간에게도 영향을 준다.

목표 상태 : 쓰레기 없는 깨끗한 바다

문제해결 방법(알고리즘) : 어떤 물체가 있는가? -> 해양 쓰레기인가? -> 수거 후 처리장에 운반

프로그램 :

import motor_pair
from hub import port, light_matrix, sound
import distance_sensor
import runloop
import motor

async def main():
    motor_pair.pair(motor_pair.PAIR_1, port.C, port.D)
    while True:
        if distance_sensor.distance(port.F) <= 150 and distance_sensor.distance(port.F) > 0:
            light_matrix.show_image(light_matrix.IMAGE_SAD)
            await motor_pair.move_for_degrees(motor_pair.PAIR_1, 180, 0, velocity = 360)
            await motor.run_for_degrees(port.E, 90, 180)
            await runloop.sleep_ms(1000)
            await motor.run_for_degrees(port.E, -90, 180)
            await motor_pair.move_for_degrees(motor_pair.PAIR_1, 360, 0, velocity = -360)
        else:
            await motor_pair.move_for_degrees(motor_pair.PAIR_1, 360, 0, velocity = 360)
runloop.run(main())

# data[].attributes.body
SDGs 목표 (8번): 양질의 일자리와 경제 성장

해결하고 싶은 문제: 교육받지 못한 사람들이 위험한 일을 하고 있다

현재 상태: 위험한 일 때문에 사고가 많이 발생하고 있다

목표상태: 위험한 일을 하는 사람들이 줄어들어 사고를 줄인다

문제 해결 방법: go가 뜨면 로봇이 앞으로 가고 stop 이면 제자리에서 원하는 방향으로 회전한다

# data[].attributes.body
'RIRU'는 OCR(광학 문자 인식)을 탑재한 휴대용 로봇입니다. 'RIRU'는 자연어, 즉 다국어를 인식하여 이를 문서화하고 정리합니다. 'RIRU'의 개발 목적은 시각 장애를 겪고 있는 사람들에게 질적인 교육을 제공하기 위해 개발되었습니다. 그렇기에 'RIRU'는 인식한 문자를 사람을 대신하여 읽어줍니다. 또한 글 분석, 요약 기능을 바탕으로 시각적으로 어려움이 있는 사람들에게 보다 내용을 효과적으로 전달합니다. 결론적으로 'RIRU'는 시각 장애인 책자 인쇄에 필요한 비용을 절감하며 낮은 가격으로 구매자에게 필요한 도움을 제공합니다.

# data[].attributes.body
SDGs 목표 3 건강과 복지

해결하고 싶은 문제 : 운동 부족으로 인한 비만률 증가

현재 상태 : 많은 사람들이 운동 부족으로 여러가지 다양한 건강문제를 앓고 있음

목표 상태 : 비만률 감소

알고리즘: 1번째 라인을 따라 달리는 로봇

2번째 왕복 달리기 로봇

# data[].attributes.body
sdgs:코딩과 전자공학 교육을 통해 청소년과 학생들에게 창의적 문제 해결력과 기술 역량을 키워줍니다.(4번)

해결하고 싶은 문제: 유치원생 학습으로 코딩 능력 향상

상태:노래 반복 출력후 코드 출력

해결 방법:노래 출력, 코드 출력

from machine import Pin, PWM

import time

buzzer = PWM(Pin(15))

note_freq = {

'C5': 523,

'D5': 587,

'E5': 659,

'F5': 698,

'G5': 784,

'A4': 440,

'G4': 392,

'C6': 1047,

'rest': 0

}

BPM = 152

SECONDS_PER_BEAT = 60 / BPM

notes = [

    ('E5', 0.375), ('D5', 0.375), ('C5', 0.75), ('D5', 0.75), ('C5', 0.75),
    ('G5', 0.75),
    ('C5', 0.375), ('C5', 0.375), ('D5', 1.5), ('E5', 0.375), ('D5', 0.375), ('C5', 0.75), ('D5', 0.75),
    ('C5', 0.75), ('G5', 0.75), ('C5', 0.375), ('C5', 0.375), ('D5', 0.375), ('C5', 0.75),
    ('rest', 0.75),
    ('G4', 0.375), ('A4', 0.375), ('C5',0.375), ('D5', 0.375), ('E5', 0.56), ('D5', 0.18), ('E5', 0.56), ('D5',0.18),
    ('E5', 0.75), ('G5', 0.375), ('D5', 1.5), ('G4', 0.375), ('G4', 0.375), ('A4', 0.375), ('C5', 0.375), ('D5', 0.375), ('E5', 0.56), ('D5', 0.18), ('E5', 0.56), ('D5', 0.18), ('E5',0.375), ('C6', 0.375), ('B5', 0.75), ('E5', 0.375),
    ('rest', 0.75), ('G4',0.375), ('A4', 0.375), ('C5', 0.375), ('D5', 0.75), ('C5', 0.375), ('C5', 0.375), ('G5', 0.75), ('C5', 0.375), ('E5',0.375), ('D5', 1.5), ('G4', 0.375), ('G4', 0.375), ('A4', 0.375), ('C5', 0.375), ('D5', 0.75),
    ('C5', 0.375), ('C5', 0.375), ('G5', 0.75), ('C5', 0.375), ('E5',0.375), ('D5', 0.75), ('C5', 0.375), ('D5', 0.56), ('Eb5',0.18), ('D5', 0.375), ('C5', 0.75), ('A4', 0.375), ('C5', 0.56), ('C5', 0.18), ('C5', 0.56), ('C5',0.18),
    ('C5', 0.75), ('E5',0.375), ('D5', 0.75), ('C5', 0.75), ('C5', 0.375), ('C5', 0.375), ('D5', 0.375), ('E5',0.375), ('A5', 0.75), ('G5', 0.375), ('E5',0.375), ('G5', 0.75), ('E5',0.375), ('D5', 1.875), ('G4',0.375), ('E5',0.375),
    ('F5', 0.375), ('E5',0.375), ('D5', 0.375), ('D5', 0.75), ('C5', 1.5)

]

for pitch, dur in notes:

duration = dur * SECONDS_PER_BEAT

freq = note_freq.get(pitch, 0)

if freq == 0:

buzzer.duty_u16(0)

else:

buzzer.freq(freq)

buzzer.duty_u16(32768)

time.sleep(duration)

buzzer.duty_u16(0)

# data[].attributes.body
SDGs목표(6번): 깨끗한 물과 위생

해결하고 싶은 문제: 많은 사람들이 손 위생을 지키지 않아 감염병이 쉽게 퍼질 수 있다.
특히 공공장소나 학교에서는 손 세정을 귀찮아 하거나 잊는 경우가 많다.

현재 상태: 공공장소에는 손 세정제가 있지만, 사용률이 낮다. 사람들은 손 씻기 손세정의 중요성을 알지만 실천을 잘 안 한다.

목표 상태: 사람이 손을 가져가면 자동으로 손 세정제을 뿌려 줌. 비 접촉식이어서 위생적이며 사용을 유도할 수 있음.

문제해결 방법:

1.거리 센서로 손이 감지되면

2.모터를 이용해 손 세정제 펌프를 눌러 뿌림

3.소리센서로 작동 여부 피드백 제공

4.일정 시간 동안 대기(중복 작동 방지)

프로그램:

from hub import Motor_pair.PAIR_1, port.C, port.D, DistanceSensor, PrimeHub
from hub.control import wait_for_seconds

hub = PrimeHub()
motor = Motor('B')
sensor = Distance_Sensor('F')

while True:
    distance = sensor.get_distance_cm()

    if distance is not None and distance < 10:
        hub.light_matrix.show_image('HAPPY')
        motor.run_for_degrees(-90, 50)
        wait_for_seconds(0.5)
        motor.run_for_degrees(90, 50)
        wait_for_seconds(2)
    else:
        hub.light_matrix.show_image('MEH')