Semáforo com Micro:bit

Publicado em: 17/01/2025

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.