Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Simulador de corrida de movimento 2D DIY

Componentes e suprimentos

Arduino Nano R3
× 1
Micro servo motor SG90
× 2

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


SimTools é um software de simulação de movimento genérico capaz de controlar várias interfaces de hardware, incluindo Arduino. Essa combinação é usada no projeto apresentado no vídeo. Parte do hardware consiste apenas no microcontrolador Arduino Nano e dois micro servo motores SG90 baratos. Precisamos apenas fazer o upload do código fornecido a seguir.

Os dados do jogo necessários com a ajuda do software SimTools são transmitidos através da porta serial para o Arduino. Em seguida, o Arduino ativa servo motores que movem a plataforma de simulação de acordo. Esta é uma pequena escala de um simulador de dois eixos. Para fazer um simulador real, você precisa adicionar drivers de motor e servo motores grandes.

Existem muitos exemplos de simuladores DIY, bem como desenhos de construção e dicas na página "https://www.xsimulator.net/". O procedimento de configuração do SimTools é descrito no vídeo, mas você também pode baixar o manual do usuário em PDF em:https://simtools.us/wp-content/uploads/2019/06/SimToolsUserManual-v2.4.pdf

O SimTools será executado no modo “Demo” até que uma licença válida seja registrada. O plug-in para Live for Speed ​​está totalmente operacional para teste enquanto o SimTools está no modo de demonstração. (A demonstração do Live for Speed ​​também funcionará para testar o SimTools.) Você pode encontrar mais informações e fazer o download do Live for Speed ​​em https://www.lfs.net/downloads

Link para download do SimTools:

https://www.xsimulator.net/community/marketplace/motion-simulation-software-simtools.63/

Código

  • Código
Código C / C ++
 // ********************************************* ************************************************ // RC Model Servo // Código original de EAOROBBIE (Robert Lindsay) // Completamente mutilado por aarondc // Para uso gratuito do Sim Tool Motion Software // ******************** *************************************************** *********************** # include  // # define DEBUG 1 // comente esta linha para remover debuggin Serial.print linesconst int kActuatorCount =2; // quantos atuadores estamos tratando // as letras ("nomes") enviadas das ferramentas do Sim para identificar cada atuador // NB:a ordem das letras aqui determina a ordem das constantes restantes kPins e kActuatorScaleconst char kActuatorName [kActuatorCount] ={'R', 'L'}; const int kPins [kActuatorCount] ={4, 5}; // pinos aos quais os atuadores estão conectadosconst int kActuatorScale [kActuatorCount] [2] ={{0, 179}, // Escala do atuador direito {179, 0} // Escala do atuador do lado esquerdo}; const char kEOL ='~'; // Fim da linha - o delimitador para nossos valores de acutador const int kMaxCharCount =3; // algum seguro ... Servo atuatorSet [kActuatorCount]; // nosso array de Actuatorsint atuatorPosition [kActuatorCount] ={90, 90}; // posições atuais do atuador, inicializadas com 90int currentActuator; // acompanha o Atuador atual sendo lido do portint serial valueCharCount =0; // quantos caracteres de valor lemos (deve ser menor que kMaxCharCount !! // configurar alguns estados para nossa máquina de estado // psReadActuator =próximo caractere da porta serial nos diz o atuador // psReadValue =próximos 3 caracteres da porta serial nos diz o valor TPortState {psReadActuator, psReadValue}; TPortState currentState =psReadActuator; void setup () {// anexar os atuadores aos pinos para (int i =0; i  0) .void serialEvent () {char tmpChar; int tmpValue; while (Serial.available ()) {// if estamos esperando por um nome de atuador, pegue-o aqui if (currentState ==psReadActuator) {tmpChar =Serial.read (); // procure nosso atuador na matriz de nomes de atuador que configuramos #ifdef DEBUG Serial.print ("ler em"); Serial.println (tmpChar); #endif for (int i =0; i  9)) tmpValue =0; atuatorPosition [currentActuator] =atuatorPosition [currentActuator] * 10 + tmpValue; valueCharCount ++; } else break; } // se lemos o delimitador de valor, atualize o Atuador e comece a procurar o próximo nome do Atuador if (tmpValue ==kEOL || valueCharCount ==kMaxCharCount) {#ifdef DEBUG Serial.print ("ler em"); Serial.println (atuatorPosition [currentActuator]); #endif // dimensionar a nova posição para que o valor esteja entre 0 e 179 atuatorPosition [currentActuator] =map (atuatorPosition [currentActuator], 0, 255, kActuatorScale [currentActuator] [0], kActuatorScale [currentActuator] [1]); # ifdef DEBUG Serial.print ("dimensionado para"); Serial.println (atuatorPosition [currentActuator]); #endif updateActuator (currentActuator); currentState =psReadActuator; }}}} // escreve a posição atual do atuador no atuador void updateActuator (int thisActuator) {atuatorSet [thisActuator] .write (atuatorPosition [thisActuator]);} 

Esquemas


Processo de manufatura

  1. Sistema de sensor de movimento infravermelho faça você mesmo para Raspberry Pi
  2. DIY LUMAZOID Arduino Music Visualiser
  3. Faça você mesmo voltímetro usando Arduino e Smartphone
  4. Faça você mesmo skate de realidade virtual
  5. Pistola de água com sensor de movimento
  6. Faça você mesmo Arduino RADIONICS Tratamento MMachine
  7. Ideia DIY com RFID
  8. DIY 3 eixos CNC VMC
  9. Faça você mesmo Arduino + GY-906 Termômetro infravermelho
  10. Pedais de leme DIY para simulador de vôo