Manta Maja ringitund 01.10.18

ADA LOVELACE (10.12.1815 – 27.11.1852)

Ada Lovelace oli andekas Inglismaa matemaatik, kellest sai maailma esimene programmeerija. 13-aastasena projekteeris ta lennumasina ja lõi tiibade kavandi, mis pidi võimaldama inimestel lennata.

1843. aastal palus leidur Charles Babbage Adal tõlkida artikli tema analüütilisest masinast – täisautomaatsest arvutusmasinast. Ada lisas sinna märkused, mida nüüd võib nimetada programmeerimisalgoritmideks. Tema ideed näitasid inimkonnale kätte arvutite peaaegu piiritud võimalused. Ada saavutused olid oma ajast sajandi võrra ees.

Alates 2009. aastast tähistatakse oktoobri teisel teisipäeval Ada Lovelace’i päeva austamaks naiste saavutusi teaduses, tehnoloogias ja matemaatikas.

ROBOT KOKK

KUIDAS KUJUTATAKSE ROBOTEID FILMIDES?

CODEBUG

CodeBug on programmeeritav ja kaasaskantav seade. Sellel on 5 x 5 LED lampi, mille peal saab näidata teksti, numbreid ja graafilist pilti. Lisaks on kaks nuppu, 6 puutetundlikku plokki (4 sisendit/väljundit, vool ja maandus).

www.codebug.org.uk

CodeBugi ühendamine led lampidega

 

CUBROID

Cubroidid võistlemas

 

MOSS

Manta masinad

TÜG vanemate ringitund 26.09.18

ISETEHTUD JOOGIMASIN

 

ROBOTEX 30.11 – 02.12.2018

Robotex International on iga-aastane sündmus ja suurim robootikafestival.
1750 roboti, 35000 osalejat, 4000 võistlejat, 25 võistlust.

Info erinevatest võistlustest on näha siin. Ehk siis valime võistluse välja ja võtame osa 🙂

Robotexi võistlused

 

MOSS

Auto

 

ARDUINO

Videomäng

Juhend

Skeem

Kood

http://www.mediafire.com/file/e9d9yynsc89t5bl/game_code.ino

RGB lediga hiirematt

 

PYTHON

Mullimäng

Pythoni mullimäng failina

from tkinter import *
HEIGHT = 500
WIDTH = 800
window = Tk()
window.title(‘Mullilõhkuja’)
c = Canvas(window, width=WIDTH, height=HEIGHT, bg=’darkblue’)
c.pack()
ship_id = c.create_polygon(5, 5, 5, 25, 30, 15, fill=’red’)
ship_id2 = c.create_oval(0, 0, 30, 30, outline=’red’)
SHIP_R = 15
MID_X = WIDTH / 2
MID_Y = HEIGHT / 2
c.move(ship_id, MID_X, MID_Y)
c.move(ship_id2, MID_X, MID_Y)
SHIP_SPD = 10
def move_ship(event):
    if event.keysym == ‘Up’:
        c.move(ship_id, 0, -SHIP_SPD)
        c.move(ship_id2, 0, -SHIP_SPD)
    elif event.keysym == ‘Down’:
        c.move(ship_id, 0, SHIP_SPD)
        c.move(ship_id2, 0, SHIP_SPD)
    elif event.keysym == ‘Left’:
        c.move(ship_id, -SHIP_SPD, 0)
        c.move(ship_id2, -SHIP_SPD, 0)
    elif event.keysym == ‘Right’:
        c.move(ship_id, SHIP_SPD, 0)
        c.move(ship_id2, SHIP_SPD, 0)
c.bind_all(‘<Key>’, move_ship)
from random import randint
bub_id = list()
bub_r = list()
bub_speed = list()
MIN_BUB_R = 10
MAX_BUB_R = 30
MAX_BUB_SPD = 10
GAP = 100
def create_bubble():
    x = WIDTH + GAP
    y = randint(0, HEIGHT)
    r = randint(MIN_BUB_R, MAX_BUB_R)
    id1 = c.create_oval(x – r, y – r, x + r, y + r, outline=’white’)
    bub_id.append(id1)
    bub_r.append(r)
    bub_speed.append(randint(1, MAX_BUB_SPD))
def move_bubbles():
    for i in range(len(bub_id)):
        c.move(bub_id[i], -bub_speed[i], 0)
def get_coords(id_num):
    pos = c.coords(id_num)
    x = (pos[0] + pos[2])/2
    y = (pos[1] + pos[3])/2
    return x, y
def del_bubble(i):
    del bub_r[i]
    del bub_speed[i]
    c.delete(bub_id[i])
    del bub_id[i]
def clean_up_bubs():
    for i in range(len(bub_id)-1, -1, -1):
        x, y = get_coords(bub_id[i])
        if x < -GAP:
            del_bubble(i)
from math import sqrt
def distance(id1, id2):
    x1, y1 = get_coords(id1)
    x2, y2 = get_coords(id2)
    return sqrt((x2 – x1)**2 + (y2 – y1)**2)
def collision():
    points = 0
    for bub in range(len(bub_id)-1, -1, -1):
        if distance(ship_id2, bub_id[bub]) < (SHIP_R + bub_r[bub]):
            points += (bub_r[bub] + bub_speed[bub])
            del_bubble(bub)
    return points
from time import sleep, time
BUB_CHANCE = 10
TIME_LIMIT = 30
BONUS_SCORE = 1000
score = 0
bonus = 0
end = time() + TIME_LIMIT
while True:
    if randint(1, BUB_CHANCE) == 1:
        create_bubble()
    move_bubbles()
    clean_up_bubs()
    score += collision()
    print(score)
    window.update()
    sleep(0.01)
while time() < end:
    if randint(1, BUB_CHANCE) == 1:
        create_bubble()
    move_bubbles()
    clean_up_bubs()
    score += collision()
    if (int(score / BONUS_SCORE)) > bonus:
        bonus += 1
        end += TIME_LIMIT
    show_score(score)
    show_time(int(end – time()))
    window.update()
    sleep(0.01)
c.create_text(50, 30, text=’AEGA JÄÄNUD’, fill=’white’)
c.create_text(150, 30, text=’PUNKTE’, fill=’white’)
time_text = c.create_text(50, 50, fill=’white’)
score_text = c.create_text(150, 50, fill=’white’)
def show_score(score):
    c.itemconfig(score_text, text=str(score))
def show_time(time_left):
    c.itemconfig(time_text, text=str(time_left))
c.create_text(MID_X, MID_Y, \
              text=’MÄNG LÄBI’, fill=’white’, font=(‘Helvetica’,30))
c.create_text(MID_X, MID_Y + 30, \
              text=’Punktisumma: ‘+ str(score), fill=’white’)
c.create_text(MID_X, MID_Y + 45, \
              text=’Lisaaeg: ‘+ str(bonus*TIME_LIMIT), fill=’white’)

Manta Maja ringitund 24.09.18

ILMA JUHITA VOLVO VEOAUTO

ISESÕITEV BMW MOOTORRATAS

OZOBOT

Ozolaunch ja rajad

SCRATCH

Liikuv Mario

Juhend, kuidas panna sprait lihtsalt, aga ägedalt liikuma.

Liikuva tegelase saab kui võtta liikuv GIF pilt ja laadida see spraidina üles.

Kostüümide alla tekib palju erinevaid pilte, mida vahetades hakkabki sprait liikuma.

Kood, kuidas Mario kohapeal liikuma panna.

Kood, kus Mario liigub ekraani ühest äärest teise, taust muutub ja siis algab kõik algusest peale.

MOSS

Veoauto

TÜG nooremate ringitund 18.09.18

ÜHE JALAGA HÜPPAV ROBOT

OZOBOT

Ozoblockly juhend

Ozobote progammeeritakse Ozoblockly lehel:

ozoblockly.com

Tutvustus, kuidas Ozoblockly’t kasutada:

Näide Ozoboti liikumise koodist:

SPHERO

Näide, kuidas Sphero Edu programmis Spherole programmi kirjutada.

SCRATCH

Punktide arvestamine

Näide, kuidas Scratchis punkte arvestada.
Kui kass puudutab õuna, siis liidetakse 1 punkt juurde.

MOSS

Robin

Manta Maja ringitund 10.09.18

ÜHE JALAGA HÜPPAV ROBOT

OZOBOT

Esimeses ringitunnis tutvusime kõige rohkem Ozobotidega ja joonistasime neile erinevaid radasid.

Lisaks võistlesid Ozobot Evod omavahel, kumb jõuab kiiremini stardist finišisse ja tagasi. Nagu selgus ei olnudki tahvli abil nende juhtimine just kõige kergem.

MOSS

MOSSi Bluetoothi plokk

Tutvusime ka Mossiga ja saime isegi väikese auto telefoni rakenduse abil liikuma. Siin on juhend, kuidas bluetoothi plokki kasutada.

MOSSi tuulik