slave-motor-mod2-v5 /* * * DAMI-M3 * * slave-motor-mod2-vx * * LIBRARIES * Wire (Arduino I2C Master) * AccelStepper * */ /* O rascunho usa 10562 bytes (73%) do espaço de armazenamento do programa. O máximo é 14336 bytes. Variáveis globais usam 619 bytes (60%) de memória dinâmica, restando 405 bytes para variáveis locais. …
DAMI-M3 Software – Processing3 mod1v1
dami_map_mod1_v1 /** * * DAMI mapper v1.0 * * Read data from the serial port and draw a room map with robot on it * */ import processing.serial.*; Serial myPort; // Create object from Serial class int robotLenght = 192; int robotWidth = 120; // robot draw float lastRx = 0; float lastRy = 0; …
DAMI-M3 Software – master mod2-v11
master-sensor-mod2-v11 /* * * DAMI-M3 * * master-sensor-mod2-vx * * LIBRARIES * Wire (Arduino I2C Master) * Servo * SparkFun VL53L1X 4M Laser Distance Sensor * newPing * kalman simple (local) * SPI * RF24 * nRF24L01 * */ /* O rascunho usa 15626 bytes (50%) do espaço de armazenamento do programa. O máximo é …
Programa exemplo para EEPROM 24C32 – escrever e ler um byte
Programa exemplo que escreve e lê um byte na EEPROM 24C32. #include <Wire.h> #define disk1 0x51 //Address of 24C32 eeprom chip void setup(void) { Serial.begin(115200); Wire.begin(); unsigned int address = 2; writeEEPROM(disk1, address, 64); Serial.print(readEEPROM(disk1, address), DEC); } void loop(){} void writeEEPROM(int device, unsigned int address, byte data ) { Wire.beginTransmission(device); Wire.write((int)(address >> 8)); // …
Continuar a ler “Programa exemplo para EEPROM 24C32 – escrever e ler um byte”
Programa exemplo RTC I2C DS1307
Programa exemplo para ler o RTC I2C DS1307 no módulo de relógio de tempo real RTC I2C DS1307 com EEPROM 24C32. #include “Wire.h” #define DS1307_I2C_ADDRESS 0x68 void setup() { Wire.begin(); Serial.begin(115200); // set the initial time here: // DS1307 seconds, minutes, hours, day, date, month, year setDS1307time(30,8,12,3,29,11,18); } void loop() { displayTime(); // display …
Movimento retilineo de robot 2WD com direção e velocidade ajustada por PID
Programa demo_2wd_pid_steering_speed #define serialSpeed 115200 #define bodyLeftMotorPwmBase 0 #define bodyRightMotorPwmBase 20 #define bodySteeringFactor 1 // encoder type #define bodyEncoderSJ01 true #define bodyEncoderHC020K false #define bodyEncoderLM393 false #if bodyEncoderSJ01 #define bodyEncoderSignal CHANGE #define bodyEncoderInputSignal INPUT #endif #if bodyEncoderHC020K #define bodyEncoderSignal FALLING #define bodyEncoderInputSignal INPUT_PULLUP #endif #if bodyEncoderLM393 #define bodyEncoderSignal RISING #define bodyEncoderInputSignal INPUT #endif // …
Continuar a ler “Movimento retilineo de robot 2WD com direção e velocidade ajustada por PID”
Movimento retilineo de robot 2WD com PWM ajustado por PID
Programa demo_2wd_pwm_variable_pid #define serialSpeed 115200 #define bodyLeftMotorPwmRef 110 #define bodyRightMotorPwmRef 130 #define bodySteeringFactor 1 // encoder type #define bodyEncoderSJ01 true #define bodyEncoderHC020K false #define bodyEncoderLM393 false #if bodyEncoderSJ01 #define bodyEncoderSignal CHANGE #define bodyEncoderInputSignal INPUT #endif #if bodyEncoderHC020K #define bodyEncoderSignal FALLING #define bodyEncoderInputSignal INPUT_PULLUP #endif #if bodyEncoderLM393 #define bodyEncoderSignal RISING #define bodyEncoderInputSignal INPUT #endif // …
Continuar a ler “Movimento retilineo de robot 2WD com PWM ajustado por PID”
Encoders no movimento simples de robot 2WD com PWM ajustado
Programa demo_2wd_pwm_variable_encoders #define serialSpeed 115200 #define bodyLeftMotorPwmRef 110 #define bodyRightMotorPwmRef 130 #define bodyLeftMotorPwmMin 90 #define bodyRightMotorPwmMin 110 #define bodyLeftMotorPwmMax 210 #define bodyRightMotorPwmMax 230 #define steeringFactor 0.9 // encoder type #define bodyEncoderSJ01 true #define bodyEncoderHC020K false #define bodyEncoderLM393 false #if bodyEncoderSJ01 #define bodyEncoderSignal CHANGE #define bodyEncoderInputSignal INPUT #endif #if bodyEncoderHC020K #define bodyEncoderSignal FALLING #define bodyEncoderInputSignal …
Continuar a ler “Encoders no movimento simples de robot 2WD com PWM ajustado”
Encoders no movimento simples de robot 2WD com PWM fixo
Programa de demonstração da recolha des dados dos encoders para serem usados postriormente no controlo dos motores. Programa demo_2wd_pwm_fixed_encoders #define serialSpeed 115200 #define bodyLeftMotorPWM 110 #define bodyRightMotorPWM 110 // encoder type #define bodyEncoderSJ01 true #define bodyEncoderHC020K false #define bodyEncoderLM393 false #if bodyEncoderSJ01 #define bodyEncoderSignal CHANGE #define bodyEncoderInputSignal INPUT #endif #if bodyEncoderHC020K #define bodyEncoderSignal FALLING #define …
Continuar a ler “Encoders no movimento simples de robot 2WD com PWM fixo”
Movimento simples de robot 2WD com PWM fixo
Programa de teste simples para fazer um robot 2WD deslocar-se num movimento rectilineo (andar a direito) com um valor fixo de PWM para controlar os dois motores. Material minimo Aos componentes abaixo indicados adicionar: fios, parafusos e porcas. 1 x Chassis para robot 2WD 2 x motores DC 2 x roda 1 x arduino (uno, nano, mega) …
Continuar a ler “Movimento simples de robot 2WD com PWM fixo”