motor projekt (Læst 9x)

Offline henrik13

  • Nyfødt El-Elsker
  • *
  • Indlæg: 1
  • Antal brugbare Indlæg: 0
    • Vis profil
motor projekt
« Dato: Maj 29, 2024, 13:03:26 »
hej alle
tak for medlemskabet.

jeg er igang med et projekt hvor jeg har et emne som har 2 motor, motor 1 skal køre frem og tilbage hvor motor 2 skal køre samme vej hele tiden.
emnet skal køre frem til det rammer en endestop/kontakt som får motor 1 til og køre tilbage ind til kontakt 2 rammes hvor begge motor skal stoppe. motor 2 skal køre samme omløbretning hele tiden.

har lavet et program i Arduino hvor det ser ud til og virke med min uno board, hul plade hvor der er sat de 2 kontakter på og 3 dioder hvor de 2 er motor 1 frem og tilbage, og en diode til at simulere motor 2 er tændt hele tiden.

når jeg samler det med motor på l298n driver så virker det ikke, er lidt i tvivl om det er de 2 kontakter som driller da de stadig sidder på hul pladen, så opsætningen ser sådan ud:

uno bord gnd til l298n, 5 vold til l298n, fra l298n 5 volt til bord (2 kontakter) ground fra uno til borad (2 kontakter), uno outpins til l298n som passer med programmet.

jeg vil ikke have loop på da programmet kun skal køre frem til og stoppe, da det i loop bliver ved med og køre.

evt nogle som har et bud på hvordan jeg får det til og virke?


const int motor1ForwardPin = 2;
const int motor1BackwardPin = 3;
const int motor2Pin = 4;
const int contact1Pin = 5;
const int contact2Pin = 6;

void setup() {
  // put pin-mode for motorer og contact
  pinMode(motor1ForwardPin, OUTPUT);
  pinMode(motor1BackwardPin, OUTPUT);
  pinMode(motor2Pin, OUTPUT);
  pinMode(contact1Pin, INPUT_PULLUP);
  pinMode(contact2Pin, INPUT_PULLUP);



 
  // motor 1 forward, until contact 1 hits
  while (digitalRead(contact1Pin) == LOW) {
    digitalWrite(motor1ForwardPin, HIGH);
    digitalWrite(motor1BackwardPin, LOW);
  digitalWrite(motor2Pin, HIGH);

  }



  // motor 1 drivning bag until concact 2 har hit
  while (digitalRead(contact2Pin) == LOW) {
    digitalWrite(motor1ForwardPin, LOW);
    digitalWrite(motor1BackwardPin, HIGH);
  }

  // Stop motor 1 and 2 when contact 2 are push
 
  digitalWrite(motor1ForwardPin, LOW);
  digitalWrite(motor1BackwardPin, LOW);
   digitalWrite(motor2Pin, LOW);
 

}


void loop() {
}

 

Offline Icecap

  • Op-amp
  • ***
  • Indlæg: 181
  • Antal brugbare Indlæg: 19
    • Vis profil
Sv: motor projekt
« Svar #1 Dato: Maj 29, 2024, 14:21:40 »
Selvfølgeligt kan du anvende loop() - men da skal du ha en funktion som tjekker om køre-funktionen skal aktiveres.

Med motorer og drivning til dem SKAL der lidt kondensatorer over madningen for at systemet skal blive stabilt.

Har kontakterne pull-up eller -down så de giver stabile niveauer?