还没吃饭 · 2022年12月12日 · 河南

GD32F427开发板试用+唱歌跳舞主控4加非接触式红外传感器

接上篇《GD32F427开发板试用+唱歌跳舞主控3舞蹈流畅度调试》喝完水,再加个非接触式红外传感器。先控制一下试试。

https://www.bilibili.com/vide...

#include "gd32f4xx.h"
#include "gd32f427v_start.h"
#include "systick.h"
#include <stdio.h>

void tiaowu()  //开始跳舞    
    {       
        int fanyengshjian =10;//设置舞蹈动作连贯流畅度
        
                          for(int i=0;i<fanyengshjian;i++)

                       {    

                     gpio_bit_set(GPIOC, GPIO_PIN_7);//1开始跳舞
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_7);
                     delay_1ms(19);
                    
                     }        
                                    //     delay_1ms(200);
                   for(int i=0;i<fanyengshjian;i++)

                      {                                 
                     gpio_bit_set(GPIOC, GPIO_PIN_11);//2开始跳舞
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_11);
                     delay_1ms(18);
                                     
                     }        
                  for(int i=0;i<fanyengshjian;i++)

                       {    
                     gpio_bit_set(GPIOC, GPIO_PIN_3);//3开始跳舞第二组动作
                     delay_1ms(3);
                     gpio_bit_reset(GPIOC, GPIO_PIN_3);
                     delay_1ms(18);
                    
                     }    
                  //    delay_1ms(200);                                        
                      for(int i=0;i<fanyengshjian;i++)

                      {                                 
                     gpio_bit_set(GPIOC, GPIO_PIN_1);//4开始跳舞第二组动作
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_1);
                     delay_1ms(19);
                                            
                                     
                     }    
                    for(int i=0;i<fanyengshjian;i++)

                      {                                 
                     gpio_bit_set(GPIOC, GPIO_PIN_11);//2开始跳舞第二组动作
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_11);
                     delay_1ms(19);
                                     
                     }                    

                    for(int i=0;i<fanyengshjian;i++)

                       {    
                     gpio_bit_set(GPIOC, GPIO_PIN_3);//3开始跳舞第二组动作
                     delay_1ms(3);
                     gpio_bit_reset(GPIOC, GPIO_PIN_3);
                     delay_1ms(18);
                    
                     }    
                  for(int i=0;i<fanyengshjian;i++)

                       {    

                     gpio_bit_set(GPIOC, GPIO_PIN_3);//3开始跳舞
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_3);
                     delay_1ms(19);
                    
                     }    
                   //   delay_1ms(200);        

                    for(int i=0;i<fanyengshjian;i++)

                       {    

                     gpio_bit_set(GPIOC, GPIO_PIN_7);//1开始跳舞
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_7);
                     delay_1ms(19);
                    
                     }        
                                    //     delay_1ms(200);
                   for(int i=0;i<fanyengshjian;i++)

                      {                                 
                                   gpio_bit_set(GPIOC, GPIO_PIN_11);//2开始跳舞
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_11);
                     delay_1ms(18);
                                     
                     }                                                 
                   for(int i=0;i<fanyengshjian;i++)

                      {                                 
                                   gpio_bit_set(GPIOC, GPIO_PIN_1);//4开始跳舞
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_1);
                     delay_1ms(18);
                                     
                     }    
               //        delay_1ms(200);            


                 for(int i=0;i<fanyengshjian;i++)

                       {    

                     gpio_bit_set(GPIOC, GPIO_PIN_7);//1开始跳舞第二组动作
                     delay_1ms(2);
                     gpio_bit_reset(GPIOC, GPIO_PIN_7);
                     delay_1ms(18);
                    
                     }        
                                //         delay_1ms(200);
                   for(int i=0;i<fanyengshjian;i++)

                      {                                 
                                   gpio_bit_set(GPIOC, GPIO_PIN_11);//2开始跳舞第二组动作
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_11);
                     delay_1ms(19);
                                     
                     }        
                                  //    delay_1ms(200);                

                    for(int i=0;i<fanyengshjian;i++)

                       {    

                     gpio_bit_set(GPIOC, GPIO_PIN_3);//3开始跳舞第二组动作
                     delay_1ms(3);
                     gpio_bit_reset(GPIOC, GPIO_PIN_3);
                     delay_1ms(18);
                    
                     }    
                  //    delay_1ms(200);                                        
                      for(int i=0;i<fanyengshjian;i++)

                      {                                 
                                   gpio_bit_set(GPIOC, GPIO_PIN_1);//4开始跳舞第二组动作
                     delay_1ms(1);
                     gpio_bit_reset(GPIOC, GPIO_PIN_1);
                     delay_1ms(19);                                 
                     }    
            
 }        
    
int main(void)
{
    /* configure systick */
    systick_config();

    /* enable the  GPIO clock */
    rcu_periph_clock_enable(RCU_GPIOC);

    /* configure GPIO port */
     rcu_periph_clock_enable(RCU_GPIOA);

    /* configure key pin as input */
    gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_8);
    
    gpio_mode_set(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_ALL);
    
    gpio_output_options_set(GPIOC, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_ALL);
   
       /* reset GPIO pin */
    gpio_bit_reset(GPIOC, GPIO_PIN_7);

      gpio_bit_set(GPIOC, GPIO_PIN_10);
    
      gpio_bit_reset(GPIOC, GPIO_PIN_11);
        
        gpio_bit_reset(GPIOC, GPIO_PIN_1);
        
        gpio_bit_reset(GPIOC, GPIO_PIN_3);
         
        gpio_bit_set(GPIOC, GPIO_PIN_5); //为换歌功能添加端口
         delay_1ms(800);
        
        
    while(1) {
            
            
              /* check whether the key is pressed */
        if(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_8))
                    {
            delay_1ms(200);

            /* check whether the key is pressed */
            if(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_8))
                            {
                
                                
                             gpio_bit_reset(GPIOC, GPIO_PIN_10); //开始音乐播放
                                    
delay_1ms(600);                            
                                gpio_bit_reset(GPIOC, GPIO_PIN_5); //播放下一首音乐
                                
                                 delay_1ms(600);
                                
                             gpio_bit_set(GPIOC, GPIO_PIN_5);  //还原“播放下一首”端口控制
                    
                                delay_1ms(600);
                             gpio_bit_set(GPIOC, GPIO_PIN_10); //还原“开始音乐播放”端口控制
                                
                                //    for(int i=0;i<3;i++)tiaowu();//开始跳3组舞蹈
                                
                                 
              }       
                                         
          }

           while(RESET == gpio_input_bit_get(GPIOA, GPIO_PIN_0))    {    }
        
   
            
    }        
   
}

忙里偷闲加个传感器,平时很忙只有挤时间弄。

GD32F427开发板试用+唱歌跳舞主控5加非接触式换歌功能

<[GD32F427开发板试用+唱歌跳舞主控4加非接触式红外传感器]>(https://aijishu.com/a/1060000...)

GD32F427开发板试用+唱歌跳舞主控3舞蹈流畅度调试

GD32F427开发板试用+唱歌跳舞主控2搭建实物连线,制作试验品

【GD32F427开发板试用】+唱歌跳舞主控1

推荐阅读
关注数
10688
内容数
187
中国高性能通用微控制器领域的领跑者兆易创新GD系列芯片技术专栏。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息