KASHUP-hjul A hybrid segway (5 / 7 steg)
Steg 5: Koderna
Här kan du hitta den arduino koder.
Eller sända med posten den till jag på itfakash18 jag skulle skicka dig koderna
#include const int MPU = 0x68; I2C adress MPU-6050 int16_t AcX, AVAL, AcZ, Tmp, GyX, GyY, GyZ; int sensorValue = 0; 6050 värdet int gaspådrag = 0; Throttle värdet int valt = 0; int r; int vall = 0; int valr = 0; void setup() {Serial.begin(9600); Wire.BEGIN(); Wire.beginTransmission(MPU); Wire.write(0x6B); PWR_MGMT_1 registrera Wire.write(0); satt till noll vaknar MPU-6050 Wire.endTransmission(true); pinMode (7, ingång); pinMode (4, OUTPUT); digitalWrite (4, hög). motoriska stift pinMode (5, OUTPUT); mot höger + v pinMode (6, OUTPUT); mot rätt -V pinMode (9, OUTPUT); mot vänster - v pinMode (10, OUTPUT); mot höger + v //motor stift} void loop() {gas = analogRead(A0); r = digitalRead(12); Wire.beginTransmission(MPU); Wire.write(0x3B); börjar med register 0x3B (ACCEL_XOUT_H) Wire.endTransmission(false); Wire.requestFrom (MPU, 14, true); begäran sammanlagt 14 registrerar AcX = Wire.read() << 8 | Wire.Read(); 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L) AVAL = Wire.read() << 8 | Wire.Read(); 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L) Tmp = Wire.read() << 8 | Wire.Read(); 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L) Serial.print ("AcX ="); Serial.Print(AcX); Serial.Print("| AVAL = "); Serial.Print(AcY); Serial.Print("| Tmp = "); Serial.Print (Tmp/340.00 + 36.53); Serial.Print("PIN="); Serial.Print(r); //equation för temperatur i C Serial.print("throttel value ="); Serial.println(Throttle); sensorValue = AcX; om (spjäll < 170) {valr = karta (AVAL,-1800,-4000, 0, 255); vall = karta (AVAL, 1800, 4500, 0, 255); om (AVAL <-1800) {analogWrite 5, låg, analogWrite (6, 1.25* + 3 valr), analogWrite (9, låg); analogWrite (10, låg).} annars om (AVAL > 1800) {analogWrite 5, låg, analogWrite (6, låg); analogWrite (9, låg); analogWrite (10, vall);} annat {analogWrite (5, låg), analogWrite (6, låg), analogWrite (9 LÅG); analogWrite (10, låg). }} annat {om (spjäll > 165) {valt = karta (spjäll, 165, 535, 0, 255), analogWrite 5, låg, analogWrite (6, 1,25 * valt), analogWrite (9, låg); analogWrite (10, valt);}} delay(300); }