No momento, você está visualizando Semáforo com Micro:bit

Semáforo com Micro:bit

Como referenciar este texto: Semáforo com Micro:bit’. Rodrigo Terra. Publicado em: 17/01/2025. Link da postagem: https://www.makerzine.com.br/educacao/semaforo-com-microbit/.

Conteúdos que você verá nesta postagem

Este projeto utiliza o Micro:bit para criar um sistema funcional de semáforo para pedestres e carros. Ele explora conceitos básicos de eletrônica, programação por blocos e lógica sequencial, sendo ideal para iniciantes e educadores que desejam ensinar habilidades práticas de programação e circuitos. Com o suporte das imagens fornecidas, o sistema é montado usando LEDs, resistores, uma protoboard e as saídas digitais do Micro:bit.

Lógica

				
					Inicialização

    Configurar os pinos de saída do Micro:bit:
        Pino P0: LED verde (pedestres).
        Pino P1: LED vermelho (pedestres).
        Pino P2: LED verde (carros).
        Pino P3: LED amarelo (carros).
        Pino P4: LED vermelho (carros).
    Inicializar todos os LEDs:
        Desligar os LEDs (P0, P1, P2, P3, P4).
    Mostrar uma inicialização na matriz de LEDs do Micro:bit (opcional).


Loop Principal

Repetir para sempre:

    Estado 1: Verde para carros, vermelho para pedestres
        Ligar o LED verde dos carros (P2).
        Ligar o LED vermelho dos pedestres (P1).
        Aguardar 5 segundos.

    Estado 2: Amarelo para carros
        Desligar o LED verde dos carros (P2).
        Ligar o LED amarelo dos carros (P3).
        Aguardar 2 segundos.

    Estado 3: Vermelho para carros, verde para pedestres
        Desligar o LED amarelo dos carros (P3).
        Ligar o LED vermelho dos carros (P4).
        Desligar o LED vermelho dos pedestres (P1).
        Ligar o LED verde dos pedestres (P0).
        Aguardar 5 segundos.

    Estado 4: Voltar ao início
        Desligar o LED verde dos pedestres (P0).
        Ligar o LED vermelho dos pedestres (P1).
        Desligar o LED vermelho dos carros (P4).
        Ligar o LED verde dos carros (P2).
        Voltar ao passo 1.
				
			

Código escrito

				
					# Python code
#
basic.show_leds("""
  # # # # #
  # # # # #
  # # # # #
  # # # # #
  # # # # #
  """)
pins.set_pull(DigitalPin.P0, PinPullMode.PullUp)
pins.set_pull(DigitalPin.P1, PinPullMode.PullUp)
pins.set_pull(DigitalPin.P2, PinPullMode.PullUp)
basic.pause(1000)
basic.clear_screen()
pins.set_pull(DigitalPin.P0, PinPullMode.PullDown)
pins.set_pull(DigitalPin.P1, PinPullMode.PullDown)
pins.set_pull(DigitalPin.P2, PinPullMode.PullDown)
basic.pause(1000)

def on_forever():
  pins.set_pull(DigitalPin.P2, PinPullMode.PullUp)
  for index in range(5):
    basic.show_leds("""
      . . . . .
      . . # . .
      . # # # .
      . . # . .
      . # . # .
      """)
    basic.show_leds("""
      . . . . .
      . . # . .
      . . # . .
      . . # . .
      . . # . .
      """)
  for index2 in range(5):
    basic.show_leds("""
      # . . . #
      . # . # .
      . . # . .
      . # . # .
      # . . . #
      """)
    basic.pause(500)
    basic.clear_screen()
    basic.pause(500)
  basic.show_leds("""
    # . . . #
    . # . # .
    . . # . .
    . # . # .
    # . . . #
    """)
  pins.set_pull(DigitalPin.P2, PinPullMode.PullDown)
  pins.set_pull(DigitalPin.P0, PinPullMode.PullUp)
  basic.pause(5000)
  for index3 in range(5):
    pins.set_pull(DigitalPin.P1, PinPullMode.PullUp)
    basic.pause(500)
  pins.set_pull(DigitalPin.P0, PinPullMode.PullDown)
basic.forever(on_forever)

				
			

Código blocos

Inicial

Setup

Circuito montado

Pinagem utilizada

  1. Pino P0: LED verde do semáforo de carros
    • Indica que os veículos podem seguir.
  2. Pino P1: LED amarelo do semáforo de carros
    • Indica a transição de “siga” para “pare”.
  3. Pino P2: LED vermelho do semáforo de carros
    • Indica que os veículos devem parar.

Simulador TinkerCad

Se você acha que este conteúdo pode ser útil para alguém, compartilhe!

Ao divulgar os textos do MakerZine, você contribui para que todo o material continue acessível e gratuito para todas as pessoas.

Rodrigo Terra

Com formação inicial em Física, especialização em Ciências Educacionais com ênfase em Tecnologia Educacional e Docência, e graduação em Ciências de Dados, construí uma trajetória sólida que une educação, tecnologias ee inovação. Desde 2001, dedico-me ao campo educacional, e desde 2019, atuo também na área de ciência de dados, buscando sempre encontrar soluções focadas no desenvolvimento humano. Minha experiência combina um profundo conhecimento em educação com habilidades técnicas em dados e programação, permitindo-me criar soluções estratégicas e práticas. Com ampla vivência em análise de dados, definição de métricas e desenvolvimento de indicadores, acredito que a formação transdisciplinar é essencial para preparar indivíduos conscientes e capacitados para os desafios do mundo contemporâneo. Apaixonado por café e boas conversas, sou movido pela curiosidade e pela busca constante de novas ideias e perspectivas. Minha missão é contribuir para uma educação que inspire pensamento crítico, estimule a criatividade e promova a colaboração.

Deixe um comentário