Índice:

Como fazer um robô legal de um carro RC: 11 etapas
Como fazer um robô legal de um carro RC: 11 etapas

Vídeo: Como fazer um robô legal de um carro RC: 11 etapas

Vídeo: Como fazer um robô legal de um carro RC: 11 etapas
Vídeo: Como fazer um ROBÔ que DIRIGE SOZINHO 2024, Novembro
Anonim
Como fazer um robô legal de um carro RC
Como fazer um robô legal de um carro RC

Este projeto legal é para estudantes do ensino médio ou qualquer amador que queira fazer um robô legal. Eu estava tentando fazer um robô interativo há muito tempo, mas fazê-lo não é fácil se você não conhece nenhuma eletrônica ou linguagens de programação especiais. Agora existe uma linguagem de programação chamada nqBASIC, que é totalmente gratuita, para fazer seu próprio robô.

Etapa 1: O que você precisa?

O que você precisa?
O que você precisa?
O que você precisa?
O que você precisa?
O que você precisa?
O que você precisa?
O que você precisa?
O que você precisa?

Você precisará de algumas peças para este projeto legal.1) Vá e encontre um carro RC que tenha dois motores CC nele. Encontrei um carro muito barato chamado thunder tumbler por US $ 12. A imagem está abaixo.2) Você precisará de uma placa controladora do Servo Sensor chamada SSMI. Aqui está o link para obter ithttps://www.technologicalarts.ca/catalog/product_info.php? Currency = USD & products_id = 2763) Você precisará de um microcontrolador para esta placa chamado NanoCore12DXhttps://www.technologicalarts.ca/catalog/ product_info.php? cPath = 50_36_92 & products_id = 4294) Você precisa de dois sensores se quiser tornar seu robô interativohttps://www.technologicalarts.ca/catalog/product_info.php? cPath = 25_147 & products_id = 1885) Cabo serial para conectar seu computador seu robô para programar.https://www.technologicalarts.ca/catalog/product_info.php? cPath = 26 & products_id = 386) Uma linguagem de robô legal desenvolvida para este produto é chamada nqBASIC. Vá para https://www.nqbasic.com e faça o download gratuitamente. Você também pode fazer perguntas no fórum. 7) 4 pilhas AA (alcalinas ou recarregáveis)

Etapa 2: desmontar o carro RC

Desmontar carro RC
Desmontar carro RC

1) Retirei todos os eletrônicos. Corte os cabos da unidade controladora de dentro do carro RC, deixando apenas a bateria, pois bastava alimentar o SSMI (Servo / Sensor / Placa de Interface do Motor para NanoCore12DX).

Etapa 3: cabos CC e cabos de bateria conectados

Cabos DC anexados e cabos de bateria
Cabos DC anexados e cabos de bateria

Os dois motores CC do carro R / C já tinham cabos, então eu os conectei aos conectores plugáveis (vem com placa SSMI) em meu SSMI. Fiz o mesmo com o cabo da bateria.

Etapa 4: cabos de LED

Cabos LED
Cabos LED
Cabos LED
Cabos LED
Cabos LED
Cabos LED
Cabos LED
Cabos LED

Restam 4 cabos. Eles são magros. Esses são os cabos que saem das rodas. Este carro RC tem LEDs dentro das rodas traseiras. Dois cabos saem de cada roda. Seu robô pode ficar bonito com esses LEDs. Decidi usar esses LEDs para deixar o robô mais divertido. Você pode ver esses cabos na foto. Montei um pedaço de plástico preto que veio da parte de trás do carro na frente do carro para fazer uma boa superfície plana para montar a placa SSMI. Usei velcros para montar SSMI nele. Você pode usar fita dupla-face e algumas amarras se quiser. Então, inseri os cabos de LED nos orifícios na frente do carro. Montei o SSMI no carro. Em seguida, conectei os motores DC e os plugues da bateria em seus locais.

Etapa 5: Conecte os cabos de LED à placa SSMI

Conecte os cabos de LED à placa SSMI
Conecte os cabos de LED à placa SSMI
Conecte os cabos de LED à placa SSMI
Conecte os cabos de LED à placa SSMI
Conecte os cabos de LED à placa SSMI
Conecte os cabos de LED à placa SSMI

Em seguida, conecte os cabos de LED nos lugares certos. Você precisa aprender com o manual da placa SSMI quais conectores você pode usar. Vá em frente e conecte-os nos mesmos lugares que eu. Mais tarde, você pode aprender a colocar esses cabos em lugares diferentes, se quiser. Veja as fotos

Etapa 6: conectar sensores

Conectar Sensores
Conectar Sensores
Conectar Sensores
Conectar Sensores
Conectar Sensores
Conectar Sensores
Conectar Sensores
Conectar Sensores

Conecte os cabos do sensor nos lugares certos.

Etapa 7: Seu robô está pronto para rodar

Seu robô está pronto para rolar
Seu robô está pronto para rolar

O hardware do seu robô está pronto. Agora você precisa programá-lo.

Etapa 8: Instale o software

Instale o software
Instale o software

Vá para https://www.nqbasic.com e baixe o software do site. Todas as instruções estão no site - como instalar e deixar seu computador pronto para isso. Há também um vídeo legal no YouTube que mostra como registrar o software gratuitamente. Esta linguagem de programação é totalmente gratuita. Não hesite em se registrar. Caso contrário, você não pode compilar seu código.

Etapa 9: Pronto para programar

Pronto para programar
Pronto para programar

Conecte o cabo serial da porta serial do seu computador à porta serial SSMI.1) Inicie o nqBASIC e selecione o projeto e o novo projeto2) dê um nome ao seu projeto e salve-o.3) Ele perguntará qual módulo nanocore você está usando, selecione NanoCore12DX da lista. Este é o único módulo que funciona com SSMI.4) Selecione Arquivo / Novo arquivo. Ele perguntará se você deseja adicionar este arquivo ao seu projeto. Diga Sim.5) Dê um nome para o arquivo e clique em Salvar.

Etapa 10: copie e cole o código-fonte

/ * Copiar daqui para o final deste textoExemplo para DIP32 (8mHz) * / dim M00 como novo pwm (PP0) dim M01 como novo pwm (PP1) dim M11 como novo pwm (PP2) dim M10 como novo pwm (PP3) dim IR1 como novo ADC (PAD05) // objeto ADC para Sharp Sensor (Front) dim IR1Result como novo bytedim IR2 como novo ADC (PAD03) // objeto ADC para Sharp Sensor (Back) dim IR2Result como novo bytedim myChar como novo byte / / Variável para armazenar caracteres recebidos dim S como novo SCI (PS0, PS1) // SCI objectdim SPK como novo DIO (PM4) // Usando alto-falante no SSIMconst ontime = 20dim duration as new wordConst A2 = 2273 // Music notesConst A3 = 1136 // Notas musicaisConst A4 = 568 // Notas musicais para fazer som quando o robô vê algo dim WLED1 como novo DIO (PM2) // LEDs nas rodasdim WLED2 como novo DIO (PM3) // LEDs nas rodasdim loop como novo byteConst OFF = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000sub DelayMsec (em byte milissegundos) enquanto (milissegundos> 0) System. Delay (DEL_1MSEC) // Atrasar 1000 microssegundos para fazer 1 milissegundo milissegundo onds = milissegundos - 1 final enquanto final subsub stop () // para fazer os motores parar M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) end subsub goback () // o robô voltará M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) end subsub turnright () // gire o robô para a direita M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) end subsub turnleft () // virar o robô para a esquerda M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, final sub 250, 250) () // faz o robô avançar M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // cc esquerdo M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // dcend direito subsub wait3 () // meus próprios atrasos DelayMsec (A) DelayMsec (A) DelayMsec (A) end subsub wait4 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) end subsub wait5 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A)) end subsub wait10 () // loop de atraso longo = 1 while (loop <11) DelayMsec (A) loop = loop + 1 end whileend subsub playound () // para tocar as notas duration = ontime while (duration> 0) SPK. PIN_Out (PM4, ON) sistema. Delay (A2) SPK. PIN_Out (PM4, Off) system. Delay (A2) duração = duração - 1 fim enquanto DelayMsec (B) duração = ontime enquanto (duração> 0) SPK. PIN_Out (PM4, ON) sistema. Delay (A3) SPK. PIN_Out (PM4, Off) system. Delay (A3) duração = duração - 1 fim enquanto DelayMsec (B) duração = ontime enquanto (duração> 0) SPK. PIN_Out (PM4, ON) system. Delay (A4) SPK. PIN_Out (PM4, Off) system. Delay (A4) duration = duration - 1 end enquanto DelayMsec (B) end sub principal PWM. PWM_Res_PP0145 (TIMER_D IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup (SER_BUFFER_4, BAUD9600) // Configura SCI e permite que 4 caracteres sejam armazenados em buffer System. INTS_On () // LIGUE OS INTERRUPÇÕES! S. SER_Put_string ("Este é um teste") S. SER_Put_char ('\ n') S. SER_Put_char ('\ r') while (FOREVER) IR1. ADC_Start (WAIT, ADC_MODE_8ONCE) // Ler o valor do sensor frontal agudo IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // Lê o valor do sensor retroativo IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal (IR2Result, FILLUP_SPACE) // envia o valor para as janelas hiper terminal S. SER_Put_char ('\ n') // faz uma nova linha no hiper terminal S. SER_Put_char ('\ r') if ((IR1Result == 25) ou (IR1Result> 25)) stop () playsound () wait5 () WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3, ON) goback () wait5 () if ((IR2Result == 25) ou (IR2Result> 25)) stop () playound () wait5 () turnleft () wait3 () goahead () end if turnright () wait3 () else goahead () end if if ((IR2Result == 25) ou (IR2Result> 25)) WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3, ON) stop () wait5 () turnright () wait3 () WLED1. PIN_Out (PM2, OFF) WLED2. PIN_Out (PM3, OFF) goahead () wait3 () else goahead () end if end while end m ain

Etapa 11: compilar e carregar em seu robô

Certifique-se de colocar baterias em seu robô e ligá-lo. Você deve ver o LED verde de energia brilhando no SSMI. No módulo Nanocore12DX há uma pequena chave, certifique-se de que está na posição de carga. Pressione a chave de reinicialização na SSMI. Vá para nqbasic e selecione Build and load. Ele irá compilar seu código e carregá-lo em seu robô. Retire o cabo serial de seu robô e mude a chave da posição de carga para a posição de execução no módulo NanoCore12DX. Coloque seu robô em uma superfície plana e pressione o botão de reinicialização no SSMI. Parabéns! Se você tiver qualquer problema com essas etapas, não hesite em escrever no fórum nqBASIC. Estarei lá e responderei a todas as suas perguntas. Divirta-se!

Recomendado: