https://makecode.microbit.org/_8a8c4dTc9Uc2

Ano: 6º ano

Unidade Temática: Vida e Ambiente

Objeto de Conhecimento: Cadeias alimentares e relações ecológicas

Habilidade BNCC:

  • EF06CI08 – Relacionar os seres vivos, incluindo o ser humano, aos componentes físicos e químicos do ambiente, reconhecendo o ambiente como um sistema dinâmico em interação.
  • EF07CI08 – Avaliar como os impactos provocados por catástrofes naturais ou mudanças nos componentes físicos, biológicos ou sociais de um ecossistema afetam suas populações, podendo ameaçar ou provocar a extinção de espécies, alteração de hábitos, migração etc.

Pilar do Pensamento Computacional: Algoritmos / Abstração / Eventos

-------------

📄 Descrição do Projeto

Este projeto simula um ecossistema marinho e terrestre com criaturas representadas por sprites no micro:bit. A ideia é demonstrar relações ecológicas como predação, reprodução e extinção, usando eventos como som e movimento para disparar mudanças no ecossistema. Os alunos visualizam como pequenos eventos (como a extinção de um peixe) afetam toda a cadeia.

🧠 Por que está interligado com a habilidade?

A BNCC propõe que os alunos compreendam a dinâmica dos sistemas vivos e suas relações. Este projeto permite observar interações simuladas em um sistema digital, incentivando a análise de causa e efeito e a compreensão de relações ecológicas.

🔧 Passo a Passo no MakeCode (Blocos ou JavaScript)

  1. Crie sprites que representam animais:
  • Peixe, Macaco, Golfinhos, Orcas, Gorilas
  1. Ao iniciar:
  • Posicione os sprites
  1. Ao sacudir o micro:bit:
  • De forma aleatória, cria novos animais ou remove ("preda") um
  1. Ao detectar som alto:
  • Eventos como extinção de espécies ou surgimento de predadores
  1. Ao tocar o logo:
  • Reiniciar o ecossistema

🛠️ Código JavaScript (MakeCode)

input.onLogoEvent(TouchButtonEvent.Pressed, function () {
    control.reset()
})

input.onGesture(Gesture.Shake, function () {
    _2 = randint(0, 5)
    _50 = randint(0, 1)
    _20 = randint(0, 10)
    if (_50 == 1) {
        if (!Peixe.isDeleted()) {
            Golfinho = game.createSprite(0, 0)
            Golfinho_2 = game.createSprite(2, 1)
            Golfinho_3 = game.createSprite(3, 0)
        }
        if (!Macaco.isDeleted()) {
            Macaquinho = game.createSprite(2, 2)
            Macaquinho_2 = game.createSprite(1, 0)
            Macaquinho_3 = game.createSprite(2, 0)
        }
    }
    if (_20 == 10 && !Peixe.isDeleted()) {
        Peixe.delete()
        basic.showIcon(IconNames.Skull)
    } else if (_2 == 5 && !Macaco.isDeleted()) {
        Macaco.delete()
        basic.showIcon(IconNames.Skull)
    }
})

input.onSound(DetectedSound.Loud, function () {
    _2 = randint(0, 5)
    _50 = randint(0, 1)
    _20 = randint(0, 10)
    if (!Peixe.isDeleted() && _50 == 1) {
        if (!Golfinho.isDeleted()) Golfinho.delete()
        if (!Golfinho_2.isDeleted()) Golfinho_2.delete()
        if (!Macaquinho_3.isDeleted()) Macaquinho_3.delete()
        basic.showIcon(IconNames.Skull)
    }
    if (!Macaco.isDeleted() && _2 == 5) {
        if (!Golfinho_3.isDeleted()) Golfinho_3.delete()
        if (!Macaquinho.isDeleted()) Macaquinho.delete()
        if (!Macaquinho_2.isDeleted()) Macaquinho_2.delete()
        basic.showIcon(IconNames.Skull)
    }
    if (_20 == 10) {
        if (!Golfinho.isDeleted() || !Golfinho_2.isDeleted() || !Golfinho_3.isDeleted()) {
            Orca = game.createSprite(1, 3)
            Orca_2 = game.createSprite(2, 3)
        }
        if (!Macaquinho.isDeleted() || !Macaquinho_2.isDeleted() || !Macaquinho_3.isDeleted()) {
            Gorila = game.createSprite(4, 0)
            Gorila_2 = game.createSprite(4, 1)
        }
    }
})

let _20 = 0
let _50 = 0
let _2 = 0
let Gorila_2: game.LedSprite = null
let Gorila: game.LedSprite = null
let Orca_2: game.LedSprite = null
let Orca: game.LedSprite = null
let Macaquinho_3: game.LedSprite = null
let Macaquinho_2: game.LedSprite = null
let Macaquinho: game.LedSprite = null
let Golfinho_3: game.LedSprite = null
let Golfinho_2: game.LedSprite = null
let Golfinho: game.LedSprite = null
let Macaco: game.LedSprite = null
let Peixe: game.LedSprite = null

Peixe = game.createSprite(1, 1)
Macaco = game.createSprite(3, 3)
Golfinho = game.createSprite(6, 6)
Golfinho_2 = game.createSprite(6, 6)
Golfinho_3 = game.createSprite(6, 6)
Macaquinho = game.createSprite(6, 6)
Macaquinho_2 = game.createSprite(6, 6)
Macaquinho_3 = game.createSprite(6, 6)
Orca = game.createSprite(6, 6)
Orca_2 = game.createSprite(6, 6)
Gorila = game.createSprite(6, 6)
Gorila_2 = game.createSprite(6, 6)

🏫 Implementação na Sala de Aula

  1. Apresente aos alunos conceitos de cadeia alimentar, predador e presa
  2. Mostre como os eventos disparam mudanças no sistema (como um som representando um distúrbio ambiental)
  3. Alunos observam e discutem o comportamento emergente
  4. Podem modificar as regras para testar hipóteses (ex: o que acontece se removermos os peixes?)

Resultados Esperados

  • Compreensão de interações entre seres vivos e o ambiente
  • Visualização concreta de dinâmicas ecológicas
  • Raciocínio lógico e pensamento computacional em contexto científico
  • Estímulo à investigação e formulação de perguntas

🔄 Possíveis Extensões

  • Criar sistema com energia (nível de alimento)
  • Simular cadeia alimentar com mais níveis
  • Associar imagens externas ou ilustrações para enriquecer a visualização
  • Registrar resultados e montar relatórios de observação