diff --git a/FanMotor.ubl b/FanMotor.ubl new file mode 100644 index 0000000..a4093c9 --- /dev/null +++ b/FanMotor.ubl @@ -0,0 +1,19 @@ +module FanMotor +author unknown +version 1 0 +description '' +variables PWM + + spec ' ' 'MotorFan' 'MotorFan _ _ _' 'num bool auto' 23 true 50 + +to MotorFan Pin State Speed { + if (and (Speed > 0) (Speed <= 100)) { + PWM = (absoluteValue (((Speed - 1) * ((1023 - 1) / 99)) + 1)) + if (State == (booleanConstant true)) { + if (and (PWM > 0) (PWM < 1024)) {analogWriteOp Pin PWM} + } else { + digitalWriteOp Pin false + } + } +} + diff --git a/FanMotor.ubp b/FanMotor.ubp new file mode 100644 index 0000000..e597754 --- /dev/null +++ b/FanMotor.ubp @@ -0,0 +1,27 @@ +module main +author unknown +version 1 0 +description '' +variables PWM + + spec ' ' 'MotorFan' 'MotorFan _ _ _' 'num bool auto' 23 true 50 + +to MotorFan Pin State Speed { + if (and (Speed > 0) (Speed <= 100)) { + PWM = (absoluteValue (((Speed - 1) * ((1023 - 1) / 99)) + 1)) + if (State == (booleanConstant true)) { + if (and (PWM > 0) (PWM < 1024)) {analogWriteOp Pin PWM} + } else { + digitalWriteOp Pin false + } + } +} + +script 123 184 { +whenStarted +comment 'Enter (Pin, State, Speed%)' +MotorFan 23 true 50 +waitMillis 1000 +MotorFan 23 false 50 +} + diff --git a/README.md b/README.md new file mode 100644 index 0000000..bb27d5c --- /dev/null +++ b/README.md @@ -0,0 +1,86 @@ +# Fan Motor Library for MicroBlocks + +Welcome to the **Fan Motor Library** for MicroBlocks! +This library makes it easy for anyone—even if you don’t know how to code or use a computer much—to control a fan motor using simple blocks in MicroBlocks. + +--- + +## Features + +- **Easy drag-and-drop blocks** for controlling your fan motor +- **No coding required** +- **Turn on & off the fan** +- **Control the speed of the fan** +- **Beginner-friendly instructions** + +--- + +## Getting Started + +**What you need:** +- Spark microcontroller and connecting wires +- MicroBlocks IDE installed ([Download here](https://microblocks.fun/download/)) +- A fan motor and basic connecting wires + +--- + +## Installation + +1. **Download the Fan Motor Library:** + Download the library file above. + +2. **Open MicroBlocks IDE** on your computer. + +3. **Add the Library:** + - Go to the library manager in MicroBlocks. + - Click “Import Library” or drag and drop the downloaded file into the IDE. + +--- + +## How to Use + +1. **Connect your fan motor** to your microcontroller’s pins (see your board’s pinout for details). + +2. **Open MicroBlocks IDE** and make sure your board is connected. + +3. **Find the Fan Motor blocks** in the blocks menu. + +4. **Drag the blocks** you want to use into your script area. + - For example: + - “Set Pin Value + - “Turn Fan On” + - “Set Fan Speed” + +5. **Click the green flag** or “Run” to start controlling your fan! + +--- + +## Troubleshooting + +- **Fan not spinning?** + - Double-check your wiring. + - Make sure your microcontroller is powered on. + +- **Blocks not showing up?** + - Make sure you imported the library correctly. + +- **Still stuck?** + - See the “Contact” section below! + +--- + +## Contact & Support + +If you have any questions or need help, feel free to: +- Email me: [fatimaxidrees@gmail.com] + +--- + +## License + +This library is open source and free to use under the [MIT License](LICENSE) made in FABLAB BH. + +--- + +*Have fun building with your fan motor!* +