Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Invázió egy novellában 3-4. (Update) +5. fejezet! (18+ nyelvezet)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- gban: Ingyen kellene, de tegnapra
- GoodSpeed: Harcban az adathalászokkal - az AI tud segíteni?
- urandom0: Száműztem az AI-t az életemből
-
LOGOUT
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
Olyan problémám lenne, hogy egy nyomógombbal akarom elindítani, majd esetleg egy hosszú nyomással leállítani a motort, ami a következő program szerint fut:
/*
*/
#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 Compteur;
int Rotate_n_temp;
int Rotate_n;
int PSW = 5;
int PSW_S = 0;
void setup()
{
pinMode(13, OUTPUT);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(PSW, INPUT); // Push Switch
}
void loop()
{
if (digitalRead(PSW) == HIGH)
{
Push_b_on:
Rotate_n=2;
Rotate_n_temp = Rotate_n-1;
digitalWrite(13, HIGH);
delay(100);
small_stepper.setSpeed(300);
if (Compteur<=Rotate_n_temp){
Steps2Take = -4096;
temps = millis();
small_stepper.step(Steps2Take);
temps = millis()- 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
// Glignotement de la LED
digitalWrite(13, LOW);
delay(100);
digitalWrite(13, HIGH);
delay(100);
Compteur++; //Ajoute 1 au Compteur
}
else{
digitalWrite(IN1, LOW);
delay(2);
digitalWrite(IN2, LOW);
delay(2);
digitalWrite(IN3, LOW);
delay(2);
digitalWrite(IN4, LOW);
delay(2);
Compteur=0;
goto Push_b_on;
}
}
else
{
digitalWrite(13, HIGH);
delay(50);
digitalWrite(13, LOW);
delay(100);
digitalWrite(13, HIGH);
delay(50);
digitalWrite(13, LOW);
delay(100);
}
}Mivel soros futású a program, így a goto paranccsal nem ugrik vissza az elejére, azaz ha akkor nincs benyomva a gomb, akkor nem megy a motor.
Hogyan lehetne megoldani, hogy a gomb egyszeri rövid nyomására elinduljon, és addig ne álljon le, amíg a gombot nem nyomom hosszan? (Leállítás kb 2sec nyomásra)
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3338
- HIBÁTLAN iPhone 12 Mini 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3633
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3670 100% Akkumulátor
- Dell Latitude 7390 13,3" FHD IPS, i5-i7, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold
