BMonster Laboratory
BMonster Laboratory
  • 249
  • 1 119 391
Streamline Your IoT Projects: ESP32-S3 Bluetooth to Android Data Exchange
Unlock the power of IoT with our guide to using the ESP32-S3 for Bluetooth data exchange with Android devices. Whether you're a student or a beginner eager to enhance your tech skills, this video will show you how to seamlessly integrate ESP32-S3 with an Android application, making your IoT projects smarter and more efficient.
🔔🔔 SUBSCRIBE 🔔🔔 don't forget to subscribe and click the bell!
th-cam.com/channels/t4bQMxOytascRdZmRao0wg.html
Facebook: BMonster-Laboratory-101410418059806/
*see this Facebook post by searching #espiot on Facebook*
Twitter: b_monsterlab
check out our Arduino play list! We try to make it easy 👍
th-cam.com/play/PLcO7FXCqKbe4umnPh31rrKc3D0F01g3cD.html
Chapter:
0:00 intro
0:15 Freenove website
0:34 items used in video
0:47 what came in the box
1:07 ESP32-s3 file download
1:58 set up Arduino IDE preferences
2:15 install ESP32 - IDE boards manager
3:21 first setup
3:39 BLE LED control sketch
4:42 LightBlue Android App
5:45 second setup
6:38 BLE Temp/Humidity sketch
7:39 LightBlue Android App (again)
In this tutorial, we dive into the essentials of setting up the ESP32-S3, configuring Bluetooth Low Energy (BLE) communications, and connecting to an Android app to receive and send data. Learn step-by-step how to establish a robust Bluetooth connection and explore practical examples of data exchange techniques that you can implement right away. By the end of this session, you'll not only master ESP32 Bluetooth integrations but also gain valuable insights into streamlining your IoT solutions.
This video is perfect for anyone interested in leveraging the powerful ESP32-S3 chip for home automation, environmental monitoring, or any smart device projects.
Tags: #ESP32S3 #BluetoothLowEnergy #IoTProjects #AndroidDataExchange #TechTutorial #SmartDevices #WirelessCommunication #IoTConnectivity #StreamlineIoT #HomeAutomation
มุมมอง: 236

วีดีโอ

😎 DIY Arduino: Adding MOTION Activated Sound to Star Wars Pit Droid with Bottango
มุมมอง 198วันที่ผ่านมา
combining classic Star Wars fandom with modern DIY electronics in our latest video, DIY Arduino: Adding Motion-Activated Sound to Star Wars Pit Droid with Bottango. 🔔🔔 SUBSCRIBE 🔔🔔 don't forget to subscribe and click the bell! th-cam.com/channels/t4bQMxOytascRdZmRao0wg.html Facebook: BMonster-Laboratory-101410418059806/ you can also find code on our Facebook page in the comments. S...
Full Flux MELTDOWN 🤔 Here’s How Isopropyl Alcohol Saved My Arduino | DIY Electronics Tutorial
มุมมอง 79321 วันที่ผ่านมา
Ever faced a Full Flux MELTDOWN with your electronics projects? Don’t worry! In this video, I'll show you how to use isopropyl alcohol cleaning to rescue your MP3 player shield and other electronics. Whether you’re a beginner or a hobbyist, you’ll find this tutorial perfect for anyone into DIY electronics, soldering, and Arduino projects. 🔔🔔 SUBSCRIBE 🔔🔔 don't forget to subscribe and click the ...
Using ESP8266 and A TFT Display to MONITOR Light Intensity And Excel To Graph It
มุมมอง 183หลายเดือนก่อน
Welcome to our hands-on tutorial where we dive into the exciting world of electronics with the ESP8266 and TFT Display, showcasing how to measure light intensity and visualize the data using Excel. In this ESP8266 project, we'll guide you through setting up your light sensor and TFT display project, ensuring you understand every step of the process. 🔔🔔 SUBSCRIBE 🔔🔔 don't forget to subscribe and...
Build a Temperature Monitoring System For ANY environment with Arduino & The DS18B20 Sensor!
มุมมอง 137หลายเดือนก่อน
Build an Epic Arduino temperature monitoring system with the DS18B20 Sensor! Explore the power of DIY electronics by constructing an advanced temperature monitoring system using an Arduino microcontroller and a precise DS18B20 waterproof sensor. This step-by-step tutorial will guide you through the journey of creating a reliable and accurate temperature monitor, perfect for environments that de...
OPTIMIZE Your 3D Printing: Arduino IoT PROJECT for Monitoring Temperature & Humidity in Enclosures
มุมมอง 149หลายเดือนก่อน
Dive into the world of 3D printing optimization with our detailed Arduino Cloud IoT project tutorial. See how to effortlessly monitor temperature and humidity within your 3D printer enclosure, ensuring the perfect printing environment from anywhere. This guide is packed with easy-to-follow instructions to connect sensors to the Arduino Cloud, enabling you to track the environmental conditions o...
IoT REMOTE App CONTROL Using Arduino Nano 33 IoT and Arduino Cloud
มุมมอง 5372 หลายเดือนก่อน
Beginners can create IoT remote app control using an Arduino Nano 33 IoT board and Arduino Cloud. See the basics of setting up an IoT project in the cloud to control a 5mm LED. 🔔🔔 SUBSCRIBE 🔔🔔 don't forget to subscribe and click the bell! th-cam.com/channels/t4bQMxOytascRdZmRao0wg.html Facebook: BMonster-Laboratory-101410418059806/ find the code on our Facebook page by searching #A...
Enhance Your Projects with Bottango: Using Servo Control with Arduino Mega & PCA9685 Servo Driver
มุมมอง 1.3K2 หลายเดือนก่อน
See how to enhance your animation project with Bottango using servo control with Arduino Mega and the PCA9685 servo driver. 🔔🔔 SUBSCRIBE 🔔🔔 don't forget to subscribe and click the bell! th-cam.com/channels/t4bQMxOytascRdZmRao0wg.html Facebook: BMonster-Laboratory-101410418059806/ find the code on our Facebook page - check in the comment section Twitter: b_monsterlab che...
Expand Your Arduino Project: How to Connect Multiple Microcontroller Boards
มุมมอง 3272 หลายเดือนก่อน
See how to expand your Arduino project by connecting multiple microcontroller boards! 🔔🔔 SUBSCRIBE 🔔🔔 don't forget to subscribe and click the bell! th-cam.com/channels/t4bQMxOytascRdZmRao0wg.html Facebook: BMonster-Laboratory-101410418059806/ find the code on our Facebook page. Search #arduinocommunication in Facebook for the video - see the code in the comment section Twitter: twi...
Enhance Your Arduino Projects with Better Sound Quality Using DFPlayer Mini MP3 Player
มุมมอง 1.7K3 หลายเดือนก่อน
Enhance Your Arduino Projects with Better Sound Quality Using DFPlayer Mini MP3 Player
Mastering Servo Control: PCA9685 PWM Driver with Arduino Tutorial and Demo
มุมมอง 6K3 หลายเดือนก่อน
Mastering Servo Control: PCA9685 PWM Driver with Arduino Tutorial and Demo
Arduino Basics: Mastering the 10-Segment LED Bar Graph In Your Project
มุมมอง 8544 หลายเดือนก่อน
Arduino Basics: Mastering the 10-Segment LED Bar Graph In Your Project
Optimizing 3D Printing: How the Creality Enclosure Masters Cold Temperatures
มุมมอง 1.4K4 หลายเดือนก่อน
Optimizing 3D Printing: How the Creality Enclosure Masters Cold Temperatures
How to Make a Light-Activated MP3 Sound Device - A Talking Cookie Jar Tutorial
มุมมอง 2785 หลายเดือนก่อน
How to Make a Light-Activated MP3 Sound Device - A Talking Cookie Jar Tutorial
Build A Bluetooth RC Car: Easy Arduino Nano Tutorial
มุมมอง 8655 หลายเดือนก่อน
Build A Bluetooth RC Car: Easy Arduino Nano Tutorial
Bringing a 3D Printed Star Wars Pit Droid to Life with Arduino Servos!
มุมมอง 9295 หลายเดือนก่อน
Bringing a 3D Printed Star Wars Pit Droid to Life with Arduino Servos!
How To Control Light Bulbs With Arduino Mega And A Multi Channel Relay - Random Selector Lights
มุมมอง 2496 หลายเดือนก่อน
How To Control Light Bulbs With Arduino Mega And A Multi Channel Relay - Random Selector Lights
RedBoard Qwiic Audio Control: Motion Activation and Random Shuffle with Arduino
มุมมอง 1796 หลายเดือนก่อน
RedBoard Qwiic Audio Control: Motion Activation and Random Shuffle with Arduino
Master Your Music Volume Control Like A Boss: Sparkfun MP3 Player Shield and Arduino Uno
มุมมอง 2767 หลายเดือนก่อน
Master Your Music Volume Control Like A Boss: Sparkfun MP3 Player Shield and Arduino Uno
Unlocking a Door with Arduino Uno & Fingerprint Scanner | Step-by-Step Guide
มุมมอง 8487 หลายเดือนก่อน
Unlocking a Door with Arduino Uno & Fingerprint Scanner | Step-by-Step Guide
Arduino Uno Fingerprint Scanner Tutorial: Enroll and Verify Your Fingerprints
มุมมอง 5K7 หลายเดือนก่อน
Arduino Uno Fingerprint Scanner Tutorial: Enroll and Verify Your Fingerprints
Create an Amazing Scrolling Halloween LED Marquee with Teensy 4.1
มุมมอง 3338 หลายเดือนก่อน
Create an Amazing Scrolling Halloween LED Marquee with Teensy 4.1
Make A Voice Activated Mp3 Player Using Arduino and MOVI Voice Recognition Synthesizer Shield
มุมมอง 5398 หลายเดือนก่อน
Make A Voice Activated Mp3 Player Using Arduino and MOVI Voice Recognition Synthesizer Shield
Repurposing Old Samsung TV Speakers with PAM8610 Amplifier Board - Upgrade Your Audio
มุมมอง 1.4K9 หลายเดือนก่อน
Repurposing Old Samsung TV Speakers with PAM8610 Amplifier Board - Upgrade Your Audio
How to Adjust and Set Your Servo Motor Angle with Arduino - A demo for beginners
มุมมอง 2.8K9 หลายเดือนก่อน
How to Adjust and Set Your Servo Motor Angle with Arduino - A demo for beginners
Transform Your Arduino into a Music Machine with a Membrane Keypad!
มุมมอง 2669 หลายเดือนก่อน
Transform Your Arduino into a Music Machine with a Membrane Keypad!
How To Build Your Own Arduino Robot Arm Using Five Servo Motors and A Joystick
มุมมอง 42910 หลายเดือนก่อน
How To Build Your Own Arduino Robot Arm Using Five Servo Motors and A Joystick
Arduino Mega Project: Etch-a-Sketch with Joystick and LCD Display
มุมมอง 37210 หลายเดือนก่อน
Arduino Mega Project: Etch-a-Sketch with Joystick and LCD Display
Smart Door Lock System using Arduino Uno and MOVI Voice Recognition
มุมมอง 88511 หลายเดือนก่อน
Smart Door Lock System using Arduino Uno and MOVI Voice Recognition
Raspberry Pi 4 Fun: Python Snake Game with Xbox Controller in Action
มุมมอง 32511 หลายเดือนก่อน
Raspberry Pi 4 Fun: Python Snake Game with Xbox Controller in Action

ความคิดเห็น

  • @thenature_life821
    @thenature_life821 2 วันที่ผ่านมา

    How to change language?

    • @BMonsterLaboratory
      @BMonsterLaboratory วันที่ผ่านมา

      Hi! It only speaks English as far as I know

  • @kyanoo2392
    @kyanoo2392 2 วันที่ผ่านมา

    What power supply do you recommend for 15 Servos?

    • @kyanoo2392
      @kyanoo2392 2 วันที่ผ่านมา

      And what can I use to make it portable

    • @BMonsterLaboratory
      @BMonsterLaboratory 2 วันที่ผ่านมา

      hey there! It depends on the servos you're using. The MG995 servos can have current at maximum load: 1200mA according to components101.com/motors/mg995-servo-motor You want enough current to accommodate all 15 servos. Current load for 15 servos could be around 18A (15 * 1200mA = 18000mA = 18A) It's advisable to choose a battery with a higher current rating than you need to ensure reliable and stable performance, taking into account factors like battery efficiency, voltage drops, and safety margins. Be sure to do our research and make sure you look over data sheets for the servos and other components you're going to use. I, personally, haven't used more than 6 servos on this driver. If you're using 15 MG995, I'd be interested in what you think of the performance. 👍

  • @menukagamage5073
    @menukagamage5073 2 วันที่ผ่านมา

    great work could you make a tutorial on this ?

    • @BMonsterLaboratory
      @BMonsterLaboratory 2 วันที่ผ่านมา

      Hey there! thanks. Here is a video where I set up Bottango, the software I used for the servo movements and the LED light turning on and off. th-cam.com/video/DWvVfzULl6U/w-d-xo.html Here's a video where I add a motion activated mp3 player. In this video I got rid of the servo driver board. The animation runs fine without it. th-cam.com/video/E8tsB2GdYjQ/w-d-xo.html I hope that helps! 👍

  • @jamesramsaywack7823
    @jamesramsaywack7823 3 วันที่ผ่านมา

    Great job explaining. Without you,I'll be lost on how to use this dron. I bought it for my two year old grandson. He loves it.Thank you.

    • @BMonsterLaboratory
      @BMonsterLaboratory 3 วันที่ผ่านมา

      Hey! I'm glad you found the video useful. I still have this little drone and it's still a lot of fun to play around with. I just wish the battery lasted longer. Thank you for leaving a message, I do appreciate it it 👍

  • @jamisonmacieldeoliveira9974
    @jamisonmacieldeoliveira9974 3 วันที่ผ่านมา

    Hello, I was studying with an openmv h7 plus and I ended up discovering your video. I liked it a lot, but I have a question that is how to create an executable so that I don't have to start from the computer? Help me, please!

    • @BMonsterLaboratory
      @BMonsterLaboratory 3 วันที่ผ่านมา

      hey there! Sketches are save as main.py. By default, the OpenMV Cam executes main.py automatically if it's in its root directory when powered on. Can you share your code? I'll do my best to help out 👍

  • @BMonsterLaboratory
    @BMonsterLaboratory 4 วันที่ผ่านมา

    Here is the sketch I used in the video for temperature and humidity monitoring. It is not in the tutorial. /* BLE Environmental Monitor: An Arduino sketch for ESP32S3 that reads temperature and humidity using a DHT11 sensor and transmits the data via BLE to the LightBlue app for real-time monitoring on a smartphone. */ #include "BLEDevice.h" #include "BLEServer.h" #include "BLEUtils.h" #include "BLE2902.h" #include <DHT.h> #define DHT_PIN 15 // GPIO pin connected to the DHT11 sensor #define DHT_TYPE DHT11 // DHT11 sensor type // UUIDs for BLE services and characteristics #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" #define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" DHT dht(DHT_PIN, DHT_TYPE); BLECharacteristic *pCharacteristicTX; bool deviceConnected = false; BLEServer *pServer; class MyServerCallbacks : public BLEServerCallbacks { void onConnect(BLEServer* pServer) { deviceConnected = true; Serial.println("Device connected"); }; void onDisconnect(BLEServer* pServer) { deviceConnected = false; Serial.println("Device disconnected"); // Start advertising again to allow auto-reconnection pServer->getAdvertising()->start(); } }; class MyCallbacks : public BLECharacteristicCallbacks { void onWrite(BLECharacteristic *pCharacteristic) { std::string rxValue = pCharacteristic->getValue(); if (!rxValue.empty()) { String command = String(rxValue.c_str()); command.trim(); command.toUpperCase(); Serial.println("Command received: " + command); if (command == "ON") { // Handle other commands if needed } else if (command == "TEMP") { // Read temperature and humidity float humidity = dht.readHumidity(); float temperatureC = dht.readTemperature(); float temperatureF = (temperatureC * 9 / 5) + 32; // Convert Celsius to Fahrenheit // Check if any reads failed if (isnan(humidity) || isnan(temperatureF)) { Serial.println("Failed to read from DHT sensor!"); return; } // Prepare and send the data over BLE char tempHumidValue[40]; sprintf(tempHumidValue, "T: %.1fF, H: %.1f%%", temperatureF, humidity); pCharacteristicTX->setValue(tempHumidValue); pCharacteristicTX->notify(); Serial.print("Sent to app: "); Serial.println(tempHumidValue); } } } }; void setupBLE(String BLEName) { BLEDevice::init(BLEName.c_str()); pServer = BLEDevice::createServer(); pServer->setCallbacks(new MyServerCallbacks()); BLEService *pService = pServer->createService(SERVICE_UUID); pCharacteristicTX = pService->createCharacteristic( CHARACTERISTIC_UUID_TX, BLECharacteristic::PROPERTY_NOTIFY ); pCharacteristicTX->addDescriptor(new BLE2902()); pService->start(); // Start advertising pServer->getAdvertising()->start(); Serial.println("BLE advertising started. Waiting for a client connection..."); } void setup() { Serial.begin(115200); dht.begin(); // Initialize the DHT sensor setupBLE("ESP32S3_Env_Monitor"); // Setup BLE with a specific device name for the environment monitoring } void loop() { delay(5000); // Wait for 5 seconds between readings // Read temperature and humidity float humidity = dht.readHumidity(); float temperatureC = dht.readTemperature(); float temperatureF = (temperatureC * 9 / 5) + 32; // Convert Celsius to Fahrenheit // Check if any reads failed and exit early (to try again). if (isnan(humidity) || isnan(temperatureF)) { Serial.println("Failed to read from DHT sensor!"); return; } // Prepare and send the data over BLE char tempHumidValue[40]; sprintf(tempHumidValue, "T: %.1fF, H: %.1f%%", temperatureF, humidity); pCharacteristicTX->setValue(tempHumidValue); pCharacteristicTX->notify(); Serial.print("Sent to app: "); Serial.println(tempHumidValue); }

  • @BMonsterLaboratory
    @BMonsterLaboratory 4 วันที่ผ่านมา

    Here is the sketch for the Bluetooth LED control. You'll find it in the tutorial under Sketch_13.2 /********************************************************************** Filename : BLE_USART Description : Esp32 communicates with the phone by BLE and sends incoming data via a serial port Auther : www.freenove.com Modification: 2022/10/26 **********************************************************************/ #include "BLEDevice.h" #include "BLEServer.h" #include "BLEUtils.h" #include "BLE2902.h" #include "String.h" BLECharacteristic *pCharacteristic; bool deviceConnected = false; uint8_t txValue = 0; long lastMsg = 0; char rxload[20]; #define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" #define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" #define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" #define LED 2 class MyServerCallbacks : public BLEServerCallbacks { void onConnect(BLEServer *pServer) { deviceConnected = true; }; void onDisconnect(BLEServer *pServer) { deviceConnected = false; } }; class MyCallbacks : public BLECharacteristicCallbacks { void onWrite(BLECharacteristic *pCharacteristic) { std::string rxValue = pCharacteristic->getValue(); if (rxValue.length() > 0) { for (int i = 0; i < 20; i++) { rxload[i] = 0; } for (int i = 0; i < rxValue.length(); i++) { rxload[i] = (char)rxValue[i]; } } } }; void setupBLE(String BLEName) { const char *ble_name = BLEName.c_str(); BLEDevice::init(ble_name); BLEServer *pServer = BLEDevice::createServer(); pServer->setCallbacks(new MyServerCallbacks()); BLEService *pService = pServer->createService(SERVICE_UUID); pCharacteristic = pService->createCharacteristic(CHARACTERISTIC_UUID_TX, BLECharacteristic::PROPERTY_NOTIFY); pCharacteristic->addDescriptor(new BLE2902()); BLECharacteristic *pCharacteristic = pService->createCharacteristic(CHARACTERISTIC_UUID_RX, BLECharacteristic::PROPERTY_WRITE); pCharacteristic->setCallbacks(new MyCallbacks()); pService->start(); pServer->getAdvertising()->start(); Serial.println("Waiting a client connection to notify..."); } void setup() { pinMode(LED, OUTPUT); setupBLE("ESP32test"); Serial.begin(115200); Serial.println(" The device started, now you can pair it with Bluetooth!"); } void loop() { long now = millis(); if (now - lastMsg > 100) { if (deviceConnected && strlen(rxload) > 0) { if (strncmp(rxload, "led_on", 6) == 0) { digitalWrite(LED, HIGH); } if (strncmp(rxload, "led_off", 7) == 0) { digitalWrite(LED, LOW); } Serial.println(rxload); memset(rxload,0,sizeof(rxload)); } lastMsg = now; } }

  • @BMonsterLaboratory
    @BMonsterLaboratory 4 วันที่ผ่านมา

    You will also want to install CH34SER.EXE if you don't have it. It is part of the Freenove tutorial download. Once you open the file, click the CH343 folder and download from there....I knew I was missing something! This is a nice and easy project to get familiar with the board. The goal is to use the camera and integrate the camera into various projects.....stay tuned 👍

  • @1stpagelocal
    @1stpagelocal 5 วันที่ผ่านมา

    I wonder if I could talk to you and pick your heart about a little outdoor speaker/motion sensor project that I am working on ? Thanks

    • @BMonsterLaboratory
      @BMonsterLaboratory 5 วันที่ผ่านมา

      Hi! I'm happy to help however I can. Feel free to ask here or email ( bmonsterlaboratory@gmail.com), or Facebook (facebook.com/profile.php?id=100059867144068)

  • @samudralasharing5471
    @samudralasharing5471 8 วันที่ผ่านมา

    can this servo changes like 0 ,5,10,15 degrees. Waht is the minimum angle it can change

    • @BMonsterLaboratory
      @BMonsterLaboratory 8 วันที่ผ่านมา

      hey there! Yes, this servo can change rotation in increments of 5 degrees. The MG995 can rotate 120 deg, -60degrees to +60degrees. here's a link to the data sheet - www.electronicoscaldas.com/datasheet/MG995_Tower-Pro.pdf There are servos that rotate 180degrees and continuous rotation. 👍

  • @michaelturner4457
    @michaelturner4457 8 วันที่ผ่านมา

    Could be a duff microcontroller

    • @BMonsterLaboratory
      @BMonsterLaboratory 8 วันที่ผ่านมา

      Hey there! Ya, it could be....It could be a number of things. I used these kits to practice soldering because they are very cheap. As a beginner at soldering, I used too much solder and applied too much heat to the contact which is ultimately why it failed...if I had to guess. But, you only getter better from practice :)

  • @Comrade_YG
    @Comrade_YG 8 วันที่ผ่านมา

    The music made me laugh out loud idk why😊

  • @Sammyrobotics-bv1x
    @Sammyrobotics-bv1x 9 วันที่ผ่านมา

    Every time I try to export code to Arduino it doesn’t let me I’ve been stuck on that part. Can you help me? I tried to refresh it every time I try to open the file that you told me it doesn’t go Arduino software export the code

    • @BMonsterLaboratory
      @BMonsterLaboratory 9 วันที่ผ่านมา

      interesting. do you get any error messages? Where is the exact point of failure? I can make a TH-cam short on how I do it...if that helps.

    • @Sammyrobotics-bv1x
      @Sammyrobotics-bv1x 8 วันที่ผ่านมา

      It doesn’t say any error messages I just don’t let me export it from bottango to Arduino

    • @BMonsterLaboratory
      @BMonsterLaboratory 8 วันที่ผ่านมา

      @@Sammyrobotics-bv1x Hmm... I'm not sure what the problem could be. In the animate tab on the left, look right and click export to code under the animations. From there you just follow the prompts and select a folder. I'll keep playing around with it but I haven't seen a problem so far.

    • @BMonsterLaboratory
      @BMonsterLaboratory 8 วันที่ผ่านมา

      I was able to open a brand new project and go straight to export. It says I have no motors or effectors in selected animation clips. make sure project is saved and try again. If it doesn't work, remove and reinstall Bottango....

  • @Bohbot9000
    @Bohbot9000 12 วันที่ผ่านมา

    Looks great. I see you aren't using the wire anymore and went back to a spring? Did that end up being more stable?

    • @BMonsterLaboratory
      @BMonsterLaboratory 12 วันที่ผ่านมา

      Hey there! I found a good spring that wasn't too stiff and wasn't too loose. The wire would snap after a few adjustments but the spring that's in there now is great! I guess if anything is placed in the head, like a board or speaker, we'd need a stiffer spring. But as of now, it's working well. It's also light enough that I can use 5v to power the servos without any trouble. I tried everything on this head animation. Went front redneck hardware quick fixes to recommended parts. It was fun. ready for another one!

  • @Big74Mike2012
    @Big74Mike2012 12 วันที่ผ่านมา

    @ 5:57 It's a MICRO USB port, not a mini USB port.

  • @BMonsterLaboratory
    @BMonsterLaboratory 12 วันที่ผ่านมา

    Here is the code I used from the video. After exporting your Bottango code, copy and past this to the BottangoArduinoDriver.inoi tab at the top of your sketch. Of course you can alter any aspect of this to make it your own. If you want different head movements just reconnect to Bottango, create new animation, export Bottango code, and paste this same code to the same tab in the sketch Check out the description for links to previous videos no setting up your animation and using DFPlayer Mini module if you need it. 👍 //Pit Droid is motion activated for 30 sec with sound #include "src/BottangoCore.h" #include "src/BasicCommands.h" #include <DFRobotDFPlayerMini.h> // Include the DFPlayer Mini library // Function prototypes void checkMotionSensor(); void manageTrackPlayback(); void triggerAnimation(); // Create a DFPlayer Mini object DFRobotDFPlayerMini mp3; // Pin definition for the motion sensor #define MOTION_SENSOR_PIN 6 // Motion detection variables bool motionDetected = false; unsigned long lastDetectionTime = 0; const unsigned long trackDuration = 30000; // 30 seconds duration for music playback after motion detection unsigned long trackEndTime = 0; // Time to end track play // Setup function void setup() { // Initialize the motion sensor pin as input pinMode(MOTION_SENSOR_PIN, INPUT); // Start communication with the computer Serial.begin(115200); // For debugging, outputs to the Serial Monitor // Initialize hardware serial (TX1/RX1) for DFPlayer Mini Serial1.begin(9600); // Check if the DFPlayer Mini is correctly connected if (mp3.begin(Serial1)) { Serial.println("DFPlayer Mini is ready."); mp3.volume(20); // Set volume level (0-30) } else { Serial.println("Error: DFPlayer Mini not detected. Please check connections."); } // Setup the BottangoCore BottangoCore::bottangoSetup(); } // Loop function void loop() { // Check for motion and manage track playback checkMotionSensor(); manageTrackPlayback(); // Run Bottango loop BottangoCore::bottangoLoop(); } // Function to check the motion sensor void checkMotionSensor() { bool currentMotion = digitalRead(MOTION_SENSOR_PIN) == HIGH; unsigned long currentTime = millis(); if (currentMotion && !motionDetected) { motionDetected = true; lastDetectionTime = currentTime; Serial.println("Motion detected. Triggering animation and music."); triggerAnimation(); trackEndTime = currentTime + trackDuration; // Set the time when the music should stop } } // Function to trigger animations and music void triggerAnimation() { BottangoCore::commandStreamProvider.startCommandStream(0, false); // Start default animation without looping mp3.randomAll(); // Play a random track from the SD card Serial.println("Music playback started."); } // Function to manage track playback based on motion detection void manageTrackPlayback() { unsigned long currentTime = millis(); if (currentTime >= trackEndTime && motionDetected) { Serial.println("30 seconds have passed since motion was detected. Stopping playback."); mp3.stop(); // Stop playback motionDetected = false; // Reset motion detection flag } }th-cam.com/users/sgaming/emoji/7ff574f2/emoji_u1f44d.png

  • @SummersideDiver
    @SummersideDiver 12 วันที่ผ่านมา

    This is awesome, I’m so glad you got it all together! Did I catch this right? The LEDs color and sequence are not controlled by Bottango? If so, why not - would a …. Curve? … work? Sorry, I can’t remember the correct term or if that curve is it. That is what I used when I made my crows eyes blink. Very thorough video of your set up, that is awesome that you did that because I’m sure it will help others, myself included.

    • @BMonsterLaboratory
      @BMonsterLaboratory 12 วันที่ผ่านมา

      Hey there, thanks! The LED on/off switch is controlled by Bottango while the pattern, blink speed, and color are controlled by the mini controller on the LED wire. It was easier for me to change the look of the LEDs whenever I want without connecting the board and changing code or bottango settings. I used Bottango to control the serovs and power to the LED, the motion sensor and mp3's are controlled by Arduino. I may not have been clear about that (oops). A curve may work, I'll have to try it. I have another one to build. I would like to make a controller for it, use xbee or maybe some cheaper bluetooth modules. We'll see. I think it will be fun to come back to this every once in a while with some different builds.. Thanks for leaving a comment. Much appreciated !! 👍

    • @SummersideDiver
      @SummersideDiver 12 วันที่ผ่านมา

      @@BMonsterLaboratory no, you were clear in the explanation, and the reasoning makes perfect sense. Happy to comment, helps create community and supports each other’s work.

    • @BMonsterLaboratory
      @BMonsterLaboratory 12 วันที่ผ่านมา

      The Droid Division and Bottango groups are great to talk to. They both have a great community of users that are always helpful.

  • @3dPrintrz
    @3dPrintrz 13 วันที่ผ่านมา

    How powerful would you say the servo is? I wanna see if I could put it on a paper airplane and fly it

    • @BMonsterLaboratory
      @BMonsterLaboratory 13 วันที่ผ่านมา

      it's not very powerful. I don't recall what the power requirements were. you might be better off using a mini dc motor with a small propeller on it. 👍

  • @woldecosgrove
    @woldecosgrove 13 วันที่ผ่านมา

    wheres the code and diagram ?

    • @BMonsterLaboratory
      @BMonsterLaboratory 13 วันที่ผ่านมา

      Hi! Code is straight from the stepper.h library. I show you how to load it to your board in the video. There is also a diagram in the video. 👍

  • @pablotrujillo2394
    @pablotrujillo2394 14 วันที่ผ่านมา

    hi nice tutorial can u explain how u controller the neopixel ring in the eye I know u put a custom event but I need to make some modification to the code. and another questions u try to play without the pc but trigger the animation with some kind of motion sensor or push button. Thanks

    • @BMonsterLaboratory
      @BMonsterLaboratory 14 วันที่ผ่านมา

      Hey there! I went simple with the LED ring. You can put your own LED code in the Arduino sketch but this WS2812B LED ring comes with a mini RGB controller, and that is what I use. I can control blink speed, color, and pattern by pressing 3 buttons. All I do for the LED ring is provide 5v power...It's the easiest way. I am posting one more video with this pit droid head motion this weekend. It will have a basic HC-SR501 motion sensor to to activate motion. I will be including the code I added to he exported sketch and a number of diagrams in case someone else wants to do the same thing. If you would rather have a bush button, that's doable too. The goal is to post the video Saturday morning ....10 or 11 am EST.

    • @pablotrujillo2394
      @pablotrujillo2394 14 วันที่ผ่านมา

      @@BMonsterLaboratory thanks I wait until Saturday to follow your tutorials.

  • @jayagarwal7330
    @jayagarwal7330 15 วันที่ผ่านมา

    Any advice on how I could do this using 2 potentiometers as knobs instead of a joystick?

    • @BMonsterLaboratory
      @BMonsterLaboratory 15 วันที่ผ่านมา

      You should be able to modify movement logic and map potentiometer values. try this #include <Wire.h> #include <LiquidCrystal_I2C.h> // Potentiometer pins const int potXPin = A0; const int potYPin = A1; const int buttonPin = 2; // Display settings const int displayColumns = 20; const int displayRows = 4; // I2C address of the LCD display const int lcdAddress = 0x27; LiquidCrystal_I2C lcd(lcdAddress, displayColumns, displayRows); // Cursor position int cursorX = displayColumns / 2; int cursorY = displayRows / 2; // Flag to track if "*" should remain on the screen bool drawStar = false; // State of each position on the display bool displayState[displayRows][displayColumns]; void setup() { // Initialize serial communication Serial.begin(9600); while (!Serial) { ; // Wait for serial port to connect } // Initialize the LCD display lcd.init(); lcd.backlight(); lcd.begin(displayColumns, displayRows); // Set initial cursor position lcd.setCursor(cursorX, cursorY); lcd.print("*"); // Initialize display state clearDisplayState(); // Set button pin as input with internal pull-up resistor pinMode(buttonPin, INPUT_PULLUP); } void loop() { // Read potentiometer values int potXValue = analogRead(potXPin); int potYValue = analogRead(potYPin); int buttonState = digitalRead(buttonPin); // Map the potentiometer values to cursor movement if (potXValue < 341) { moveCursorLeft(); } else if (potXValue > 682) { moveCursorRight(); } if (potYValue < 341) { moveCursorUp(); } else if (potYValue > 682) { moveCursorDown(); } // Check if button is pressed if (buttonState == LOW) { lcd.clear(); drawStar = true; cursorX = displayColumns / 2; cursorY = displayRows / 2; clearDisplayState(); Serial.println("Display reset."); } // Update display based on the cursor position updateDisplay(); Serial.print("Cursor Position - X: "); Serial.print(cursorX); Serial.print(", Y: "); Serial.println(cursorY); delay(100); // Adjust delay as needed } void moveCursorLeft() { if (cursorX > 0) cursorX--; } void moveCursorRight() { if (cursorX < displayColumns - 1) cursorX++; } void moveCursorUp() { if (cursorY > 0) cursorY--; } void moveCursorDown() { if (cursorY < displayRows - 1) cursorY++; } void updateDisplay() { lcd.clear(); if (drawStar) { lcd.setCursor(cursorX, cursorY); lcd.print("*"); displayState[cursorY][cursorX] = true; } for (int row = 0; row < displayRows; row++) { for (int col = 0; col < displayColumns; col++) { if (displayState[row][col]) { lcd.setCursor(col, row); lcd.print("*"); } } } } void clearDisplayState() { for (int row = 0; row < displayRows; row++) { for (int col = 0; col < displayColumns; col++) { displayState[row][col] = false; } } } connect your potentiometers to A0 and A1

  • @Sammyrobotics-bv1x
    @Sammyrobotics-bv1x 15 วันที่ผ่านมา

    How did you upload the bott tango file to Arduino also I am on Mac book

    • @BMonsterLaboratory
      @BMonsterLaboratory 15 วันที่ผ่านมา

      Hi Sammy, I'm on a pc, so I could tell you how I did it for pc....not sure how it translates to mac. Export from the Bottango software, open the file and drag 2 files (GeneratedCommandStreams.cpp, GeneratedCommandStreams.h) to the Bottango Arduino driver folder. From this file, open the Bottango Arduino sketch, go to BottangoArduinoConfig.h tab and uncomment #define USE_COMMAND_STREAM line. If you are using the servo driver board, uncomment the #define USE_ADAFRUIT_PWM_LIBRARY line. I am currently using 2 servos and not using the servo breakout board and it's working fine. If you're not using the driver board, leave the line as it is "// #define USE_ADAFRUIT_PWM_LIBRARY " From here you should be able to upload and start your animation without the computer. Upload the file from Arduino IDE. If you connect back to the computer, be sure to comment the command stream line "//#define USE_COMMAND_STREAM" 👍

  • @justChristiancool
    @justChristiancool 18 วันที่ผ่านมา

    thats cool

    • @BMonsterLaboratory
      @BMonsterLaboratory 18 วันที่ผ่านมา

      Thanks! lots more I plan to do with it 👍

  • @danielcohelloanez4558
    @danielcohelloanez4558 18 วันที่ผ่านมา

    Great video! I was hoping I could ask two questions: -When a file has been played, does it stop or does it go to the next one automatically? -Is there any indicator signal or flag to know when a file has stopped playing? The reason I'm asking is because I want to build a project with one of these and a single motion sensor (PIR), and I want it to play a different file every time it detects motion (that's not the difficult part), the thing is that I don't want the motion detection to interrupt a file that is already playing, but to let it finish and then play the next one when motion is detected after having played the previous one. Thanks!

    • @BMonsterLaboratory
      @BMonsterLaboratory 18 วันที่ผ่านมา

      Hello, and thank you for the compliment! I have several videos using this Sparkfun mp3 player shield. I have a video that matches your description right here - th-cam.com/video/zamlAniU2nQ/w-d-xo.html You can find the Arduino sketch for that video on our Facebook page by searching "mp3uino" on Facebook, just check the comment section. If you have any questions about changing the code or adding something that's not included, feel free to ask. Have fun and thanks for reaching out! 👍

  • @daniell707
    @daniell707 19 วันที่ผ่านมา

    Please do not crimp this way! you are trusting your electrical connection to hold with no mechanical connection between the conductors! The triangle wings wrap the insulation, the rectangle wings smash around the conductor. The wire conductor protruding so far into the female socket could prevent the pin from inserting.

    • @BMonsterLaboratory
      @BMonsterLaboratory 19 วันที่ผ่านมา

      thanks! great to hear from you 👍

  • @JetroValera
    @JetroValera 19 วันที่ผ่านมา

    Sir can you please make a tutorial for this We have a project to make , to unlock and lock the smart door lock using voice command

    • @BMonsterLaboratory
      @BMonsterLaboratory 19 วันที่ผ่านมา

      hey there! here's the video th-cam.com/video/Gj5QA3xu8fI/w-d-xo.html 👍

  • @solutionreplays6622
    @solutionreplays6622 21 วันที่ผ่านมา

    Can you have the servos doing different operations at the same time or can they only do the same action across them all

    • @BMonsterLaboratory
      @BMonsterLaboratory 19 วันที่ผ่านมา

      hi, yes... you should be able to. sorry for the late response. If you're using the code I posted on Facebook, you would have something similar to this: for (int pos = SERVO_MIN; pos <= SERVO_MAX; pos += 1) { for (int i = 0; i < NUM_SERVOS; i++) { if (i % 2 == 0) { // Even servos pwm.setPWM(servoPins[i], 0, pos); } else { // Odd servos move - opposite direction pwm.setPWM(servoPins[i], 0, SERVO_MAX + SERVO_MIN - pos); } }

  • @user-hu4jl6sy6j
    @user-hu4jl6sy6j 22 วันที่ผ่านมา

    What servo did you used?

    • @BMonsterLaboratory
      @BMonsterLaboratory 22 วันที่ผ่านมา

      Hey! These are MG995

    • @user-hu4jl6sy6j
      @user-hu4jl6sy6j 21 วันที่ผ่านมา

      @@BMonsterLaboratory we used the same servo but it just rotates continuously

    • @BMonsterLaboratory
      @BMonsterLaboratory 21 วันที่ผ่านมา

      @@user-hu4jl6sy6j can you post your code here?

  • @degamers8710
    @degamers8710 22 วันที่ผ่านมา

    can you please give me the code link

    • @BMonsterLaboratory
      @BMonsterLaboratory 22 วันที่ผ่านมา

      sure! I can. Here are both sketches. //HC-06 slave for car #include <SoftwareSerial.h> SoftwareSerial BTSerial(11, 12); // RX, TX const int motorPin1 = 3; // Motor control pins const int motorPin2 = 4; const int motorPin3 = 5; const int motorPin4 = 6; const int enA = 9; // Enable pin for motor A const int enB = 10; // Enable pin for motor B void setup() { Serial.begin(9600); BTSerial.begin(9600); // HC-06 default speed pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT); pinMode(enA, OUTPUT); pinMode(enB, OUTPUT); analogWrite(enA, 255); // Full speed analogWrite(enB, 255); } void loop() { if (BTSerial.available()) { char command = BTSerial.read(); Serial.print("Received command: "); Serial.println(command); // Debug output controlCar(command); } } void controlCar(char command) { switch (command) { case 'F': // Forward digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); break; case 'B': // Backward digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); break; case 'L': // Left digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); break; case 'R': // Right digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); break; case 'S': // Stop digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); break; } } //HC-05 joystick #include <SoftwareSerial.h> SoftwareSerial BTSerial(11, 12); // RX, TX const int joyX = A0; // Joystick X-axis const int joyY = A1; // Joystick Y-axis const int threshold = 50; // Threshold for joystick sensitivity void setup() { BTSerial.begin(9600); // HC-05 default speed pinMode(joyX, INPUT); pinMode(joyY, INPUT); } void loop() { int xVal = analogRead(joyX); int yVal = analogRead(joyY); // Check if the joystick is in the neutral position for stopping if (abs(xVal - 512) < threshold && abs(yVal - 512) < threshold) { BTSerial.write('S'); // Stop } else { // Forward and Backward if (yVal > 512 + threshold) { BTSerial.write('F'); // Forward } else if (yVal < 512 - threshold) { BTSerial.write('B'); // Backward } // Left and Right if (xVal > 512 + threshold) { BTSerial.write('R'); // Right } else if (xVal < 512 - threshold) { BTSerial.write('L'); // Left } } delay(100); // Delay to prevent too many commands }

    • @degamers8710
      @degamers8710 21 วันที่ผ่านมา

      @@BMonsterLaboratory can you sent me the code its a school project ?

    • @BMonsterLaboratory
      @BMonsterLaboratory 21 วันที่ผ่านมา

      @@degamers8710 it's posted on my facebook page. #arduinoRC to find it. thatt's the only other place that I posted it. facebook.com/profile.php?id=100059867144068

  • @nielsdaemen
    @nielsdaemen 24 วันที่ผ่านมา

    I always use candle wax as Flux because it's non-toxic and cheap

    • @BMonsterLaboratory
      @BMonsterLaboratory 24 วันที่ผ่านมา

      hmmm.... interesting! I switched to solder paste. no more liquid flux for me.

    • @BMonsterLaboratory
      @BMonsterLaboratory 24 วันที่ผ่านมา

      hmmm....interesting! I switched from liquid flux to solder paste. works great~

  • @nielsdaemen
    @nielsdaemen 24 วันที่ผ่านมา

    The solar Flux really just protects the Arduino from moisture and prevents corrosion so you might as well have left it on

    • @BMonsterLaboratory
      @BMonsterLaboratory 24 วันที่ผ่านมา

      hey there! The flux on the pins and sd card would have made it difficult to use. I didn't power the board on before I cleaned it. I thought there may be a good chance the flux could interfere with electrical contacts. It's great at what it does but it can be very messy, especially if you spill it 😆

  • @thatstrami
    @thatstrami 24 วันที่ผ่านมา

    Just purchased this. Can't wait to get it and set it up. I really appreciate your video.

    • @BMonsterLaboratory
      @BMonsterLaboratory 24 วันที่ผ่านมา

      Awesome! La Crosse weather stations are great. Thank you for leaving a message. I hope you enjoy yours, too. Very convenient to have one. 👍

  • @desmondhow343
    @desmondhow343 24 วันที่ผ่านมา

    In the past i have tried with paint thinners it work great but dont get it on any plastic part it will damage it instantly. The pcb was fine and component was ok as well unless for any plastic component.

    • @BMonsterLaboratory
      @BMonsterLaboratory 24 วันที่ผ่านมา

      That's good to know! It sounds like you would have to work with smaller amounts. I imagine it's pretty harsh, may need to crack a window when you use it.

  • @jaylasuarez1201
    @jaylasuarez1201 24 วันที่ผ่านมา

    I bought this for my 2TB drive but every time its plugged in, the station won't turn on. Its perfectly fine when the hard drive isn't plugged in though.

    • @BMonsterLaboratory
      @BMonsterLaboratory 24 วันที่ผ่านมา

      hey there! Sorry to hear that. They used to have good customer service but it's been a long time since I reached out to them. Maybe you need a firmware update? Try that and see if it works. fingers crossed!~

  • @BMonsterLaboratory
    @BMonsterLaboratory 25 วันที่ผ่านมา

    You can also change the number of data points be increasing the delay at the end of the sketch. Your graph would like much better as well 😎

  • @hannahr.430
    @hannahr.430 25 วันที่ผ่านมา

    it says i have a problem with compilation on # include <AFMotor.h> can you help me?

    • @BMonsterLaboratory
      @BMonsterLaboratory 25 วันที่ผ่านมา

      hey there! It looks like maybe you don't have the Adafruit motor library installed (AFMotor.h). Install the library by going to Sketch > Include Library > Manage Libraries in the Arduino IDE. In the Library Manager, type "Adafruit_Motor_Shield_librrary". You should be able to install from the IDE, which is convenient! Hope that helps 👍

  • @mervynfrichot7415
    @mervynfrichot7415 25 วันที่ผ่านมา

    you're the best! exactly what I needed and you explained it so clearly thank youuuuuuuuu!

  • @maksleonov1092
    @maksleonov1092 25 วันที่ผ่านมา

    Ну а что, прикольно.

    • @BMonsterLaboratory
      @BMonsterLaboratory 25 วันที่ผ่านมา

      Спасибо! Эта доска действительно доставляет массу удовольствия 😎

  • @amirrahi9573
    @amirrahi9573 26 วันที่ผ่านมา

    Ye i am able to rotate to 0 to 50 degree but simultanously motor rotating to 360 slowly slowly

    • @BMonsterLaboratory
      @BMonsterLaboratory 26 วันที่ผ่านมา

      do you have a continuous rotation servo ?

  • @SummersideDiver
    @SummersideDiver 26 วันที่ผ่านมา

    Wow, what a mess! Good job cleaning it up, glad it worked and thanks for sharing.

    • @BMonsterLaboratory
      @BMonsterLaboratory 26 วันที่ผ่านมา

      Thanks! I honestly thought I was going to have to throw it away. Glad I kept it. 👍

    • @SummersideDiver
      @SummersideDiver 26 วันที่ผ่านมา

      @@BMonsterLaboratory that’s awesome that it worked and great to share so we can all learn

    • @BMonsterLaboratory
      @BMonsterLaboratory 26 วันที่ผ่านมา

      @@SummersideDiver isopropyl alcohol works great!

    • @johanbenko7818
      @johanbenko7818 26 วันที่ผ่านมา

      You could also put a coffee filter on your pcb, pour a small amount of IPA on it and then rub on the filter with your toothbrush. I don’t recall who taught me this but it works great. You can also use bio ethanol which is a smaller molecule and cleans even better. Using the same toothbrush to brush your teeth however is not recommended 😅.

    • @BMonsterLaboratory
      @BMonsterLaboratory 26 วันที่ผ่านมา

      @johanbenko7818 I like the idea with the coffee filter. It's lint free, unlike my paper towel and q-tip! I would never use my personal toothbrush to clean electronics...gross. However, I don't like to waste coffee filters. Suppose I could reuse the filter for my next pot of coffee if I let it air dry on the table? 🤣

  • @ivyvo8333
    @ivyvo8333 26 วันที่ผ่านมา

    hi there, thank you so much for your video, really helpful. quick question in term of power supply, im using 6 MG996R at the moment at 5V 15A seems to be too much for them, do you suggest particular lower A for the power supply?

    • @BMonsterLaboratory
      @BMonsterLaboratory 26 วันที่ผ่านมา

      Hello! If the 5v 15A supply is working for you, stick with it. You want to be sure to have plenty of overhead current to handle the servos when they are all drawing the most current at 5v and the motors will only draw the current they need. Check data sheets and test to ensure there's no over heating or erratic behavior of the motors based on your project. But, I would keep the 5v 15A supply for 6 servos. I hope this helps!

  • @fredericknielsen4984
    @fredericknielsen4984 27 วันที่ผ่านมา

    So how to know the hardware type?

    • @BMonsterLaboratory
      @BMonsterLaboratory 27 วันที่ผ่านมา

      Download the MAX7219 library. There's an example in the library called MD_MAX72xx_HW_Mapper - open this example in ArduinoIDE. Upload the sketch to your boad with the 8x8 led connected and follow directions on the serial monitor. It will ask questions about direction of led movement....after you answer the questions it will tell you what yo have. The type depends on how the matrix is wired and arranged which affects how you address them in the code. I found that most of my 8x8 modules are FC16_HW

    • @fredericknielsen4984
      @fredericknielsen4984 26 วันที่ผ่านมา

      @@BMonsterLaboratory thanks!

    • @BMonsterLaboratory
      @BMonsterLaboratory 26 วันที่ผ่านมา

      @@fredericknielsen4984 you're welcome. best of luck to you!

  • @user-zl5bd8uw9i
    @user-zl5bd8uw9i 27 วันที่ผ่านมา

    Hey, this code was very helpful and simple. Thank you! How would I adjust the speed of the servos as well? I'm basically duplicating the code for the start position, a delay, and an end position but the servos I have are too fast. How might I slow them down?

    • @BMonsterLaboratory
      @BMonsterLaboratory 27 วันที่ผ่านมา

      hey there! you can add 2 variables, "step" and delayTime" in this example. delayTime determines the pause length between each movement (smaller delay = faster movement) and step determines will determine how smooth the motor will move. You can play around with both variables. Try this: #include <Servo.h> Servo servoMotor; const int servoPin = 3; const int targetAngle = 90; // Target position for the servo void setup() { Serial.begin(9600); servoMotor.attach(servoPin); servoMotor.write(0); // Start at 0 degrees int pos = 0; int step = 1; // Step size of 1 degree per movement int delayTime = 15; // Fixed delay time in milliseconds if (targetAngle > pos) { for (pos = 0; pos <= targetAngle; pos += step) { servoMotor.write(pos); delay(delayTime); } } else { for (pos = 0; pos >= targetAngle; pos -= step) { servoMotor.write(pos); delay(delayTime); } } } void loop() { int targetAngle = 90; // Target position for the servo int pos = servoMotor.read(); // Read current position of the servo int delayTime = 15; // Fixed delay time in milliseconds int step = pos < targetAngle ? 1 : -1; // Determine step direction based on current position while (pos != targetAngle) { pos += step; // Increment or decrement the position servoMotor.write(pos); // Move the servo to the new position delay(delayTime); // Wait to maintain a consistent speed } // Optional delay to handle behavior at the end of movement delay(1000); // Wait for 1 second before next move or action }

  • @peytonpace4092
    @peytonpace4092 28 วันที่ผ่านมา

    Can you make more videos on the elegoo mega 2560

  • @sargismartirosyan9946
    @sargismartirosyan9946 29 วันที่ผ่านมา

    My favorite arduino board is esp32 and esp8266

    • @BMonsterLaboratory
      @BMonsterLaboratory 29 วันที่ผ่านมา

      Cool! I just started using them more. The esp8266 is still a good board. Bought 2 esp32 boards - one arduino and the other generic. 👍

    • @sargismartirosyan9946
      @sargismartirosyan9946 29 วันที่ผ่านมา

      @@BMonsterLaboratory well im not. Learning them i just grep what i want and use them / the code So if you can pls say or explain what is generic ? Pls ? And im cyber sec. student Did you know you can hack wifi using esp8266 and esp32 😀🙄 I search that up and learn about it

  • @menukagamage5073
    @menukagamage5073 หลายเดือนก่อน

    Thank you so much for this video … is there any way u can trigger 3 different file with 3 buttons?

    • @BMonsterLaboratory
      @BMonsterLaboratory หลายเดือนก่อน

      hey there! Would each file go through a different animation ? For example, button 1 would make it talk and look up, button 2 would make his light blink, and button 3 would make it look around while talking and flashing lights. Am I on the right track here? You can do that...or should be able to do that. Can you explain a bit about what you want to achieve? thanks for the comment and good luck with your animations! 👍💪

    • @menukagamage5073
      @menukagamage5073 หลายเดือนก่อน

      I have 3 different motion profile (2 servos and 5 on/off events ) I would like to assign 3 buttons for each motions .. hope u get it and thanks for quick replay

    • @BMonsterLaboratory
      @BMonsterLaboratory 29 วันที่ผ่านมา

      I haven't done anything like that yet. It sounds doable though.

    • @menukagamage5073
      @menukagamage5073 29 วันที่ผ่านมา

      I appreciate your reply.. can I least connect one switch to play one motion profile

  • @1stpagelocal
    @1stpagelocal หลายเดือนก่อน

    Hi, I’m wondering if you might have a video showing how to use a motion sensor to trigger a bluetooth, usb (or even hard wired) exterior speaker so that when the motion sensor is triggered, a short song plays on the exterior speaker ? I am trying to figure out this little motion sensor garden music project but I am perplexed by it. Help ? Thanks !

    • @BMonsterLaboratory
      @BMonsterLaboratory หลายเดือนก่อน

      Hey there! I have been making a lot of motion sensor projects lately but I don't have one with Bluetooth. That's not to say we can't make one with a video to go along with it..that's no problem. My favorite mp3 player board is the sparkfun mp3 player shield for arduino uno. When one Arduino with a motion sensor catches any movement, it sends a signal over Bluetooth to another Arduino. That one's hooked up to a SparkFun MP3 Player Shield and starts playing music. They should be able to communicate up to 30ft away in an open area with the HC-05 and HC-06 modules. Or, if you want to keep it simple, just use one Arduino Uno. Attach the MP3 Player Shield, hook up the motion sensor and a speaker directly to it, and you're done. No Bluetooth, no worrying about signal interference, it just plays a music track when motion is detected. This video is similar to this description and can be wireless to operate on it's own. th-cam.com/video/zamlAniU2nQ/w-d-xo.html Happy to help wherever I can. Thanks for reaching out 👍

  • @JKG114
    @JKG114 หลายเดือนก่อน

    Hey, thanks for the video! This is awesome. Could I use this to change my voice in real time during phone calls? I want to create a robotic voice to use while talking on the phone. Thanks again for the video, this is awesome!

    • @BMonsterLaboratory
      @BMonsterLaboratory หลายเดือนก่อน

      Hey there! Thanks for the question. The short answer is yes, you can use this over the phone. The easiest way to do it is speak into the audio hacker microphone and place the speaker close to your phone so they hear a distorted voice. It's really easy to use over your computer. I have used it in zoom meetings and video games online. If you have a way to speak on the phone through your computer, that would be a really good way to do it.... a voice of IP or some integrated phone network. You would basically connect this audio hacker between your amplified microphone and the pc.

    • @SebaSpeed
      @SebaSpeed 25 วันที่ผ่านมา

      Cringe!

    • @BMonsterLaboratory
      @BMonsterLaboratory 25 วันที่ผ่านมา

      @@SebaSpeed 😅🤣😂 all in good fun!