SlideShare uma empresa Scribd logo
1 de 35
Programação Eletrónica+
Espaço
Estudo Comparativo entre
Mblock e BloclyDuino
BlocklyDuino
O Ambiente de Trabalho
mBlock (Edit Arduino Mode)
O Ambiente de Trabalho
BlocklyDuino e
mBlock – Teste 1
LED pisca-pisca
Teste 1 – A Programação por Blocos
BlocklyDuino mBlock
No BlocklyDuino, o corpo do programa é repetido num
loop contínuo (e por isso não é necessária a função que faz
repetir as instruções). O mBlock, tal como o Scratch, para
que se dê a repetição em contínuo, é necessário o bloco
“forever” – ou “sempre”, no Scratch.
Teste 1 – A Conversão em C
BlocklyDuino mBlock
O mBlock inclui livrarias que a generalidade das
pessoas não conhecerá; cria ainda variáveis
desnecessárias. Programa do Bloclyduino mais
compreensível e limpo.
BlocklyDuino e
mBlock – Teste 2.1
Controlo do LED por
botão de pressão:
• Quando botão
pressionado, LED
acende;
• Quando botão não é
pressionado, LED
mantém-se apagado.
Teste 2.1 – A Programação por Blocos
BlocklyDuino mBlock
Mais uma vez, a principal diferença faz-se notar ao nível
da necessidade do loop do programa principal no software
mBlock, que não se verifica quando se programa em
BloclyDuino.
Teste 2.1 – A Conversão em C
BlocklyDuino mBlock
BlocklyDuino e
mBlock – Teste 2.2
Controlo do LED por
botão de pressão:
• O LED deve acender
e apagar
sucessivamente
sempre que o botão
de pressão é
acionado.
Teste 2.2 – A Programação por Blocos
BlocklyDuino mBlock
Teste 2.2 – A Conversão em CBlocklyDuino
mBlock
O facto de no
Blocklyduino a
inicialização de
variáveis não poder ser
feita fora do loop
principal, obriga à
utilização de um loop
(While) que seria
desnecessário caso a
programação em C
fosse feita de raíz.
BlocklyDuino e
mBlock – Teste 3
Controlo do LED por
fotorresistência:
• Para valores baixos
de luminosidade, o
LED deve acender;
• Para valores elevados
de luminosidade, o
LED deve apagar.
Teste 3 – A Programação por Blocos
BlocklyDuino mBlock
Teste 3 – A Conversão em CBlocklyDuino
mBlock
BlocklyDuino e
mBlock – Teste 4.1
Controlo de
servomotores:
Fazer o motor rodar
sucessivamente entre 0º,
90º e 180º.
Teste 4.1 – A Programação por Blocos
BlocklyDuino mBlock
Teste 4.1 – A Conversão em CBlocklyDuino
mBlock
BlocklyDuino e
mBlock – Teste 4.2
Controlo de
servomotores:
Fazer o motor rodar uma
única vez entre 0º, 90º e
180º.
Teste 4.2 – A Programação por Blocos
BlocklyDuino mBlock
Estranhamente, este exercício mostrou-
se praticamente impraticável em
BlocklyDuino, uma vez que este
software assume a inicialização das
variáveis dentro do loop principal, pelo
que, depois de incrementadas, o
programa volta ao início e as variáveis
tornam a adquirir de novo o valor
inicial, repetindo as instruções. A
questão resolver-se-ia com facilidade
com um bloco “end” que terminasse o
programa num determinado ponto (o
equivalente à instrução em C “exit(0)”).
Teste 4.2 – A Conversão em CBlocklyDuino
mBlock
Não praticável
A incapacidade do BlocklyDuino de
lidar com este programa é uma
deceção. A solução do mBlock,
funcionando, não deixa também de ser
estranha por fazer correr a função
principal na função Setup e não na
função Loop.
BlocklyDuino e
mBlock – Teste 4.3
Controlo de
servomotores:
A rotação do servomotor
deve ser definida por
uma resistência variável.
Teste 4.3 – A Programação por Blocos
BlocklyDuino
Verificou-se que o programa não funciona.
Depois de analisar o código em C, conclui-se
que as variáveis do código gerado são sempre
do tipo int (cujos valores mínimo e máximo
para um processador de 8 bits são -32 768 e
+32 768). Como o resultado de 180*A0
ultrapassa com facilidade esse valor, o valor
obtido para o ângulo do servo é incoerente.
Por isso, nestes casos, há que usar a função
map, disponível nos blocos dos BlocklyDuino.
Esta operação
teria de ser feita
com variáveis tipo
long, opção que
não nos é
disponibilizada.
Em C, bastaria
acrescentar um “l”
à frente dos
números.
Teste 4.3 – A Programação por Blocos
Verificou-se que o programa não funciona.
Depois de analisar o código em C, conclui-se
que se verifica também com este software a
questão do tipo das variáveis.
O mBlok não disponibiliza a função map.
mBlock
Esta operação
teria de ser feita
com variáveis tipo
long, opção que
não nos é
disponibilizada.
Em C, bastaria
acrescentar um “l”
à frente dos
números.
Teste 4.3 – A Programação por Blocos
BlocklyDuino
mBlock
Não praticável
Teste 4.3 – A Conversão em CBlocklyDuino
mBlock
Não praticável
BlocklyDuino e
mBlock – Teste 5
A saída PWM:
Fazer um LED aumentar
e diminuir a sua
luminosidade
gradualmente.
Teste 5 – A Programação por Blocos
BlocklyDuino mBlock
Teste 5 – A Conversão em CBlocklyDuino
mBlock
BlocklyDuino e
mBlock – Teste 6
Usando o sensor SR04:
Fazer ligar o LED verde
quando a distância a um
obstáculo for superior a
um valor pré-
determinado; caso essa
distância seja inferior,
deve ligar o LED
vermelho.
Teste 6 – A Programação por Blocos
BlocklyDuino mBlock
O BlocklyDuino não tem um bloco
que permita o uso do SR04. Existe
um bloco preparado para
equipamento da Grove, com uma
só entrada / saída (serão curto-
circuitadas?) mas cuja compilação
em C usa uma livraria que o
compilador do Arduino não
reconhece. Provavelmente, terão de
se adicionar livrarias relacionadas
com o equipamento Grove.
A programação direta do SR04 não
é possível pelas limitações já
referidas nas operações aritméticas.
Teste 6 – A Conversão em CBlocklyDuino
mBlock
Não praticável
BlocklyDuino e mBlock – Algumas Conclusões #1
BlocklyDuino mBlock
Corre… Online ou através de
sofware instalado no PC
Através de software
instalado no PC
Facilidade em transferir
código C para o arduino
através do próprio
software
Aparência Sóbrio e minimalista Infantil
Aprendizagem para
quem sabe Scratch
Fácil, ainda que seja
necessária alguma
exploração do software
A programação é igual ao
Scratch
Código C gerado Simples e de fácil
compreensão
Complicado e não
adequado para uma
introdução ao C
Continua…
BlocklyDuino e mBlock – Algumas Conclusões#2
BlocklyDuino mBlock
Inicialização das variáveis Sendo feita na função
Loop, adquirem o seu
valor inicial cada vez que
o programa é repetido –
o que complica bastante
a programação de
situações em que se
pretende uma repetição
limitada de funções.
Leitura de entradas
digitais
Leitura de entradas
analógicas
Continua…
BlocklyDuino e mBlock – Algumas Conclusões #3
BlocklyDuino mBlock
Controlo de
servomotores
Realização de operações
aritméticas
Conversão de valores de
entradas analógicas para
uma dada escala Através do bloco map
Saída PWM
Recurso ao sensor SR04
Limitada pelo facto de não ser possível
especificar o tamanho dos inteiros utilizados

Mais conteúdo relacionado

Mais procurados

Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
Pacc UAB
 
Função do 2º grau
Função do 2º grauFunção do 2º grau
Função do 2º grau
leilamaluf
 
Apostila de relações métricas na circunferência
Apostila de relações métricas na circunferênciaApostila de relações métricas na circunferência
Apostila de relações métricas na circunferência
Antonio Carneiro
 
Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®
Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®
Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®
Aparecida Bezerra
 

Mais procurados (20)

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Atividades de Sistemas Binários
Atividades de Sistemas BináriosAtividades de Sistemas Binários
Atividades de Sistemas Binários
 
Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1Aula 8 - Repetição PARA ATÉ - parte 1
Aula 8 - Repetição PARA ATÉ - parte 1
 
Função do 2º grau
Função do 2º grauFunção do 2º grau
Função do 2º grau
 
Apostila de relações métricas na circunferência
Apostila de relações métricas na circunferênciaApostila de relações métricas na circunferência
Apostila de relações métricas na circunferência
 
Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®
Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®
Programação de Lego Mindstorms NXT 2.0 Utilizando MATLAB®
 
Cadernão raciocínio lógico resolvido
Cadernão raciocínio lógico resolvidoCadernão raciocínio lógico resolvido
Cadernão raciocínio lógico resolvido
 
Expressoes algebricas
Expressoes algebricasExpressoes algebricas
Expressoes algebricas
 
Mocho como símbolo da Matemática
Mocho como símbolo da MatemáticaMocho como símbolo da Matemática
Mocho como símbolo da Matemática
 
Problemas com frações - Parte I
Problemas com frações - Parte IProblemas com frações - Parte I
Problemas com frações - Parte I
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
Apostila Matemática Básica Parte 1
Apostila Matemática Básica Parte 1Apostila Matemática Básica Parte 1
Apostila Matemática Básica Parte 1
 
Equações do 2ºgrau, Função Polinomial do 1º e 2º grau, Semelhanças, Segmentos...
Equações do 2ºgrau, Função Polinomial do 1º e 2º grau, Semelhanças, Segmentos...Equações do 2ºgrau, Função Polinomial do 1º e 2º grau, Semelhanças, Segmentos...
Equações do 2ºgrau, Função Polinomial do 1º e 2º grau, Semelhanças, Segmentos...
 
Porcentagem 6 ANO
Porcentagem 6 ANOPorcentagem 6 ANO
Porcentagem 6 ANO
 
Trigonometria
TrigonometriaTrigonometria
Trigonometria
 
16 aula conjuntos numericos
16 aula    conjuntos numericos16 aula    conjuntos numericos
16 aula conjuntos numericos
 
Análise combinatória
Análise combinatóriaAnálise combinatória
Análise combinatória
 
Lógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoLógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de Seleção
 
07 algoritmo - eSTRUTURA DE REPETIÇÃO
07   algoritmo - eSTRUTURA DE REPETIÇÃO07   algoritmo - eSTRUTURA DE REPETIÇÃO
07 algoritmo - eSTRUTURA DE REPETIÇÃO
 
Raciocinio logico 80 questoes
Raciocinio logico 80 questoesRaciocinio logico 80 questoes
Raciocinio logico 80 questoes
 

Destaque

Ec lego-workshop sesi senai-sao paulo-201010
Ec lego-workshop sesi senai-sao paulo-201010Ec lego-workshop sesi senai-sao paulo-201010
Ec lego-workshop sesi senai-sao paulo-201010
Eduardo Chaves
 

Destaque (20)

Estudo orientado de circuitos com motor dc programados em S4A
Estudo orientado de circuitos com motor dc programados em S4AEstudo orientado de circuitos com motor dc programados em S4A
Estudo orientado de circuitos com motor dc programados em S4A
 
Projeto Casa Inteligente (Arduino e Snap4Arduino)
Projeto Casa Inteligente (Arduino e Snap4Arduino)Projeto Casa Inteligente (Arduino e Snap4Arduino)
Projeto Casa Inteligente (Arduino e Snap4Arduino)
 
Movimento obliquo - simulação (arduino e S4A)
Movimento obliquo - simulação (arduino e S4A)Movimento obliquo - simulação (arduino e S4A)
Movimento obliquo - simulação (arduino e S4A)
 
Programação de arduinos com S4A (exercícios com entradas e saídas digitais)
Programação de arduinos com S4A (exercícios com entradas e saídas digitais)Programação de arduinos com S4A (exercícios com entradas e saídas digitais)
Programação de arduinos com S4A (exercícios com entradas e saídas digitais)
 
LED RGB e saída PWM - estudo orientado com S4A
LED RGB e saída PWM - estudo orientado com S4ALED RGB e saída PWM - estudo orientado com S4A
LED RGB e saída PWM - estudo orientado com S4A
 
Lâmpada controlada por relé e arduino programado em S4A
Lâmpada controlada por relé e arduino programado em S4ALâmpada controlada por relé e arduino programado em S4A
Lâmpada controlada por relé e arduino programado em S4A
 
Controlo de motor de passo com Snap4Arduino
Controlo de motor de passo com Snap4ArduinoControlo de motor de passo com Snap4Arduino
Controlo de motor de passo com Snap4Arduino
 
Workshop Arduino + Scratch
Workshop Arduino + ScratchWorkshop Arduino + Scratch
Workshop Arduino + Scratch
 
Projeto em arduino e Scratch
Projeto em arduino e ScratchProjeto em arduino e Scratch
Projeto em arduino e Scratch
 
Projeto de S. Valentim
Projeto de S. ValentimProjeto de S. Valentim
Projeto de S. Valentim
 
Controlo de motores dc através de Scratch
Controlo de motores dc através de ScratchControlo de motores dc através de Scratch
Controlo de motores dc através de Scratch
 
Arduino - iniciação à linguagem C (entradas analógica)
Arduino - iniciação à linguagem C (entradas analógica)Arduino - iniciação à linguagem C (entradas analógica)
Arduino - iniciação à linguagem C (entradas analógica)
 
Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)Arduino - iniciação à linguagem C (entradas e saídas digitais)
Arduino - iniciação à linguagem C (entradas e saídas digitais)
 
Ec lego-workshop sesi senai-sao paulo-201010
Ec lego-workshop sesi senai-sao paulo-201010Ec lego-workshop sesi senai-sao paulo-201010
Ec lego-workshop sesi senai-sao paulo-201010
 
Termómetro (Arduino & Scractch)
Termómetro (Arduino & Scractch)Termómetro (Arduino & Scractch)
Termómetro (Arduino & Scractch)
 
EV3#6: Exercicios com o sensor rotação
EV3#6: Exercicios com o sensor rotação EV3#6: Exercicios com o sensor rotação
EV3#6: Exercicios com o sensor rotação
 
Circuitos com Sensor PIR (Arduino e S4A)
Circuitos com Sensor PIR (Arduino e S4A)Circuitos com Sensor PIR (Arduino e S4A)
Circuitos com Sensor PIR (Arduino e S4A)
 
EV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toqueEV3#4: Exercicios com o sensor de toque
EV3#4: Exercicios com o sensor de toque
 
Arduino - iniciação à linguagem C (servomotores)
Arduino - iniciação à linguagem C (servomotores)Arduino - iniciação à linguagem C (servomotores)
Arduino - iniciação à linguagem C (servomotores)
 
Espaço Programação e Eletrónica - Sessão4
Espaço Programação e Eletrónica - Sessão4Espaço Programação e Eletrónica - Sessão4
Espaço Programação e Eletrónica - Sessão4
 

Semelhante a BlocklyDuino e mBlock - um estudo comparativo

Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Vinícius Thiengo
 
Introdução ao Windows Azure - Sessão 2 (mais prática)
Introdução ao Windows Azure - Sessão 2 (mais prática)Introdução ao Windows Azure - Sessão 2 (mais prática)
Introdução ao Windows Azure - Sessão 2 (mais prática)
Giovanni Bassi
 
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Arthur Francisco Lorenzon
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013
Arthur Francisco Lorenzon
 

Semelhante a BlocklyDuino e mBlock - um estudo comparativo (20)

Planeamento de uma prova no concurso - Robô Bombeiro
Planeamento de uma prova no concurso - Robô BombeiroPlaneamento de uma prova no concurso - Robô Bombeiro
Planeamento de uma prova no concurso - Robô Bombeiro
 
Clp aprendizagem clic2 weg
Clp aprendizagem clic2 wegClp aprendizagem clic2 weg
Clp aprendizagem clic2 weg
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
 
Lógica de Programação - Unimep/Pronatec - Aula11
Lógica de Programação - Unimep/Pronatec - Aula11Lógica de Programação - Unimep/Pronatec - Aula11
Lógica de Programação - Unimep/Pronatec - Aula11
 
Introdução ao C#
Introdução ao C#Introdução ao C#
Introdução ao C#
 
Aula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptx
 
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
 
02 introdução ao open gl
02 introdução ao open gl02 introdução ao open gl
02 introdução ao open gl
 
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
Introdução à Computação Aula prática 2 - Algoritmos (Simulando Operações com ...
 
Leitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXingLeitor de Códigos no Android com Barcode Scanner API - ZXing
Leitor de Códigos no Android com Barcode Scanner API - ZXing
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
TDC2016 - Processamento de Imagem em GPU com OpenGL
TDC2016 - Processamento de Imagem em GPU com OpenGLTDC2016 - Processamento de Imagem em GPU com OpenGL
TDC2016 - Processamento de Imagem em GPU com OpenGL
 
Introdução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support packageIntrodução ao Matlab - simulink coder support package
Introdução ao Matlab - simulink coder support package
 
Introdução ao Windows Azure - Sessão 2 (mais prática)
Introdução ao Windows Azure - Sessão 2 (mais prática)Introdução ao Windows Azure - Sessão 2 (mais prática)
Introdução ao Windows Azure - Sessão 2 (mais prática)
 
Codando Assíncrono com Coroutines
Codando Assíncrono com CoroutinesCodando Assíncrono com Coroutines
Codando Assíncrono com Coroutines
 
Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
 
TDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de GuardaTDC Connections 2021 Clausula de Guarda
TDC Connections 2021 Clausula de Guarda
 
Arduino+android+bluetooth
Arduino+android+bluetoothArduino+android+bluetooth
Arduino+android+bluetooth
 
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
Mini Curso Programação Paralela utilizando OpenMP - SACTA 2013
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013
 

Mais de Ana Carneirinho

Mais de Ana Carneirinho (13)

The can sat_book_2016-2017_versienov2016
The can sat_book_2016-2017_versienov2016The can sat_book_2016-2017_versienov2016
The can sat_book_2016-2017_versienov2016
 
Livraria Sense hat - resumo
Livraria Sense hat - resumoLivraria Sense hat - resumo
Livraria Sense hat - resumo
 
Astro pi - Como recolher dados do astro Pi
Astro pi - Como recolher dados do astro PiAstro pi - Como recolher dados do astro Pi
Astro pi - Como recolher dados do astro Pi
 
Astro Pi - Explorando o Sense Hat
Astro Pi - Explorando o Sense HatAstro Pi - Explorando o Sense Hat
Astro Pi - Explorando o Sense Hat
 
Astro Pi - introdução ao Python
Astro Pi - introdução ao PythonAstro Pi - introdução ao Python
Astro Pi - introdução ao Python
 
Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602Arduino - iniciação à linguagem C: LCD 1602
Arduino - iniciação à linguagem C: LCD 1602
 
EV3#7: Exercicios seguidor de linha
EV3#7: Exercicios seguidor de linhaEV3#7: Exercicios seguidor de linha
EV3#7: Exercicios seguidor de linha
 
EV3#5: Exercicios com o sensor cor
EV3#5: Exercicios com o sensor corEV3#5: Exercicios com o sensor cor
EV3#5: Exercicios com o sensor cor
 
EV3#3: Exercicios com o sensor de ultrassons
EV3#3: Exercicios com o sensor de ultrassonsEV3#3: Exercicios com o sensor de ultrassons
EV3#3: Exercicios com o sensor de ultrassons
 
Espaço Programação e Eletrónica - Sessão5
Espaço Programação e Eletrónica - Sessão5Espaço Programação e Eletrónica - Sessão5
Espaço Programação e Eletrónica - Sessão5
 
EV3#2: Exercícios introdutórios
EV3#2: Exercícios introdutóriosEV3#2: Exercícios introdutórios
EV3#2: Exercícios introdutórios
 
EV3#1: Blocos fundamentais
EV3#1: Blocos fundamentaisEV3#1: Blocos fundamentais
EV3#1: Blocos fundamentais
 
Espaço Programação e Eletrónica - Sessão 3
Espaço Programação e Eletrónica - Sessão 3Espaço Programação e Eletrónica - Sessão 3
Espaço Programação e Eletrónica - Sessão 3
 

Último

Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Último (20)

Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
P P P 2024 - *CIEJA Santana / Tucuruvi*
P P P 2024  - *CIEJA Santana / Tucuruvi*P P P 2024  - *CIEJA Santana / Tucuruvi*
P P P 2024 - *CIEJA Santana / Tucuruvi*
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 

BlocklyDuino e mBlock - um estudo comparativo

  • 3. mBlock (Edit Arduino Mode) O Ambiente de Trabalho
  • 4. BlocklyDuino e mBlock – Teste 1 LED pisca-pisca
  • 5. Teste 1 – A Programação por Blocos BlocklyDuino mBlock No BlocklyDuino, o corpo do programa é repetido num loop contínuo (e por isso não é necessária a função que faz repetir as instruções). O mBlock, tal como o Scratch, para que se dê a repetição em contínuo, é necessário o bloco “forever” – ou “sempre”, no Scratch.
  • 6. Teste 1 – A Conversão em C BlocklyDuino mBlock O mBlock inclui livrarias que a generalidade das pessoas não conhecerá; cria ainda variáveis desnecessárias. Programa do Bloclyduino mais compreensível e limpo.
  • 7. BlocklyDuino e mBlock – Teste 2.1 Controlo do LED por botão de pressão: • Quando botão pressionado, LED acende; • Quando botão não é pressionado, LED mantém-se apagado.
  • 8. Teste 2.1 – A Programação por Blocos BlocklyDuino mBlock Mais uma vez, a principal diferença faz-se notar ao nível da necessidade do loop do programa principal no software mBlock, que não se verifica quando se programa em BloclyDuino.
  • 9. Teste 2.1 – A Conversão em C BlocklyDuino mBlock
  • 10. BlocklyDuino e mBlock – Teste 2.2 Controlo do LED por botão de pressão: • O LED deve acender e apagar sucessivamente sempre que o botão de pressão é acionado.
  • 11. Teste 2.2 – A Programação por Blocos BlocklyDuino mBlock
  • 12. Teste 2.2 – A Conversão em CBlocklyDuino mBlock O facto de no Blocklyduino a inicialização de variáveis não poder ser feita fora do loop principal, obriga à utilização de um loop (While) que seria desnecessário caso a programação em C fosse feita de raíz.
  • 13. BlocklyDuino e mBlock – Teste 3 Controlo do LED por fotorresistência: • Para valores baixos de luminosidade, o LED deve acender; • Para valores elevados de luminosidade, o LED deve apagar.
  • 14. Teste 3 – A Programação por Blocos BlocklyDuino mBlock
  • 15. Teste 3 – A Conversão em CBlocklyDuino mBlock
  • 16. BlocklyDuino e mBlock – Teste 4.1 Controlo de servomotores: Fazer o motor rodar sucessivamente entre 0º, 90º e 180º.
  • 17. Teste 4.1 – A Programação por Blocos BlocklyDuino mBlock
  • 18. Teste 4.1 – A Conversão em CBlocklyDuino mBlock
  • 19. BlocklyDuino e mBlock – Teste 4.2 Controlo de servomotores: Fazer o motor rodar uma única vez entre 0º, 90º e 180º.
  • 20. Teste 4.2 – A Programação por Blocos BlocklyDuino mBlock Estranhamente, este exercício mostrou- se praticamente impraticável em BlocklyDuino, uma vez que este software assume a inicialização das variáveis dentro do loop principal, pelo que, depois de incrementadas, o programa volta ao início e as variáveis tornam a adquirir de novo o valor inicial, repetindo as instruções. A questão resolver-se-ia com facilidade com um bloco “end” que terminasse o programa num determinado ponto (o equivalente à instrução em C “exit(0)”).
  • 21. Teste 4.2 – A Conversão em CBlocklyDuino mBlock Não praticável A incapacidade do BlocklyDuino de lidar com este programa é uma deceção. A solução do mBlock, funcionando, não deixa também de ser estranha por fazer correr a função principal na função Setup e não na função Loop.
  • 22. BlocklyDuino e mBlock – Teste 4.3 Controlo de servomotores: A rotação do servomotor deve ser definida por uma resistência variável.
  • 23. Teste 4.3 – A Programação por Blocos BlocklyDuino Verificou-se que o programa não funciona. Depois de analisar o código em C, conclui-se que as variáveis do código gerado são sempre do tipo int (cujos valores mínimo e máximo para um processador de 8 bits são -32 768 e +32 768). Como o resultado de 180*A0 ultrapassa com facilidade esse valor, o valor obtido para o ângulo do servo é incoerente. Por isso, nestes casos, há que usar a função map, disponível nos blocos dos BlocklyDuino. Esta operação teria de ser feita com variáveis tipo long, opção que não nos é disponibilizada. Em C, bastaria acrescentar um “l” à frente dos números.
  • 24. Teste 4.3 – A Programação por Blocos Verificou-se que o programa não funciona. Depois de analisar o código em C, conclui-se que se verifica também com este software a questão do tipo das variáveis. O mBlok não disponibiliza a função map. mBlock Esta operação teria de ser feita com variáveis tipo long, opção que não nos é disponibilizada. Em C, bastaria acrescentar um “l” à frente dos números.
  • 25. Teste 4.3 – A Programação por Blocos BlocklyDuino mBlock Não praticável
  • 26. Teste 4.3 – A Conversão em CBlocklyDuino mBlock Não praticável
  • 27. BlocklyDuino e mBlock – Teste 5 A saída PWM: Fazer um LED aumentar e diminuir a sua luminosidade gradualmente.
  • 28. Teste 5 – A Programação por Blocos BlocklyDuino mBlock
  • 29. Teste 5 – A Conversão em CBlocklyDuino mBlock
  • 30. BlocklyDuino e mBlock – Teste 6 Usando o sensor SR04: Fazer ligar o LED verde quando a distância a um obstáculo for superior a um valor pré- determinado; caso essa distância seja inferior, deve ligar o LED vermelho.
  • 31. Teste 6 – A Programação por Blocos BlocklyDuino mBlock O BlocklyDuino não tem um bloco que permita o uso do SR04. Existe um bloco preparado para equipamento da Grove, com uma só entrada / saída (serão curto- circuitadas?) mas cuja compilação em C usa uma livraria que o compilador do Arduino não reconhece. Provavelmente, terão de se adicionar livrarias relacionadas com o equipamento Grove. A programação direta do SR04 não é possível pelas limitações já referidas nas operações aritméticas.
  • 32. Teste 6 – A Conversão em CBlocklyDuino mBlock Não praticável
  • 33. BlocklyDuino e mBlock – Algumas Conclusões #1 BlocklyDuino mBlock Corre… Online ou através de sofware instalado no PC Através de software instalado no PC Facilidade em transferir código C para o arduino através do próprio software Aparência Sóbrio e minimalista Infantil Aprendizagem para quem sabe Scratch Fácil, ainda que seja necessária alguma exploração do software A programação é igual ao Scratch Código C gerado Simples e de fácil compreensão Complicado e não adequado para uma introdução ao C Continua…
  • 34. BlocklyDuino e mBlock – Algumas Conclusões#2 BlocklyDuino mBlock Inicialização das variáveis Sendo feita na função Loop, adquirem o seu valor inicial cada vez que o programa é repetido – o que complica bastante a programação de situações em que se pretende uma repetição limitada de funções. Leitura de entradas digitais Leitura de entradas analógicas Continua…
  • 35. BlocklyDuino e mBlock – Algumas Conclusões #3 BlocklyDuino mBlock Controlo de servomotores Realização de operações aritméticas Conversão de valores de entradas analógicas para uma dada escala Através do bloco map Saída PWM Recurso ao sensor SR04 Limitada pelo facto de não ser possível especificar o tamanho dos inteiros utilizados