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)); // …

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 // …

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 // …

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 …

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 …