segunda-feira, 2 de dezembro de 2019

XXV - ENCONTRO: ENCERRAMENTO DAS ATIVIDADES

XXV - ENCONTRO: ENCERRAMENTO DAS ATIVIDADES

Olá turma, neste nosso último encontro, 27/11/2019, organizamos os materiais que utilizamos durante o ano em nossas atividades. 
Desmontagem dos projetos, organização de cabos componentes e estruturas mecânicas em caixas organizadoras.
Fizemos um balanço das atividades realizadas, revimos vídeos da Feira Cultural neste blog e ao final foi indicado sugestões de cursos e vídeos de programação na internet para os que quiserem aprofundar seus conhecimentos. Click nas indicações abaixo!!
Lógica de programação - algoritmos 

Abraço a todos!!!

quinta-feira, 28 de novembro de 2019

XXIV - ENCONTRO - FEIRA CULTURAL 2019

XXIV - ENCONTRO - FEIRA CULTURAL 2019

Olá turma, neste encontro do dia 22/112019, apresentamos os projetos desenvolvidos durante o ano para a comunidade escolar.










Coletor




Guindaste



Irrigador






Dado



Labirinto



Régua

Abraço a todos!!!

segunda-feira, 18 de novembro de 2019

JAM 2019

JAM 2019 - ENFRENTAMOS O DESAFIO

Olá turma, no dia 13/11/2019, participamos da JAM 2019 encaramos o desafio de desenvolver um coletor.
Foi desafiador e divertido!!!




Abraço a todos!!!

XXIII - ENCONTRO: Semáforo montagem física - conclusão

XXIII - ENCONTRO: Semáforo montagem física - conclusão

Olá turma, nesta data de 08/11/2019, concluímos a montagem física de nosso semáforo; paralelo a esta atividade outras equipes encarregaram-se de  dar continuidade a nossa régua eletrônica e ao sistema de irrigação.

Nossas atividades
Eletrônica:
Semáforo - soldagem de fios, conexões na protoboard entre Arduíno e módulo relê.



Régua eletrônica = soldagem de fios  e interconexão de leds com resistores.



Irrigador - Interconexão de fonte, válvula solenoide e módulo relê.





Mecânica
Semáforo - acondicionamento de fios e circuitos, montagem de caixa acondicionadora.






Régua eletrônica - acondicionamento de fios, reforço da estrutura física da régua.























Abraço a todos

XXII - ENCONTRO: Régua física parte 2 e mix

XXII - ENCONTRO: Régua física parte 2 e mix

Olá turma, neste encontro do dia 01/11/2019, demos continuidade a construção física de nossa régua com leds acionada por sensor ultrassônico. Paralelo a esta atividade outros grupos ficaram  incumbidos de dar continuidade a montagem física do semáforo que desenvolvemos nos tinkercad e reconstrução do guindaste para a feira cultural.
Nossas atividades:
Eletrônica
Geral: Vimos como utilizar um multímetro para testar a continuidade de fios. Revimos o conceito de tensão e corrente alternada e contínua.
Régua:
Soldagem de conectores  em fios aproveitados de cabos de mouse para a interligação do tubo de led (régua ) ao sensor ultrassônico.

Semáforo:
Feito adaptações no módulo rele para interligar os pinos comum de saída que receberão tensão de 110V, adaptação de cabo de força de pc para energizar  as lâmpadas leds de nosso semáforo.

Mecânica:
Guindaste:
Remontagem utilizando o Kit Atto

Abraço a todos

XXI - ENCONTRO: Régua física

XXI - ENCONTRO: Régua física 

Olá turma, nesta data de 25/10/2019, iniciamos a construção física da régua10 o objetivo foi armazenar e organizar os componentes eletrônicos dentro e fora de um tubo de papelão de 140 com.
Enquanto uma parte da equipe ocupou-se desta parte, outra dedicou-se a fazer experimentos com o comando Serial.print e também testes com o sistema de irrigação.

Nossas atividades:
Mecânica:
Medição, recortes e furação em tubo de papelão.




Eletrônica:

Testes na régua concluída na proto board:





Retirado fios de lixo eletrônico (mouses e monitores queimados) e soldagem de resistores nos anodos dos leds.




Programação 
Testes no sistema de irrigação:



Abraço a todos

terça-feira, 12 de novembro de 2019

Código Labirinto com fio

Olá turma, aqui tem um rascunho do códio do labirinto de fio.

/*
Controle de leds com botão
inicio - verde, amarelo e vermelho apagados
1 pulso - acende verde,
2 pulso - apago verde, acendo amarelo
3 pulso - apaga amarelo, acende vermelho
4 pulso - piscar vermelho

*/

int vermelho=12;
int amarelo=11;
int verde=10;
int buzzer=7;//ligar som, buzzer
int botao=8;//tocou fio
int botaoVitoria=4;
int pulso=0;
//sonorização
char buz = 5;
char* musica[] = {"Mi","Pausa", "Mi","Fa","Sol","Sol","Fa", "Mi", "Re", "Do", "Do", "Re", "Mi", "Re","Do","Do", "Fim"};
int duracao[] = {400, 3, 300, 300, 300, 300, 300, 300, 200, 200, 300, 300, 300, 300, 200, 200, 200, };
char* errou[] = {"Re#", "Fim"};
int dur[] = {4000};

void setup()
{
  pinMode(vermelho, OUTPUT);
  pinMode(amarelo, OUTPUT);
  pinMode(verde, OUTPUT);
  pinMode(botao, INPUT_PULLUP);
  //inicializa música
  pinMode(buz, OUTPUT);
  tocar(musica,duracao);  //se chegou no final, musica de vitoria
  //tocar(errou,dur);   //se errar, tocar

}

void loop()
{
 if (digitalRead(botao) == HIGH) { // Botão apertado;
  pulso++; // Liga led.
  delay(300);   
 }//fim do if
 contar(pulso);

}//fim loop



void piscar(int pin){
  digitalWrite(pin, HIGH);
  delay(300); // Wait for 1000 millisecond(s)
  digitalWrite(pin, LOW);
  delay(300); // Wait for 1000 millisecond(s)
}


void contar(int ctd){
  if(ctd==1){
    digitalWrite(verde, HIGH);
    digitalWrite(amarelo,LOW);
    digitalWrite(vermelho,LOW);
  }
  if(ctd==2){
    digitalWrite(verde,LOW);
    digitalWrite(amarelo,HIGH);
    digitalWrite(vermelho,LOW);
  }
  if(ctd==3){
    digitalWrite(verde,LOW);
    digitalWrite(amarelo,LOW);
    digitalWrite(vermelho,HIGH);
  }
  if(ctd>3){
    digitalWrite(verde,LOW);
    digitalWrite(amarelo,LOW);
    piscar(vermelho);
    tocar(musica,duracao);
  }
   
}
//tocar música
void tocar(char* mus[], int tempo[]){
  int tom = 0;
  for(int i = 0; mus[i]!="Fim";i++){
    if(mus[i] == "Do") tom = 262;
    if(mus[i] == "Re") tom = 294;
    if(mus[i] == "Mi") tom = 330;
    if(mus[i] == "Fa") tom = 349;
    if(mus[i] == "Sol") tom = 392;
    if(mus[i] == "La") tom = 440;
    if(mus[i] == "Si") tom = 494;
    if(mus[i] == "Do#") tom = 528;
    if(mus[i] == "Re#") tom = 622;
    if(mus[i] == "Fa#") tom = 370;
    if(mus[i] == "Sol#") tom = 415;
    if(mus[i] == "La#") tom = 466;
    if(mus[i] == "Pausa") tom = 0;
    tone(buz, tom, tempo[i]);
    delay(tempo[i]);
  }
}

Código Semáforo

Olá turma segue o código do Semáforo.
Façam as alterações que acharem necessário:

/*
 * Semáforo - Turma de Robótica
 * Módulos Relês são acionado  com nível LOW (0).
 */

//portas para os leds

int ledVermelho=6;  //fio laranja
int ledVerde=5;   //verde
int ledAmarelo=4;   //Amarelo5 
int pinoPOT = A0; //PINO ANALÓGICO usado pelo Potenciômetro
int leituraA0; //VARIÁVEL QUE ARMAZENA O valor lido na porta analogica

int tmp; // valor para o tempo de mudança dos leds

void setup ()
{
  pinMode(ledVerde,OUTPUT);//define pinos como saida
  pinMode(ledVermelho,OUTPUT);
  pinMode(ledAmarelo,OUTPUT);
  //inicializa com rele desligados
  digitalWrite(ledVermelho, HIGH);
  digitalWrite(ledAmarelo, HIGH);
  digitalWrite(ledVerde, HIGH);
  delay(50);
}

void loop()
{

 leituraA0= analogRead(pinoPOT);//analogRead(pinPOT);
 tmp= map(leituraA0, 0, 1023, 2000, 8000); //EXECUTA A FUNÇÃO "map" DE ACORDO COM OS PARÂMETROS PASSADOS 
mudar(tmp);
 
}


void mudar(int v){
  digitalWrite(ledVermelho, LOW); // sinal 0 => aciona rele
  delay(v);            // waits for a second
  digitalWrite(ledVermelho, HIGH);  // sinal 1 => desliga rele
  digitalWrite(ledAmarelo, LOW); // sinal 0 => aciona rele
  delay(v/2);
  digitalWrite(ledAmarelo, HIGH);  // sinal 1 => desliga rele
  digitalWrite(ledVerde, LOW); // sinal 0 => aciona rele
  delay(v);
  digitalWrite(ledVerde, HIGH); // sinal 1 => desliga rele
 
}

JAM 2019

Olá pessoal, aqui nosso vídeo solicitando participar da JAM 2019 no Anhembi...


domingo, 10 de novembro de 2019

XX - ENCONTRO: IRRIGADOR (parte 4) e comunicação Serial

XX - ENCONTRO: IRRIGADOR (parte 4) e comunicação Serial

Olá turma, em nosso encontro do dia 18/10/2019 fizemos testes com nosso irrigador, a partir da umidade do solo ele acendeu ou não um led que simulava uma válvula de água. Para entendermos como o arduino pode se comunicar com um computador brincamos com o comando Serial. O grupo responsável pelo labirinto implementou a programação da música para os jogadores que chegassem ao final do desafio.

Nossas atividades:
Eletrônica:
Comunicação serial:
Montagem virtual de circuito com led, potenciômetro e arduino no tinkercad.

Régua:
Conclusão da montagem na protoboad

Programação:
Comunicação serial:
Vimos como utilizar a função Serial.print e Serial.println para enviar mensagens do arduino para um computador.

Irrigador:
Testes de código e experimentos com terra e água.

Abraço a todos!!




XIX - ENCONTRO: Irrigador (parte 3)

XIX - ENCONTRO: Irrigador (parte 3) e outros

Olá turma, neste encontro do dia 11/10/2019, continuamos a pesquisa sobre o sistema  de irrigação e também iniciamos sua  montagem eletrônica na protoboard.
Outras equipes retomaram a montagem física da régua, além de ampliar o entendimento e por sua vez fazer melhoramentos no  código.
Vimos a teoria de funcionamento de relés.

Nossas atividades
Eletrônica
Irrigador:
Montagem física do sistema de irrigação na protoboard.



Régua:
Montagem física na protoboard.




Programação
Irrigador:
Testes com o código

Labirinto de fio:
Pesquisa na internet, testes com código de tocar buzzer.

Semáforo:
Pesquisa na Internet sobre semáforos sonoros.


Abraço a todos


quinta-feira, 17 de outubro de 2019

XVIII - ENCONTRO: Semáforo e Irrigador (parte 2)

XVIII - ENCONTRO: Semáforo e Irrigador (parte 2)

Olá turma, neste encontro do dia 04/10/2019, continuamos com nossos dois projetos implementando novas funcionalidades.
No semáforo colocamos um potenciômetro para regular o tempo de mudança para cada cor.
No Irrigador realizamos pesquisa para  ver modelos em funcionamento e implementar códigos
Paralelo a este dois projetos parte da turma trabalhou no aperfeiçoamento da régua, montagem do dado e labirinto de fio.
Nossas atividade
Eletrônica:
Semáforo
Montagem virtual no tinkercad
Montagem e conexão do semáforo através do kit Atto
Realizados testes do controle de leds.


Irrigador:
Montagem eletrônica no simulador do tinkercad, a partir de modelo pesquisado na internet.
Dado eletrônico:
Montagem física com componentes eletrônicos e sucata.

Programação:
Semáforo:
Revisto o comando analogRead.
Inclusão de código para ler  valores no potenciômetro através da função map.


//portas para os leds

int ledVermelho=13;
int ledAmarelo=12;
int ledVerde=11;
int pinoPOT = A0; //PINO ANALÓGICO usado pelo Potenciômetro
int leituraA0; //VARIÁVEL QUE ARMAZENA O valor lido na porta analogica 

int tmp; // valor para o tempo de mudança dos leds

void setup ()
{
  pinMode(ledVerde,OUTPUT);//define pinos como saida
  pinMode(ledVermelho,OUTPUT);
  pinMode(ledAmarelo,OUTPUT);

}

void loop()
{

 leituraA0= analogRead(pinoPOT);//analogRead(pinPOT);
 tmp= map(leituraA0, 0, 1023, 1000, 6000); //EXECUTA A FUNÇÃO "map" DE ACORDO COM OS PARÂMETROS PASSADOS   
mudar(tmp);
  
}


void mudar(int v){
  digitalWrite(ledVermelho, HIGH); // sets the digital pin 13 on
  delay(v);            // waits for a second
  digitalWrite(ledVermelho, LOW);  // sets the digital pin 13 off
  digitalWrite(ledAmarelo, HIGH);
  delay(v/2); 
  digitalWrite(ledAmarelo, LOW);  // sets the digital pin 13 off
  digitalWrite(ledVerde, HIGH);
  delay(v);
  digitalWrite(ledVerde, LOW);  // sets the digital pin 13 off
  

}
Irrigador:
Implementação de código a partir de modelo obtido na internet.
labirinto de fio:
Pesquisa na internet sobre como tocar  músicas no buzzer com arduino.



Abraço a todos

XVII - ENCONTRO: Semáforo e Irrigação automática

XVII - ENCONTRO: Semáforo e Irrigação automática

Olá turma, neste encontro do dia 27/10/2019 iniciamos 2 projetos: 
Para a turma que entrou este ano ficou a responsabilidade pela montagem de um semáforo com controle de tempo através de um potenciômetro.
Já os participantes mais antigos ficaram responsáveis por pesquisar  e planejar um sistema de irrigação com arduino.
Os grupos intermediários fizeram modificações nos projetos anteriores para melhorar os desempenhos dos programas: dado e labirinto .
Nossas atividades:
Eletrônica
Semáforo
Montagem virtual no tinkercad com a seguinte conexão:
led                  pino arduino
vermelho        13
amarelo          12
verde              11


Irrigador:
Pesquisas na internet

Dado eletrônico:
Montagem física com componentes eletrônicos e sucata

Programação:
Semáforo
Desenvolvido códigos a partir deste modelo


//portas para os leds

int ledVermelho=13;
int ledAmarelo=12;
int ledVerde=11;


void setup ()
{
  pinMode(ledVerde,OUTPUT);//define pinos como saida
  pinMode(ledVermelho,OUTPUT);
  pinMode(ledAmarelo,OUTPUT);

}

void loop()
{


mudar(4000); //muda de cor a 4 segundos
  
}


void mudar(int v){
  digitalWrite(ledVermelho, HIGH); // sets the digital pin 13 on
  delay(v);            // waits for a second
  digitalWrite(ledVermelho, LOW);  // sets the digital pin 13 off
  digitalWrite(ledAmarelo, HIGH);
  delay(v/2); 
  digitalWrite(ledAmarelo, LOW);  // sets the digital pin 13 off
  digitalWrite(ledVerde, HIGH);
  delay(v);
  digitalWrite(ledVerde, LOW);  // sets the digital pin 13 off
  

}
Irrigador:
Pesquisas  na internet.
labirinto de fio:
Pesquisa na internet sobre como tocar  músicas no buzzer com arduino.


Abraço a todos

quarta-feira, 16 de outubro de 2019

XVI - ENCONTRO: Medidor de distância (parte 2)

XVI - ENCONTRO:  MEDIDOR DE DISTÂNCIA  (parte 2)


Olá pessoal, neste encontro do dia 20/09/2019, Continuamos nosso projeto de "régua" com sensor ultrassônico, com o objetivo de indicar a medida aproximada até a distancia de  1 metro.

Nossa atividade
Eletrônica:
Montagem no tinkercad  adicionando um sensor de distância  ultrassônico



Programação:
Criamos uma função para medir distância
Revimos a função map()
Desenvolvemos o seguinte código:
const byte trigger_Pin = 3;  //Initialize I/O pins
const byte echo_Pin = 2;

unsigned long duration;  //Since PulseIn return an unsigned Long 
unsigned int distance;  //To save the distance


//configura leds
int led10=13;
int led20=12;
int led30=11;
int led40=10;
int led50=9;
int led60=8;
int led70=7;
int led80=6;
int led90=5;
int led100=4;

int d=100; //medição antiga

void setup()
{
  pinMode(led10, OUTPUT);
  pinMode(led20, OUTPUT);
  pinMode(led30, OUTPUT);
  pinMode(led40, OUTPUT);
  
  pinMode(led50, OUTPUT);
  pinMode(led60, OUTPUT);
  pinMode(led70, OUTPUT);
  pinMode(led80, OUTPUT);
  pinMode(led90, OUTPUT);
  pinMode(led100, OUTPUT);
  Serial.begin(9600);
  pinMode(echo_Pin, INPUT);      //Echo pin as Input
  pinMode(trigger_Pin, OUTPUT);   //Trigger pin as Output
  
}

void loop()
{

  medir();
  if(distance<d) apagarAll();

  acender(distance);
  d=distance; 
}

void acender(int valor)
{
  if(valor>=10) digitalWrite(led10,HIGH); 
  if(valor>=20) digitalWrite(led20,HIGH);
  if(valor>=30) digitalWrite(led30,HIGH); 
  if(valor>=40) digitalWrite(led40,HIGH);
  if(valor>=50) digitalWrite(led50,HIGH); 
  if(valor>=60) digitalWrite(led60,HIGH);
  if(valor>=70) digitalWrite(led70,HIGH); 
  if(valor>=80) digitalWrite(led80,HIGH);
  if(valor>=90) digitalWrite(led90,HIGH); 
  if(valor>=100) digitalWrite(led100,HIGH);
  
  
}
void apagarAll(){
  digitalWrite(led10,LOW); 
  digitalWrite(led20,LOW); 
  digitalWrite(led30,LOW); 
  digitalWrite(led40,LOW); 
  digitalWrite(led50,LOW); 
  digitalWrite(led60,LOW); 
  digitalWrite(led70,LOW); 
  digitalWrite(led80,LOW);
  digitalWrite(led90,LOW);
  digitalWrite(led10,LOW); 
}

//fumção medir distancia com hc sr04

void medir() {
  digitalWrite(trigger_Pin, LOW); //Make Trigger pin Low at start
  delay(1);
  digitalWrite(trigger_Pin, HIGH);
  delayMicroseconds(10);  //Make Trigger pin High for 10 uS to start sending the pulse
  digitalWrite(trigger_Pin, LOW);

  duration = pulseIn(echo_Pin, HIGH);  //Save the time it took ultrasonic wave to come back
  distance = duration * 0.017; //((340*100)/10e6)/2
/* Speed of the sound in Air = 340 m/S
 * multiply it by 100 to get the data in cm
 * divide by 1,000,000 as duration is measured in microseconds
 * divide by 2 as ultrasound signal travels to object and comes back
 */
  Serial.print("Distacia do sensor (cm) : ");
  Serial.println(distance);
  delay(100);
}


Abraço a todos

quinta-feira, 3 de outubro de 2019

XV - ENCONTRO: Régua com Sensor Ultrassônico (parte 1)

XV - ENCONTRO: Régua com Sensor Ultrassônico

Olá pessoal, neste encontro do dia 13/09/2019, Demos início a um novo projeto: uma "régua" com sensor ultrassônico, com o objetivo de indicar a medida aproximada até a distancia de  1 metro.
Inicialmente começamos com um indicador de 10 leds medindo de 10cm em 10 cm.

Nossa atividade
Eletrônica:
Montagem no tinkercad com leds, resistores e arduino com a seguinte configuração:
pino  led     valor (cm)
13      1        10
12      2        20
11      3        30
10      4        40
9        5        50
8        6        60
7        7        70
6        8        80
5        9        90
4       10       100




sábado, 21 de setembro de 2019

XIV - ENCONTRO: MIX projetos (parte 3)

XIV - ENCONTRO: MIX projetos (parte 3)

Olá turma, em nosso encontro do dia 06/09/2019, continuamos a montagem física do dado eletrônico, tanto na protoboard como com soldagem retirando peças de sucata. Paralelo a estas atividades houve um grupo realizando modelagem 3D e outro grupo realizou pesquisas na internet para possíveis projetos.

Nossas atividades
Eletrônica
Montagem física na protoboard do circuito do dado eletrônico.
Montagem com sucata de dado eletrônico: conexões e soldagens.

Internet: 
Pesquisa de circuitos com Arduíno.
Modelagem 3D (painel de leds e caixa).

Abraço a todos

segunda-feira, 2 de setembro de 2019

XIII - ENCONTRO: MIX projetos (parte 2)

XIII - ENCONTRO: MIX projetos  (parte 2)

Olá turma, em nosso encontro do dia 30/08/2019, Concluímos a remontagem do guindaste, iniciamos a montagem física do dado eletrônico, trabalhamos com lixo eletrônico (retiramos peças) e continuamos modelando a "cara" do nosso dado no software 3D.

Nossas atividades
Mecânica
Remontagem do Guindaste e testes








Eletrônica:
Dado: montagem física na protoboard



Retirando peças de sucata:



Abraço a todos



XII - ENCONTRO: MIX de projetos

XII- ENCONTRO - Intercalando projetos

Olá turma, neste encontro do dia 23/08/2019, finalizamos a parte virtual do nosso dado no Tinkercad, também avançamos em nosso projeto do guindaste. Modificamos sua estrutura de base giratória e alteramos o código de programação. 
Referente ao dado, nas próximas aulas pretendemos torná-lo num dado eletrônico, ou seja, fazer a montagem física.

Nossas atividades
Mecânica:
Guindaste: modificação no sistema de tração, adaptado polia de elástico e refeito a montagem.
Dado: projetos de caixa física para possível confecção na impressora 3D.

Eletrônica:
Montagem remanescentes do dado para os alunos novos na robótica

Programação:
Guindaste: Concluído programação base do guindaste.
Dado: Correção de bugs

Abraço a todos



quarta-feira, 21 de agosto de 2019

XI - ENCONTRO: DADO VIRTUAL (3ª parte)

XI - ENCONTRO: DADO VIRTUAL (3ª parte)

Olá turma, em nosso encontro do dia 16/08/2019 continuamos a montagem do nosso da do virtual e colocamos um botão para simular o lançamento de dado.
Pressiona-se o botão e quando ele é solto um número aleatório é gerado e exibido na face do dado (LEDs).
Outra parte do grupo de alunos continuou fazendo teste de montagens com o kit ATTO, vendo as possibilidades para a reconstrução do guindaste.

Nossas atividades
Mecânica;
Montagem de estruturais com o kit ATTO.

Eletrônica:
Inserção do botão no circuito: quando pressionado ele envia nível lógico 0  para o pino 6 do arduino, que ficou configurado com nível lógico 1.




Programação:
Configuramos o pino digital 6 do arduíno como modo de  entrada e mantivemos ele em estado alto através de um resistor interno de INPUT_PULLUP.
comando pinMode(pino, modo).
Para fazer a leitura do botão configuramo o pino 6 como digitalRead( ).

Para gerar o número aleatório usamos a função interna do linguagem do arduino chamada random(min, max).

Também criamos uma função para selecionar e mostrar o número:
void mostrarNum(int num){
  if(num==1)fazer1();
  if(num==2)fazer2();
  if(num==3)fazer3();
  if(num==4)fazer4();
  if(num==5)fazer5();
  if(num==6)fazer6();
}

Realizamos testes, segue abaixo o código, caso queiram realizar modificações, fique a vontade
Código

Abraço a todos




X - Encontro: Dado Virtual 2ª parte

X Encontro: Dado virtual 2ª parte

Olá turma, neste encontro do dia 09/08/2019, continuamos a programação do nosso dado. corrigimos bugs nos programas e fizemos correções em montagens que não estavam funcionando.
Como proposta para ampliar nossos conhecimentos foi proposto aos alunos mais avançados criar um acionamento sequencial do dado, ou seja, ele acende as faces do dado uma a uma no intervalo de 2 segundos.
Paralelo a esta atividade outro grupo de alunos retomou a montagem do guindaste
Nossas atividades
Programação
Trabalho com funções com e sem passagem de parâmetros.
Revisar  comandos do arduino:

delay( )

Em nosso programa do dado criamos uma função para mostrar sequencialmente as faces do dado em ordem crescente: do 1 até número 6
void sequenciar(int tempo){
 fazer1();
 delay(tempo);
 fazer2();
 delay(tempo);
 fazer3();
 delay(tempo);
 fazer4();
 delay(tempo);
 fazer5();
 delay(tempo);
 fazer6();
 delay(tempo); 
  
}



Abraço a todos


segunda-feira, 19 de agosto de 2019

Dado virtual - código

Programação Dado Virtual

Olá turma, código do dado com botão para vocês brincarem e alterarem.

/* Ao apertar o botão um número é sortedo e exibido

*/
//variaveis para os leds
int led1=7;
int led2=8;
int led3=9;
int led4=10;
int led5=11;
int led6=12;
int led7=13;
int num=6;

//configura botoes
int botao=6;


void setup()
{
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(botao,INPUT_PULLUP);

  
}

void loop()
{
  if (digitalRead(botao)==LOW){  
num=random(1,7);
    acenderTudo();
delay(200);
  apagarTudo();
    delay(200);
  }   
mostrarNum(num); 
}


//acender todos
void acenderTudo(){
  digitalWrite(led1, HIGH);
  digitalWrite(led2, HIGH);
  digitalWrite(led3, HIGH);
  digitalWrite(led4, HIGH);
  digitalWrite(led5, HIGH);
  digitalWrite(led6, HIGH);
  digitalWrite(led7, HIGH);
}

//apagar todos
void apagarTudo(){
  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
  digitalWrite(led6, LOW);
  digitalWrite(led7, LOW);
}

//piscar todos
void piscar(){
  acenderTudo();
  delay(500);
  apagarTudo();
  delay(500);
}
//fazer 1 (acender led4
void fazer1(){
  digitalWrite(led4, HIGH);
  delay(200);
}

//fazer 2 (acender led3  e led5)
void fazer2(){
  apagarTudo();
  digitalWrite(led3, HIGH);
  digitalWrite(led5, HIGH);
  delay(200);
}
void fazer3(){
  apagarTudo();
  digitalWrite(led3, HIGH);
  digitalWrite(led4, HIGH);
  digitalWrite(led5, HIGH);
  delay(200);
}
void fazer4(){
  apagarTudo();
  digitalWrite(led1, HIGH);
  digitalWrite(led3, HIGH);
  digitalWrite(led5, HIGH);
  digitalWrite(led7, HIGH);
  delay(200);
}
void fazer5(){
  apagarTudo();
  digitalWrite(led1, HIGH);
  digitalWrite(led3, HIGH);
  digitalWrite(led4, HIGH);
  digitalWrite(led5, HIGH);
  digitalWrite(led7, HIGH);
  delay(200);
}
void fazer6(){
  apagarTudo();
  digitalWrite(led1, HIGH);
  digitalWrite(led2, HIGH);
  digitalWrite(led3, HIGH);
  digitalWrite(led5, HIGH);
  digitalWrite(led6, HIGH);
  digitalWrite(led7, HIGH);
  delay(200);
}
void sequenciar(int tempo){
 fazer1();
 delay(tempo);
 fazer2();
 delay(tempo);
 fazer3();
 delay(tempo);
 fazer4();
 delay(tempo);
 fazer5();
 delay(tempo);
 fazer6();
 delay(tempo);   
}

//exibir

void mostrarNum(int num){
  if(num==1)fazer1();
  if(num==2)fazer2();
  if(num==3)fazer3();
  if(num==4)fazer4();
  if(num==5)fazer5();
  if(num==6)fazer6();
}

sexta-feira, 9 de agosto de 2019

IX - ENCONTRO: DADO VIRTUAL

IX - ENCONTRO: DADO VIRTUAL

Olá turma,, em nosso encontro do dia 02/08/2019 demos uma pausa em nosso guindaste para retomarmos conceitos de eletrônica e programação. Para tal iniciamos um projeto de dado virtual.
Nesta primeira etapa iniciamos a montagem do circuito no Tinkercad e a programação para acender os leds através do arduino.
Eletrônica
Montamos os leds na  protoboard e fizemos as conexões com os pinos do arduino.
Padronizamos:
led1---------------------pino 7
led2---------------------pino 8
led3---------------------pino 9
led4---------------------pino 10
led5---------------------pino 11
led6---------------------pino 12
led7---------------------pino 13

Veja imagem:

Colocamos 2 resistor de 220 ohms nos catodos e ligamos os anodos do leds diretamente nos pinos do arduino.
Caso a montagem fosse física preferível ligar os catodo diretamente no negativo e  em cada anodo colocar um resistor que se conectaria aos pinos do arduino.

Programação:
Criamos variáveis para  para acender cada um dos leds e depois criamos  funções para simular acender todos os leds, apagar todos e acender cada face do dado:
//variaveis para os leds
int led1=7;
int led2=8;
int led3=9;
int led4=10;
int led5=11;
int led6=12;
int led7=13;

void setup()
{
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
 
}

void loop()
{
  //digitalWrite(led4, HIGH);
 piscar();
// fazer1();
  
}
//acender todos
void acenderTudo(){
  digitalWrite(led1, HIGH);
  digitalWrite(led2, HIGH);
  digitalWrite(led3, HIGH);
  digitalWrite(led4, HIGH);
  digitalWrite(led5, HIGH);
  digitalWrite(led6, HIGH);
  digitalWrite(led7, HIGH);
}

//apagar todos
void apagarTudo(){
  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
  digitalWrite(led6, LOW);
  digitalWrite(led7, LOW);
}

//piscar todos
void piscar(){
  acenderTudo();
  delay(500);
  apagarTudo();
  delay(500);
}
//fazer 1 (acender led4
void fazer1(){
  digitalWrite(led4, HIGH);
  delay(200);
}

//fazer 2 (acender led3  e led5)
void fazer2(){
  apagarTudo();
  digitalWrite(led3, HIGH);
  digitalWrite(led5, HIGH);
  delay(200);
}
//Seguir o pad
void fazer3(){
  
}

Ficou como tarefa a turma terminar o código até a face 6

Abraço a todos

quinta-feira, 8 de agosto de 2019

VIII - Encontro: Projeto Guindaste 3ª parte

VIII - Encontro: Projeto Guindaste 3ª partemeu ip

Olá pessoal, neste encontro do dia 26/07/2019 continuamos realizando teste e modificações em nosso guindaste. Nos testes preliminares, levantar e abaixar foi positivo, porém o giro para as laterais ainda apresenta problemas.
Nossa atividades
Programação:
Teste do código
Mecânica:
Testes e modificações na estrutura


Abraço a todos

quinta-feira, 1 de agosto de 2019

VII - Encontro: Projeto Guindaste 2ª parte

VII - Encontro: Projeto Guindaste 2ª parte

Olá turma, neste encontro do dia 28/06/2019, continuamos a montagem mecânica do guindaste e paralelo a isto, outra parte da equipe pesquisou na internet o funcionamento de garras mecânicas e como criar comandos eletrônicos e de programação para os motores e botões do guindaste.

Nossas atividades
Mecânica
Montagem da base do guindaste e inserção dos motores
Teste com as roldanas
Pesquisa na internet sobre o funcionamento de garras mecânicas

Programação
Estudo de código para acionar os motores e leitura de potenciômetro

Abraço a todos

sexta-feira, 28 de junho de 2019

VI - Encontro: Projeto Guindaste 1ª parte

VI - Encontro: Projeto Guindaste

Olá turma, neste encontro do dia 07/06/2019 iniciamos um novo projeto,  escolhido pela turma.
A partir da escolha debatemos como um guindaste funciona e como poderíamos montá-lo. Após calorosa discussão fizemos pesquisa na internet para ver os modelos de guindaste e seu funcionamento e ao final brincamos com o Kit Atto para testarmos modelos de Guindaste.

Nossas atividades
Mecânica
Montagens e experimentos com a base estrutural ATTO.



Abraço a todos

V - Brincando com Arduíno parte final

Olá turma,
Neste encontro, dia 31/05/2019, finalizamos nosso circuito com fio realizando a montagem mecânica e interligando com Arduíno. Paralelo a montagem, parte do grupo continuou fazendo experimentos mecânicos com  a parte estrutural do kit Atto.

Nossas atividades: 
Eletro-mecânico
 Construção de caminho com fio,
 Soldagem das partes elétricas.
 Fixação em base de papelão

Realização de testes







Abraço a todos