maghji / Terrible Gray T-800

Loaded

0

0

Files

Schematic

PCB

Log InSign Up

Chat

Welcome to Flux

Treat Flux like your intern. Tell it what you'd like to build and it'll get to work. You can also ask it questions, brainstorm ideas, and teach it your preferences. Learn More

Design a blinking LED circuit
Design a WiFi water flow meter
Help me brainstorm ideas
Design a block diagram
Find parts in the library
Read a datasheet
Simulate a circuit
New Subsystem Wizard

โ€‹
Sign up to send

To get started, talk to Flux or create a New Document.

Reviews

Documents

    Documents are markdown text files which describe project goals, capture details, or even simulation outputs.

    Assets

    No assets added.

    Terrible Gray T-800

    Terrible Gray T-800 thumbnail
    use code and design skemetics > #include
    #define STEPS_PER_REVOLUTION 200 // Steps per revolution of your stepper motor #define MICROSTEPS_PER_STEP 8 // Microsteps per step of the stepper driver (DMA860H supports up to 256 microsteps) #define STEPPER_PIN1 12 // Stepper motor driver pulse pin #define STEPPER_PIN2 13 // Stepper motor driver direction pin
    #define STATUS_BUTTON_PIN 2 // Pin connected to status button #define EMERGENCY_BUTTON_PIN 3 // Pin connected to emergency stop button #define HOME_BUTTON_PIN 4 // Pin connected to home button
    // Define states for button handling enum ButtonState { Idle, Pressed, Debouncing };
    ButtonState statusButtonState = Idle; ButtonState emergencyButtonState = Idle; ButtonState homeButtonState = Idle;
    // Create a Stepper object with 200 steps per revolution and connect to appropriate pins Stepper stepper(STEPS_PER_REVOLUTION * MICROSTEPS_PER_STEP, STEPPER_PIN1, STEPPER_PIN2);
    void setup() { Serial.begin(9600); stepper.setSpeed(100); // Set the speed of the stepper motor (steps per second)
    // Initialize button pins pinMode(STATUS_BUTTON_PIN, INPUT_PULLUP); pinMode(EMERGENCY_BUTTON_PIN, INPUT_PULLUP); pinMode(HOME_BUTTON_PIN, INPUT_PULLUP);
    // Attach interrupts to buttons attachInterrupt(digitalPinToInterrupt(STATUS_BUTTON_PIN), statusButtonISR, FALLING); attachInterrupt(digitalPinToInterrupt(EMERGENCY_BUTTON_PIN), emergencyButtonISR, FALLING); attachInterrupt(digitalPinToInterrupt(HOME_BUTTON_PIN), homeButtonISR, FALLING); }
    void loop() { // Handle button states handleButtonState(statusButtonState, statusButtonPressed); handleButtonState(emergencyButtonState, emergencyButtonPressed); handleButtonState(homeButtonState, homeButtonPressed);
    // Your main code here }
    // ISR for status button void statusButtonISR() { statusButtonPressed = true; }
    // ISR for emergency stop button void emergencyButtonISR() { emergencyButtonPressed = true; }
    // ISR for home button void homeButtonISR() { homeButtonPressed = true; }
    // Function to handle button state transitions void handleButtonState(ButtonState &state, bool &pressed) { switch (state) { case Idle: if (pressed) { state = Debouncing; delay(50); // Debouncing delay } break; case Debouncing: if (!pressed) { state = Idle; } else { state = Pressed; } break; case Pressed: // Perform actions here when the button is pressed if (state == statusButtonState) { Serial.println("Status button pressed."); // Perform status-related actions here } else if (state == emergencyButtonState) { Serial.println("Emergency stop button pressed."); // Perform emergency stop actions here } else if (state == homeButtonState) { Serial.println("Home button pressed."); // Perform homing actions here } state = Idle; break; } pressed = false; }

    Properties

    Properties describe core aspects of the project.

    Pricing & Availability

    Distributor

    Qty 1

    Controls

    Welcome ๐Ÿ‘‹

    Flux helps you build PCBs faster with an AI teammate!

    Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.

        Introducing AI Placement!
        AI Placement Demo

        AI-Powered Component Placement

        Let AI place your components intelligently. AI Placement analyzes your schematic and positions components for optimal routing, signal integrity, and board density.

        From Schematic to Layout in Seconds

        Skip the tedious manual placement. AI Placement generates a starting layout you can refine, saving hours of repetitive work on every new design.

        Works With Auto-Layout

        Pair AI Placement with Auto-Layout for a complete AI-driven PCB design flow โ€” from component placement through trace routing, all with one click.

        Try it