Curso de Arduino #08 - Led RGB, Módulo Led RGB

Поделиться
HTML-код
  • Опубликовано: 8 фев 2025
  • Curso de Arduino #08 - Led RGB, Módulo Led RGB
    Link deste vídeo: • Curso de Arduino #08 -...
    Na aula de hoje do nosso curso de Arduino você vai aprender como trabalhar e com o led RGB e com o módulo RGB, vamos implementar um código para mudar a cor do led ao pressionaor um pucsbutton (botão). Todo este procedimento será feito com funções.
    Nosso curso de Arduino online gratuito, além de ser um curso bsatante completo é a melhor forma de você aprender sobre Arduino.
    Arduíno é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel com suporte de entrada/saída embutido, uma linguagem de programação padrão que é essencialmente C/C++. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por novatos e profissionais. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas.
    Pode ser usado para o desenvolvimento de objetos interativos independentes, ou ainda para ser conectado a um computador hospedeiro. Uma típica placa Arduino é composta por um controlador, algumas linhas de E/S digital e analógica, além de uma interface serial ou USB, para interligar-se ao hospedeiro, que é usado para programá-la e interagi-la em tempo real. Ela em si não possui qualquer recurso de rede, porém é comum combinar um ou mais Arduinos deste modo, usando extensões apropriadas chamadas de shields. A interface do hospedeiro é simples, podendo ser escrita em várias linguagens. A mais popular é a Processing, mas outras que podem comunicar-se com a conexão serial são: Max/MSP, Pure Data, SuperCollider, ActionScript e Java. Em 2010 foi realizado um documentário sobre a plataforma chamado Arduino: The Documentary.
    Além do curso de Arduino aqui em nosso canal você vai encontrar vários outros cursos, sempre com foro em informática avançada, todos cursos completamente gratuitos e com uma didática única que você só encontra aqui no CFB Cursos.
    Site Oficial do Arduino
    www.arduino.cc/
    Link direto para download do software
    www.arduino.cc...
    Site do canal
    cfbcursos.com.br
    Colabore com nosso canal:
    Qualquer valor usando o PIX: pixcfbcursos@gmail.com
    Página de cursos no site
    cfbcursos.com.b...
    e-mails:
    perguntas@cfbcursos.com.br
    canalfessorbruno@gmail.com
    Outros Links:
    Vídeo Colabore com nosso canal: • Video
    Canal youtube: / canalfessorbruno
    Instagram: cfbcursos ou @cfbcursos
    Twitter: @cfbcursos
    Facebook: canalfessorbruno
    RUclips: / canalfessorbruno
    vakinhas
    www.vakinha.co...
    www.vakinha.co...
    Produção: Bruno P. Campos / CFB Cursos
    Edição: Bruno P. Campos / CFB Cursos
    Licença padrão do RUclips
    #cfbcursos #arduino #automacaoarduino #automacao #programacaoarduino

Комментарии • 69

  • @rodrigodias4066
    @rodrigodias4066 4 месяца назад

    vc é o cara, professor Bruno!!! tmj

  • @josefinamor2460
    @josefinamor2460 4 года назад +15

    #define ledR 2
    #define ledB 3
    #define ledG 4
    #define maximo 7
    #define botao 7
    int btnclicado = 0;
    int btnliberado = 0;
    int ciclo = 0;
    void vermelho(){
    digitalWrite(ledR,1);
    digitalWrite(ledB,0);
    digitalWrite(ledG,0);
    }
    void azul(){
    digitalWrite(ledR,0);
    digitalWrite(ledB,1);
    digitalWrite(ledG,0);
    }
    void verde(){
    digitalWrite(ledR,0);
    digitalWrite(ledB,0);
    digitalWrite(ledG,1);
    }
    void amarelo(){
    digitalWrite(ledR,1);
    digitalWrite(ledB,0);
    digitalWrite(ledG,1);
    }
    void branco(){
    digitalWrite(ledR,1);
    digitalWrite(ledB,1);
    digitalWrite(ledG,1);
    }
    void magenta(){
    digitalWrite(ledR,1);
    digitalWrite(ledB,1);
    digitalWrite(ledG,0);
    }
    void ciano(){
    digitalWrite(ledR,0);
    digitalWrite(ledB,1);
    digitalWrite(ledG,1);
    }
    void trocaLed(){
    if(ciclo == 0){
    vermelho();

    } else if(ciclo == 1){
    azul();

    }else if(ciclo == 2){
    verde();

    }else if(ciclo == 3){
    amarelo();

    }else if(ciclo == 4){
    branco();

    }else if(ciclo == 5){
    magenta();

    }else if(ciclo == 6){
    ciano();
    }

    ciclo++;
    if(ciclo > maximo - 1){
    ciclo = 0;
    }
    }
    void checabtn(){
    if(digitalRead(botao)== HIGH){
    btnclicado = 1;
    btnliberado = 0;
    }else {
    btnliberado = 1;
    }
    if((btnclicado == 1 and btnliberado == 1)){
    btnclicado = 0;
    btnliberado = 0;
    trocaLed();
    }
    }
    void setup(){

    pinMode(ledR, OUTPUT);
    pinMode(ledB, OUTPUT);
    pinMode(ledG, OUTPUT);
    pinMode(botao, INPUT);
    }
    void loop(){
    checabtn();
    }

  • @Investido1122
    @Investido1122 3 месяца назад

    Eu fiz diferente eu peguei 😊a base do código do semaforo da aula 4 aí eu alterei ele e aí dps liguei ko led rgb aí ele ficou variando de cor entre vermelho verde azul ficou mt top

  • @sribgui
    @sribgui Год назад

    Agradeço demais pelo seu trabalho!

  • @dirceudonisseli3025
    @dirceudonisseli3025 5 лет назад +1

    Led RGB _Legal,educativo e Rico,Grande Bruno.

  • @jeancarloskessler1112
    @jeancarloskessler1112 3 года назад +1

    Professor, parabéns pelas aulas, fiz todo o código com todas as cores e implantei a opção de led apagado!!!Obrigado pelo curso.

    • @nelsonsantana3280
      @nelsonsantana3280 3 года назад +1

      Como você fez para apagar o Led ? Não consegui implementar.

    • @RobsonDiasFotografia
      @RobsonDiasFotografia 7 месяцев назад

      @@nelsonsantana3280 Cara, beleza? Basta criar uma função para apagar todos os led's e chamar a função onde desejar. Por exemplo:
      void apagarLeds(){
      digitalWrite(ledVermelhoPino, LOW);
      digitalWrite(ledAzulPino, LOW);
      digitalWrite(ledVerdePino, LOW);
      }

  • @sitiodomarujo9555
    @sitiodomarujo9555 3 года назад

    to tão empolgado que já indiquei esse curso pra meio mundo.

  • @AlfredoCorrea-lk4gn
    @AlfredoCorrea-lk4gn Год назад

    Excelente, obrigado amigo.

  • @ivoneideduarte1648
    @ivoneideduarte1648 6 лет назад +2

    Adorei a aula!

  • @cleberdossantos2035
    @cleberdossantos2035 2 года назад

    kkkkkkkkk, eu ri no final, quando ele falou "gente, olha que coisa fácil", depois de criar varias linhas de código

  • @hithunt2775
    @hithunt2775 3 года назад

    Obrigadao fessor bruno, voce ajuda muuuito a comunidade que quer aprender

  • @jacobson994
    @jacobson994 4 года назад +1

    Show

  • @eudes214
    @eudes214 Год назад

    Ótima aula 😊

  • @Neneribeiraopreto
    @Neneribeiraopreto 6 лет назад +2

    Muito bom!

    • @cfbcursos
      @cfbcursos  6 лет назад +1

      Luis Carlos opa, valeu novamente

  • @PoppyJoker
    @PoppyJoker 6 лет назад +1

    Olha esses cortes bonitos com jcut hehe Parabéns professor, amo essas aulas

    • @cfbcursos
      @cfbcursos  6 лет назад

      Kkkkkk, viu só, valeu a dica...

  • @gidaltidasilvaferreirasilv6783
    @gidaltidasilvaferreirasilv6783 2 года назад

    Parabéns excelente

  • @edirleiamorim
    @edirleiamorim 3 года назад

    Parabéns excelente vídeo

  • @aureni
    @aureni 4 года назад +3

    O que atrapalha um pouco quando trabalhamos com push-button é o efeito switch-bouncing, que pode ser solucionado adicionando no código uma função com delay, evitando assim que um único toque seja interpretado na entrada I/O como vários cliques.

    • @cfbcursos
      @cfbcursos  4 года назад +1

      Sim, eu mostro no curso como podemos resolver isso

  •  6 лет назад

    Dava para fazer um novo vídeo somente refatorando o código, por exemplo, transformando o ciclo em um vetor de inteiros e cada posição contendo um valor que corresponde a uma cor específica. Além disso, criar uma função que recebe o valor de uma cor e exibe ela (basicamente unir as funções vermelho(), verde() e azul() em uma única função).
    De resto, vídeo muito massa. Nunca nem imaginei usar classes com Arduino o.O Ansioso pela próxima aula.

    • @cfbcursos
      @cfbcursos  6 лет назад +5

      Sim sim, dá pra fazer de muitas formas, porém, eu preciso fazer de uma forma mais didática, mas você está certíssimo

  • @sakahami8840
    @sakahami8840 4 года назад +1

    No caso dos resistores, não basta ligar um resistor no cátodo ?

  • @josejussiepereiracristovao9594
    @josejussiepereiracristovao9594 7 месяцев назад

    Sem o negativo fica difícil né meu patrão kkkk

  • @georgeokami7227
    @georgeokami7227 2 года назад +1

    Para quem tiver fazendo no tinkercad e tiver com problema na hora do incremento do ciclo, tenta mudar o maximo de "#define maximo 3" para "int maximo=3" por alguma razão o compilador não tá fazendo uma comparação normal.

  • @fabiojesuscarmoresende5924
    @fabiojesuscarmoresende5924 8 месяцев назад +1

    Olá , tudo bem? estou acompanhando seu curso de Arduino , quero fazer um projeto de automação rural, eu preciso ligar uma bomba d'água, é muito complicado?

    • @RobsonDiasFotografia
      @RobsonDiasFotografia 7 месяцев назад

      Cara, beleza? Acredito que não terá grandes dificuldades. Pense apenas se deseja que a bomba terá uma liberação total da água ou fracionada. Pelo que me lembro usando a bomba solenoide terá apenas o estado ligado e desligado. E usando um motor para ir fechando a passagem da água como um registro poderá controlar o quanto de água irá passar

  • @fabioandreoliveira1347
    @fabioandreoliveira1347 3 года назад

    O que acontece se nao colocar resistor no botao??? , professor responde essa fessor

  • @Jairconfeiteiro100
    @Jairconfeiteiro100 4 года назад +1

    Bom dia professor, gostaria de saber porque no meu notebook o thinkercad não aparece todos os componentes do arduíno, não consigo montar projetos com RFID, Bluetooth, ESP porque não consigo encontrar esses e outros componentes no thinkercad. Me ajuda, por favor, obrigado.

  • @freitasassistec
    @freitasassistec 4 года назад +2

    #define botao 2
    #define vermelho 3
    #define verde 5
    #define azul 4
    int estado;
    int fase;
    int estado1;
    void setup()
    {
    pinMode(botao, INPUT);
    pinMode(vermelho, OUTPUT);
    pinMode(verde, OUTPUT);
    pinMode(azul, OUTPUT);

    fase = 1;

    estado1 = digitalRead(botao);
    }
    void loop()
    {
    estado = digitalRead(botao);

    if ((estado == HIGH) && (estado1 == LOW)) {

    if (fase < 6) {
    fase = fase + 1;
    } else {
    fase = 1;
    }
    }
    estado1 = estado;


    if (fase == 1) {
    digitalWrite(vermelho, HIGH);
    digitalWrite(verde, LOW);
    digitalWrite(azul, LOW);

    }

    if (fase == 2) {
    digitalWrite(vermelho, LOW);
    digitalWrite(verde, HIGH);
    digitalWrite(azul, LOW);

    }

    if (fase == 3) {
    digitalWrite(vermelho, LOW);
    digitalWrite(verde, LOW);
    digitalWrite(azul, HIGH);

    }
    if (fase == 4) {
    digitalWrite(vermelho, LOW);
    digitalWrite(verde, HIGH);
    digitalWrite(azul, HIGH);

    }

    if (fase == 5) {
    digitalWrite(vermelho, HIGH);
    digitalWrite(verde, HIGH);
    digitalWrite(azul, LOW);

    }
    if (fase == 5) {
    digitalWrite(vermelho, HIGH);
    digitalWrite(verde, LOW);
    digitalWrite(azul, HIGH);

    }
    if (fase == 6) {
    digitalWrite(vermelho, HIGH);
    digitalWrite(verde, HIGH);
    digitalWrite(azul, HIGH);

    }

    delay(1);
    }

  • @RobsonDiasFotografia
    @RobsonDiasFotografia 7 месяцев назад

    Falaaa moçadaaaa kkkk
    Montei meu código buscando uma lógica mais simples (acredito eu) e também inclui uma função para demonstrar as cores possíveis para o usuário no metodo setup() para executar apenas uma vez. Segue o código:
    /*Aula 8 - ruclips.net/video/J-AIyn958RE/видео.html
    Ideia do programa 2:
    - ao pressionar o botao 1 vez o led ira acender uma cor e apagar as outras do led RGB
    - e a cada vez que for pressionado vai acender a proxima e apagar as outras, onde:
    -a porta PWM 5 ao receber sinal de entrada dos 5v (INPUT) e passara a ter o estado de HIGHT - botao pressionado
    -a porta PWM 5 ao receber o sinal de entrada de 0v do terra/negativo do resistor tera o estado LOW - botao nao pressionado

    Montagem na protoboard:
    Para o Led RGB:
    -cor vermelho: conectar o jumper na porta digital 4 da placa e na j2 da protoboard
    -resistor....: conectar o resistor de 150 ohms na j3 (catodo) e no negativo da protoboard
    -cor azul....: conectar o jumper na porta digital 3 da placa e na j4 da protoboard
    -cor verde...: conectar o jumper na porta digital 2 da placa e na j5 da protoboard
    Para o botao:
    -conectar o botao com o o terminal 1b na f8, terminal 2b na f10, terminal 1a na e8 e terminal 2a na e10 da protoboard
    -conectar o resistor de 150 ohms com o terminal na b10 e no negativo da protoboard
    -conectar o jumper no positivo e a outra ponta no a8 da protoboard
    -conectar o jumper GND da placa na linha do negativo da protoboard
    -conectar o jumer 5v da placa na linha do positivo da protoboard
    */
    //:: CONSTANTES E VARIAVIES GLOBAL ::
    #define btnPino 5
    #define ledVermelhoPino 4
    #define ledAzulPino 3
    #define ledVerdePino 2
    #define ledVermelhoAzul 43
    #define ledVermelhoVerde 42
    #define ledAzulVerde 32
    #define tmpDemoLed 1000
    int botao_Pres = 0;
    int botao_Solto = 0;
    int led_aceso_pino = 0;
    //:: METODOS PRINCIPAIS ::
    void setup() {
    pinMode(btnPino, INPUT);
    pinMode(ledVermelhoPino, OUTPUT);
    pinMode(ledAzulPino, OUTPUT);
    pinMode(ledVerdePino, OUTPUT);
    demoLed();
    }
    void loop() {

    if(digitalRead(btnPino) == HIGH){
    botao_Pres = 1;
    botao_Solto = 0;
    }
    else{
    botao_Solto = 1;
    }

    keyUp();
    }
    //:: METODOS AUXILIARES ::
    void demoLed(){

    acenderLed(ledVermelhoPino);
    delay(tmpDemoLed);
    apagarLeds();
    acenderLed(ledAzulPino);
    delay(tmpDemoLed);
    apagarLeds();
    acenderLed(ledVerdePino);
    delay(tmpDemoLed);
    apagarLeds();
    acenderLed(ledVermelhoPino);//vermelho + azul = rosado
    acenderLed(ledAzulPino);
    delay(tmpDemoLed);
    apagarLeds();
    acenderLed(ledVermelhoPino);//vermelho + verde = amarelado
    acenderLed(ledVerdePino);
    delay(tmpDemoLed);
    apagarLeds();
    acenderLed(ledAzulPino);//azul + verde = azul esverdeado
    acenderLed(ledVerdePino);
    delay(tmpDemoLed);
    apagarLeds();
    }
    void keyUp(){

    if(botao_Pres == 1 and botao_Solto == 1){

    botao_Pres = 0;
    botao_Solto = 0;
    trocaLed();
    }
    }
    void trocaLed(){
    switch (led_aceso_pino){
    case 0:
    led_aceso_pino = ledVermelhoPino;
    break;
    case ledVermelhoPino:
    led_aceso_pino = ledAzulPino;
    break;
    case ledAzulPino:
    led_aceso_pino = ledVerdePino;
    break;
    case ledVerdePino:
    led_aceso_pino = ledVermelhoAzul;
    break;
    case ledVermelhoAzul:
    led_aceso_pino = ledVermelhoVerde;
    break;
    case ledVermelhoVerde:
    led_aceso_pino = ledAzulVerde;
    break;
    default:
    led_aceso_pino = 0;
    }

    apagarLeds();
    acenderLed(led_aceso_pino);
    }
    void apagarLeds(){
    digitalWrite(ledVermelhoPino, LOW);
    digitalWrite(ledAzulPino, LOW);
    digitalWrite(ledVerdePino, LOW);
    }
    void acenderLed(int corLedPino){

    //Verifica se e para acender uma combinacao de cores ou 1 cor (default)
    switch (corLedPino){
    case ledVermelhoAzul:
    digitalWrite(ledVermelhoPino, HIGH);
    digitalWrite(ledAzulPino, HIGH);
    break;
    case ledVermelhoVerde:
    digitalWrite(ledVermelhoPino, HIGH);
    digitalWrite(ledVerdePino, HIGH);
    break;
    case ledAzulVerde:
    digitalWrite(ledAzulPino, HIGH);
    digitalWrite(ledVerdePino, HIGH);
    break;
    default:
    digitalWrite(corLedPino, HIGH);
    }
    }

  • @eliseusilvalima9204
    @eliseusilvalima9204 Год назад

    Oi, obrigado pela aula. Eu estou com problemas para fazer o led mudar de cor no tinkercad, eu coloco em iniciar simulação e o led só fica verde, por favor me ajude

    • @eliseusilvalima9204
      @eliseusilvalima9204 Год назад

      Consegui resolver esse problema, agora estou com outro problema, a cor azul não aparece no tinkercad

    • @eliseusilvalima9204
      @eliseusilvalima9204 Год назад

      Já resolve esse problema, era só o fio que o led RGB não reconheceu

  • @danielfiel25
    @danielfiel25 4 года назад +3

    Boa noite!! fiz o código exatamente igual porem o led fica aceso logo que ligo o arduino, no tinkercad também

    • @RobsonDiasFotografia
      @RobsonDiasFotografia 7 месяцев назад

      Cara, beleza? Creio que tenha colocado o resistor do botão como Pull Up. Dá uma conferida na aula 7, mas o resumo é:
      -resistor ligado na linha do GND o led so acende se pressionar o botao
      -resistor ligado na linha dos 5v o led fica aceso e ao pressionar o botao o led apaga

  • @PauloHenrique-mo3mj
    @PauloHenrique-mo3mj 3 года назад

    Boa tarde professor
    Não meu código deu este erro no loop
    Uma definição de função nao É permitida aqui antes

  • @GabrielTrindade-uj2gi
    @GabrielTrindade-uj2gi 10 месяцев назад

    Eu não sei pra vocês, mas pra mim a função verificaBtn simplesmente não funciona no TinkerCad

  • @yagamiprogrammer7792
    @yagamiprogrammer7792 6 лет назад

    Achei que o led ia queimar ou dar problema porque você tinha esquecido do gnd. Ai lembrei dos resistores no módulo, ufa..

    • @cfbcursos
      @cfbcursos  6 лет назад +1

      kkk, mas neste caso não dá problema pq não tem corrente, se não tiver gnc (terra) conectado não tem corrente, entendeu?

    • @yagamiprogrammer7792
      @yagamiprogrammer7792 6 лет назад

      Que mancada minha aqui, esqueci desse detalhe kkkkkkkkkkkkkkkkkkkk

  • @lucasantonio3935
    @lucasantonio3935 4 года назад +1

    Olá professor, primeiramente parabéns pelo trabalho. Estou tentando implementar nesse código um potenciometro pra controlar a luminosidade do led, o problema é q ela deve ser em tempo real mas o troca led só inicia o ciclo quando o botão é pressionado, ou seja, tudo oq consegui fazer até agora é alterar a corrente do potenciometro pra só no próximo ciclo a luminosidade ser alterada.

    • @lucasantonio3935
      @lucasantonio3935 4 года назад

      Acabei de conseguir, implementei uma função chamada acende q recebe o ledR ou o ledG ou o B de acordo com o if do troca led e então dentro dela é alterado o brilho e retornado para o loop.

  • @PoppyJoker
    @PoppyJoker 6 лет назад

    Professor, ensina a gente a fazer um joke vírus, vai ser legal

    • @cfbcursos
      @cfbcursos  6 лет назад +1

      EdTube kkkk, tá querendo trollar alguém...

  • @antoniocarloscosta8901
    @antoniocarloscosta8901 4 года назад +1

    Boa noite Professor, não estou conseguindo adicionar outras cores nessa aula poderia me ajudar no código de programação.
    Grato.

    • @willianwcz
      @willianwcz 4 года назад

      Até consegui adicionar, só não estou conseguindo faze-las acender...deve ser algum problema com meu contador da variavel MAXIMO, mas não estou conseguindo resolver

    • @leandroinfoteccell7148
      @leandroinfoteccell7148 4 года назад

      @@willianwcz se adicionar mais uma fica +0 ou sem, se adicionar mais duas fica +1 e assim vai

  • @EudSZ
    @EudSZ 6 лет назад +3

    Professor, fiz a implementação das demais cores, mas gostaria de saber como faço para que após a ultima cor o próximo clique do botão leve a um loop automático entre as cores?

    • @RobsonDiasFotografia
      @RobsonDiasFotografia 7 месяцев назад

      Cara, beleza? Não sei se entendi muito bem, mas poderá acrescentar uma função que vai alterando as cores depois de 1 segundo, por exemplo (usando o delay). E nesta funcao poderá até combinar as cores acesas. No meu código criei uma função chamada demoLed() que é chamada no setup para mostrar para o usuários as cores possíveis e depois da última cor chamo outra função para apagar todos os leds (LOW) e em seguida vai para o loop() para o usuário ir pressionando o botão. Ex:
      //:: CONSTANTES E VARIAVIES GLOBAL ::
      #define btnPino 5
      #define ledVermelhoPino 4
      #define ledAzulPino 3
      #define ledVerdePino 2
      #define ledVermelhoAzul 43
      #define ledVermelhoVerde 42
      #define ledAzulVerde 32
      #define tmpDemoLed 1000
      int botao_Pres = 0;
      int botao_Solto = 0;
      int led_aceso_pino = 0;
      void apagarLeds(){
      digitalWrite(ledVermelhoPino, LOW);
      digitalWrite(ledAzulPino, LOW);
      digitalWrite(ledVerdePino, LOW);
      }
      void demoLed(){

      acenderLed(ledVermelhoPino);
      delay(tmpDemoLed);
      apagarLeds();
      acenderLed(ledAzulPino);
      delay(tmpDemoLed);
      apagarLeds();
      acenderLed(ledVerdePino);
      delay(tmpDemoLed);
      apagarLeds();
      acenderLed(ledVermelhoPino);//vermelho + azul = rosado
      acenderLed(ledAzulPino);
      delay(tmpDemoLed);
      apagarLeds();
      acenderLed(ledVermelhoPino);//vermelho + verde = amarelado
      acenderLed(ledVerdePino);
      delay(tmpDemoLed);
      apagarLeds();
      acenderLed(ledAzulPino);//azul + verde = azul esverdeado
      acenderLed(ledVerdePino);
      delay(tmpDemoLed);
      apagarLeds();
      }

  • @pedrolucasoliveiradasilva1253
    @pedrolucasoliveiradasilva1253 2 года назад

    #define ledG 7
    int ligado=0;
    void setup()
    {
    pinMode(INPUT,btn);
    pinMode(OUTPUT,ledG);
    pinMode(OUTPUT,ledB);
    pinMode(OUTPUT,ledR);
    }
    void loop()
    {
    if(digitalRead(btn)==HIGH){
    delay(500);

    switch(ligado){

    case 0:
    digitalWrite(ledG,HIGH);
    ligado=1;
    break;

    case 1:
    digitalWrite(ledG,LOW);
    digitalWrite(ledB,HIGH);
    ligado=2;
    break;

    case 2:
    digitalWrite(ledB,LOW);
    digitalWrite(ledR,HIGH);
    ligado=0;
    break;

    }


    }

    }

  • @firsthokage39
    @firsthokage39 2 года назад

    Alguém sabe porque o ciclo é -1? Eu sei que o ciclo começa com zero, o máximo não seria ir até 2 e depois voltar para o zero ?

  • @GabrielOliveira-kg8xf
    @GabrielOliveira-kg8xf 6 лет назад +2

    Como é o nome dessa plataforma que você utiliza pra programação do arduino? 😅

    • @cfbcursos
      @cfbcursos  6 лет назад +2

      Gabriel Oliveira Arduino 😂

    • @GabrielOliveira-kg8xf
      @GabrielOliveira-kg8xf 6 лет назад +1

      CFBCursos acho que me referi errado. Quis dizer o software que você utiliza no video para a programação no arduino

    • @cfbcursos
      @cfbcursos  6 лет назад +2

      Arduino mesmo, é um software proprio do Arduino, segue o link
      www.arduino.cc/en/Main/Software

  • @andreymarino2374
    @andreymarino2374 4 года назад

    Qual a diferença de um led RGB e um modulo RGB???

    • @cfbcursos
      @cfbcursos  4 года назад

      O módulo já vem com o LED montado e as conexões já feitas com todos os componentes para que o LED funcione

    • @andreymarino2374
      @andreymarino2374 4 года назад

      @@cfbcursos muito obrigado

  • @alessandrasilva13
    @alessandrasilva13 11 месяцев назад

    Fiz o código abaixo mas não deu certo, o vermelho, verde, azul e ciano acendem mas o magenta, amarelo e branco não acendem, ficam sempre vermelho, se alguém puder ajudar
    #define ledR 2
    #define ledG 3
    #define ledB 4
    #define botao 7
    #define maximo 7
    int btnclicado=0;
    int btnliberado=0;
    int ciclo=0;
    void vermelho (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,0);
    digitalWrite(ledB,0);
    }
    void verde (){
    digitalWrite(ledR,0);
    digitalWrite(ledG,1);
    digitalWrite(ledB,0);
    }
    void azul (){
    digitalWrite(ledR,0);
    digitalWrite(ledG,0);
    digitalWrite(ledB,1);
    }
    void amarelo (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,1);
    digitalWrite(ledB,0);
    }
    void ciano (){
    digitalWrite(ledR,0);
    digitalWrite(ledG,1);
    digitalWrite(ledB,1);
    }
    void magenta (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,0);
    digitalWrite(ledB,1);
    }
    void branco (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,1);
    digitalWrite(ledB,1);
    }
    void trocaLed (){
    if (ciclo==0){
    vermelho();
    }else if(ciclo==1){
    verde();
    }else if(ciclo==2){
    azul();
    }else if(ciclo==3){
    amarelo();
    }else if(ciclo==4){
    ciano();
    }else if(ciclo==5){
    magenta();
    }else if(ciclo==6){
    branco();
    }
    ciclo++;
    if(ciclo>maximo-1){
    ciclo=0;
    }
    }
    void verificaBtn(){
    if(digitalRead(botao)==HIGH){
    btnclicado=1;
    btnliberado=0;
    }else{
    btnliberado=1;
    }
    if((btnclicado==1)and(btnliberado==1)){
    btnclicado=0;
    btnliberado=0;
    trocaLed();
    }
    }
    void setup(){
    pinMode(ledR,OUTPUT);
    pinMode(ledG,OUTPUT);
    pinMode(ledB,OUTPUT);
    pinMode(botao,INPUT);
    }
    void loop(){
    verificaBtn();
    }

  • @ivoneideduarte1648
    @ivoneideduarte1648 6 лет назад +1

    Tentei fazer o exercício porém no tinkercar funciona com todas as cores do led rgb e na prática não, confere meu código.
    #define ledR 2
    #define ledG 4
    #define ledB 3
    #define btn 7
    #define maximo 6 //Cores configuradas
    int btn_Clicado = 0;
    int btn_Liberado = 0;
    int ciclo = 0;
    void amarelo(){
    //Amarelo - RGB (255,255,0);
    digitalWrite(ledR, HIGH);
    digitalWrite(ledG, HIGH);
    digitalWrite(ledB, LOW);
    }
    void magenta(){
    //Magenta - RGB (255,0,255);
    digitalWrite(ledR, HIGH);
    digitalWrite(ledG, LOW);
    digitalWrite(ledB, HIGH);
    }
    void ciano(){
    //Ciano - RGB (0,255,255);
    digitalWrite(ledR, LOW);
    digitalWrite(ledG, HIGH);
    digitalWrite(ledB, HIGH);
    }
    void vermelho(){
    //Vermelho - RGB (255,0,0);
    digitalWrite(ledR, HIGH);
    digitalWrite(ledG, LOW);
    digitalWrite(ledB, LOW);
    }
    void verde(){
    //Verde - RGB (0,255,0);
    digitalWrite(ledR, LOW);
    digitalWrite(ledG, HIGH);
    digitalWrite(ledB, LOW);
    }
    void azul(){
    //Azul - RGB (0,0,255);
    digitalWrite(ledR, LOW);
    digitalWrite(ledG, LOW);
    digitalWrite(ledB, HIGH);
    }
    void setup() {
    pinMode(ledR, OUTPUT);
    pinMode(ledG, OUTPUT);
    pinMode(ledB, OUTPUT);
    pinMode(btn, INPUT);
    }
    void troca_Led(){
    if (ciclo == 1){
    vermelho();
    }
    else if (ciclo == 2){
    verde();
    }
    else if (ciclo == 3){
    azul();
    }
    else if (ciclo == 5){
    amarelo();
    }
    else if (ciclo == 6){
    magenta();
    }
    else if (ciclo == 7){
    ciano();
    }
    ciclo++;
    if(ciclo > maximo - 1){
    ciclo = 0;
    }
    }
    void verifica_Btn(){
    if(digitalRead(btn) == HIGH){
    btn_Clicado = 1;
    btn_Liberado = 0;
    } else {
    btn_Liberado = 1;
    }
    if((btn_Clicado == 1) && (btn_Liberado == 1)){
    btn_Clicado = 0;
    btn_Liberado = 0;
    troca_Led();
    }
    }
    void loop() {
    verifica_Btn();
    }

    • @willianwcz
      @willianwcz 4 года назад

      Voce pulou a contagem de "4" no incremento da variavel CICLO na troca de cores

  • @alexnascimento4730
    @alexnascimento4730 Год назад

    #define ledR 2
    #define ledG 3
    #define ledB 4
    #define botao 7
    #define maximo 6
    int btnclicado=0;
    int btnliberado=0;
    int ciclo=0;
    void vermelho (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,0);
    digitalWrite(ledB,0);
    }
    void verde (){
    digitalWrite(ledR,0);
    digitalWrite(ledG,1);
    digitalWrite(ledB,0);
    }
    void azul (){
    digitalWrite(ledR,0);
    digitalWrite(ledG,0);
    digitalWrite(ledB,1);
    }
    void va (){
    digitalWrite(ledR,0);
    digitalWrite(ledG,1);
    digitalWrite(ledB,1);
    }
    void vv (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,1);
    digitalWrite(ledB,0);
    }
    void av (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,0);
    digitalWrite(ledB,1);
    }
    void todos (){
    digitalWrite(ledR,1);
    digitalWrite(ledG,1);
    digitalWrite(ledB,1);
    }
    void trocaLed (){
    if (ciclo==0){
    vermelho();
    }else if(ciclo==1){
    verde();
    }else if(ciclo==2){
    azul();
    }else if(ciclo==3){
    vv();
    }else if(ciclo==4){
    av();
    }else if(ciclo==5){
    va();
    }else if(ciclo==6){
    todos();
    }
    ciclo++;
    if(ciclo>maximo-1){
    ciclo=0;
    }
    }
    void verificaBtn(){
    if(digitalRead(botao)==HIGH){
    btnclicado=1;
    btnliberado=0;
    }else{
    btnliberado=1;
    }
    if((btnclicado==1)and(btnliberado==1)){
    btnclicado=0;
    btnliberado=0;
    trocaLed();
    }
    }
    void setup(){
    pinMode(ledR,OUTPUT);
    pinMode(ledG,OUTPUT);
    pinMode(ledB,OUTPUT);
    pinMode(botao,INPUT);
    }
    void loop(){
    verificaBtn();
    }