Hirdetés
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Imy
veterán
válasz
Teasüti
#10178
üzenetére
Ez a programom, és így kellene működnie, de most már nem tudom, hogy mit is, és hova kellene beleraknom...
Nekem így működik most:
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- ... (végtelenségig megy, ha nincs gombnyomás)A gombnak ennyit kellene csinálnia:
- Gomb megnyom röviden, akkor indul el a motor
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- ... (végtelenségig megy, ha nincs gombnyomás)
- Gomb megnyom hosszan, akkor megáll a motor
- LED, motor áll, nem csinál semmit
- Gomb megnyom röviden, akkor indul el a motor
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- Motor megy x fordulatot
- LED villog x ideix x-szer, jelzi, hogy vár
- ... (végtelenségig megy, ha nincs gombnyomás)Programkód:
/*
===============
Stepper wiring:
===============
Arduino - Driver
D8 - IN1
D9 - IN2
D10 - IN3
D11 - IN4
===========
LED wiring:
===========
LED "-" : GND
LED "+" : D13
*/
#include <Stepper.h>
#define STEPS 100
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
Stepper small_stepper(STEPS, 8, 10, 9, 11);
int Steps2Take = 0;
long temps = 0;
int Cycle;
int Rotate_n_temp;
int Rotate_n;
int PSW = 5;
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(IN1,OUTPUT); //stepper motor coil-1
pinMode(IN2,OUTPUT); //stepper motor coil-2
pinMode(IN3,OUTPUT); //stepper motor coil-3
pinMode(IN4,OUTPUT); //stepper motor coil-4
pinMode(PSW, INPUT); // Push Switch
}
void loop()
{
Rotate_n=1;
Rotate_n_temp = Rotate_n-1;
digitalWrite(13, HIGH);
delay(100);
Serial.println("Stepper motor working, one cycle is OK ");
small_stepper.setSpeed(300);
if (Cycle<=Rotate_n_temp){
Steps2Take = -4096;
temps = millis();
small_stepper.step(Steps2Take);
temps = millis()- temps ;
Serial.println("Rotate cycle noumber:");
Serial.println(Rotate_n);
Serial.println("Motor step noumber:");
Serial.println(temps);
digitalWrite(IN1, LOW);
delay(2);
digitalWrite(IN2, LOW);
delay(2);
digitalWrite(IN3, LOW);
delay(2);
digitalWrite(IN4, LOW);
delay(2);
delay(2000); //pause
Steps2Take = 4096;
temps = millis();
small_stepper.step(Steps2Take);
temps = millis()- temps ;
Serial.println(temps);
digitalWrite(IN1, LOW);
delay(2);
digitalWrite(IN2, LOW);
delay(2);
digitalWrite(IN3, LOW);
delay(2);
digitalWrite(IN4, LOW);
delay(2);
delay(2000); //pause
digitalWrite(13, LOW);
delay(100);
digitalWrite(13, HIGH);
delay(100);
Cycle++;
}
else{
digitalWrite(IN1, LOW);
delay(2);
digitalWrite(IN2, LOW);
delay(2);
digitalWrite(IN3, LOW);
delay(2);
digitalWrite(IN4, LOW);
delay(2);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
/* digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);
digitalWrite(13, LOW);
delay(2000);
digitalWrite(13, HIGH);
delay(2000);*/
//1 min waiting, and restart motor
Cycle=0;
}
}
Új hozzászólás Aktív témák
- Motorola Edge 70 - többért kevesebbet
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Elite: Dangerous
- Azonnali informatikai kérdések órája
- Harcba és Rómába vezet az új AMD Software
- Nikon DSLR topik
- Bluetooth hangszórók
- eMAG vélemények - tapasztalatok
- Tesla topik
- Elektromos autók - motorok
- További aktív témák...
- 2év Garancia,Lenovo Slim 3,i5 12450H(12x4,4Ghz)15,6"FullHD IPS,Magyar vil.bill,16GBDDR5 RAM,512SSD
- Apple Watch 8 45mm Megkímélt/1-3 hónap gar./Akku 89%/p4571
- iPhone 12 Pro Max 256GB Független Megkímélt/1-3 hónap gar./Akku 83%/p4570 1 hónap garanciával:11900
- iPhone 13 128GB Független Használt/1-3 hónap gar./Akku 88%/p4568
- iPhone 13 128GB Független ÚJSZERŰ/1-3 hónap gar./Akku 86%/p4567
- Apple iPhone 12 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új és újszerű 13-14 Gamer, ultrabook, üzleti, 2in1, X360, Touch készülékek kedvező áron Garanciával
- billentyűzetek - kiárusítás - Logitech, Corsair, ASUS
- LG 55QNED86T3A / QNED / 55" - 139 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Xiaomi 14T Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold

