Hey Sir, Yes sir...you are welcome but I could have not done this project w/out the book, "BeagleBone by Example," by Prabakar.
Seth P.S. I thought that persons' ideas were creative and interesting. So, I tried them out and things developed from that point. Oh and sir, sorry for the lack of research on my part w/ schematics and testing. I thought I knew what I was saying. On Wednesday, March 13, 2019 at 8:11:09 AM UTC-5, Jason Kridner wrote: > > Thanks for your experience and example code. > > On Mar 12, 2019, at 9:54 PM, Mala Dies <[email protected] <javascript:>> > wrote: > > Hello Sir, > > This should be my last transmission on this subject unless you need any > additional ideas: > > def updates(state=None): > motor1.set(-100) > motor2.set(100) > motor3.set(-100) > motor4.set(100) > > The above snippet is now forward on the bot. Although this is not prime or > intended, I am not taking the bot apart to fix wiring as of now. > > And...I went w/ the change in software instead of change of wiring b/c > everything is already put together. Lazy! > > Seth > > P.S. So now, I have a forward, left, right, reverse, left_reverse, > right_reverse, rotate_left, and rotate_right. This should be okay for the > show for now. > > > On Tuesday, March 12, 2019 at 12:29:46 PM UTC-5, Jason Kridner wrote: >> >> Several responses below... >> >> On Monday, March 11, 2019 at 9:13:43 PM UTC-4, Mala Dies wrote: >>> >>> Oh and Sir, >>> >>> One last thing...there are many ways to fix this "issue." There was a >>> nice person on Freenode at #beagle that was kind enough to help me w/ >>> software ideas in Python. >>> >> >> Probably 'zmatt'. >> >> >>> >>> ... >>> >>> I could rewire the motors, use this person's software, and/or change the >>> complete idea of the software entirely. >>> >>> Seth >>> >>> P.S. I was thinking that the MotorCape, w/ the placement of the L298 >>> drivers, was in accordance w/ the schematic. I think while the Cape is in >>> accordance w/ the schematic, I should not expect anything other than >>> rewiring my motors (well...two of them anyhow). If I was to use the >>> software from Freenode, it may get more complicated on my end but may be >>> worth it (learning and trying new things in software programming is the >>> idea). So um, this is what I am hinting towards right now. Should I expect >>> the MotorCape to run in a loop if all motors are told to move forward b/c >>> of the placement of the L298 drivers? >>> >> >> The cape itself isn't running code, so I'm not sure what you mean. The >> PWMs will run free, so, once you set the drive strength, they'll keep >> driving even if you don't update things in the software. >> >> >>> Yea, I think that is it for now. I will try to stay patient. I have too >>> many ideas and little time. I am showing off the bot, BeagleBone Black >>> Wireless, and MotorCape at a tiny Maker Faire soon. Um...yep. That is all >>> for now. Sorry for the PS crap and this elongated explanation. >>> >> >> Cool. We'll try to help. >> >> >>> >>> On Sunday, March 10, 2019 at 10:45:23 PM UTC-5, Jason Kridner wrote: >>>> >>>> Can you take a picture of how you have it wired? >>>> >>> >> Thanks. Looks right from what I can see, but I don't see the motor wiring >> itself. Seems to match >> https://github.com/beagleboard/capes/tree/master/beaglebone/Motor. >> >> >>> >>>> On Sun, Mar 10, 2019 at 11:33 PM Mala Dies <[email protected]> wrote: >>>> >>>>> Hello Once More, >>>>> >>>>> Just for reference, the web application comes up w/ me enabling a >>>>> .service file on the BBBW. The website has worked w/ other BBBW related >>>>> flask-motor-html pages and motor movement. >>>>> >>>> >> You are testing the motors with simple code first, right? >> >> >>> >>>>> ... >>>>> >>>>> Another factor is this...the bot, this four motor machine, moves w/ >>>>> one board w/ the same software but not the other BBBW w/ the same >>>>> software. >>>>> >>>> >> That simply tells me they are not the same. Can you find the difference? >> >> >>> >>>>> Seth >>>>> >>>>> P.S. If you have any ideas, please do not hesitate to ask any >>>>> questions for more info. and/or give advice. I have this date coming up >>>>> and >>>>> I want to have this bot working for this specific date, e.g. w/ the BBBW, >>>>> MotorCape, and four motors. >>>>> >>>> >> Hooking an oscilliscope up to see the output at the motors is always >> helpful. >> >> >>> >>>>> On Sunday, March 10, 2019 at 10:18:29 PM UTC-5, Mala Dies wrote: >>>>>> >>>>>> Hello, >>>>>> >>>>>> I have a BBBW and MotorCape. I have tested some motors on each of the >>>>>> screw connectors on the MotorCape. Success! Anyway, when controlling >>>>>> four >>>>>> motors at once, I have come across some issues. >>>>>> >>>>> >> Do you know if you are providing enough current in to the board? Can you >> monitor the voltage at the input and the output with a scope to see if >> there is droop? >> >> >>> >>>>>> ... >>>>>> >>>>>> My issue pertains to a Flask application w/ HTML to control the four >>>>>> motors via a website online. >>>>>> >>>>>> Here is some software to test out if you have the MotorCape: >>>>>> >>>>>> #!/usr/bin/python3 >>>>>> >>>>>> # w/ help from #beagle on Freenode >>>>>> >>>>>> from flask import Flask, render_template >>>>>> import Adafruit_BBIO.GPIO as GPIO >>>>>> import Adafruit_BBIO.PWM as PWM >>>>>> import time >>>>>> >>>>>> class Motor: >>>>>> def __init__(self, dir_pin, pwm_pin, pwm_freq): >>>>>> self.dir_pin = dir_pin >>>>>> self.pwm_pin = pwm_pin >>>>>> self.value = 0 >>>>>> >>>>>> PWM.start(pwm_pin, 0, pwm_freq) >>>>>> GPIO.setup(dir_pin, GPIO.OUT) >>>>>> >>>>>> def set(self, value): >>>>>> assert -100 <= value <= 100 >>>>>> if (value < 0) != (self.value < 0): >>>>>> # changing direction >>>>>> PWM.set_duty_cycle(self.pwm_pin, 0) >>>>>> GPIO.output(self.dir_pin, value < 0) >>>>>> PWM.set_duty_cycle(self.pwm_pin, abs(value)) >>>>>> self.value = value >>>>>> >>>>>> motor1 = Motor(dir_pin="P8_18", pwm_pin="P9_16", pwm_freq=2000) >>>>>> #motor2 = Motor(dir_pin="P8_16", pwm_pin="P9_14", pwm_freq=2000) >>>>>> #motor3 = Motor(dir_pin="P8_14", pwm_pin="P8_13", pwm_freq=2000) >>>>>> motor4 = Motor(dir_pin="P8_26", pwm_pin="P8_19", pwm_freq=2000) >>>>>> >>>>>> app = Flask(__name__) >>>>>> @app.route("/") >>>>>> @app.route("/<state>") >>>>>> >>>>>> def updates(state=None): >>>>>> if state == "F": >>>>>> motor1.set(100) >>>>>> motor4.set(100) >>>>>> time.sleep(.2) >>>>>> if state == "L": >>>>>> motor1.set(0) >>>>>> motor4.set(85) >>>>>> time.sleep(.2) >>>>>> if state == "R": >>>>>> motor1.set(85) >>>>>> motor4.set(0) >>>>>> time.sleep(.2) >>>>>> if state == "S": >>>>>> motor1.set(0) >>>>>> motor4.set(0) >>>>>> time.sleep(.2) >>>>>> if state == "REV": >>>>>> motor1.set(-75) >>>>>> motor4.set(-75) >>>>>> time.sleep(.2) >>>>>> if state == "REV_L": >>>>>> motor1.set(-75) >>>>>> motor4.set(0) >>>>>> time.sleep(.2) >>>>>> if state == "REV_R": >>>>>> motor1.set(0) >>>>>> motor4.set(-75) >>>>>> time.sleep(.2) >>>>>> >>>>>> template_data = { >>>>>> "title" : state, >>>>>> } >>>>>> return render_template("boboIV.html", **template_data) >>>>>> >>>>>> if __name__ == "__main__": >>>>>> app.run(host="0.0.0.0", port=5000, debug=True) >>>>>> >>>>>> ... >>>>>> >>>>> >>>>>> Everything is "Pythonic" in the software but this C & P did not do it >>>>>> justice. You can see why. Anyway...here is the HTML software too. >>>>>> >>>>>> <!DOCTYPE html> >>>>>> <html lang="en"> >>>>>> <head> >>>>>> <title>{{ status }}</title> >>>>>> <meta charset="utf-8"> >>>>>> <meta name="viewport" content="width=device-width, initial-scale=1"> >>>>>> <link rel="stylesheet" href=" >>>>>> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css >>>>>> "> >>>>>> <script src=" >>>>>> https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></ >>>>>> script> >>>>>> <script src=" >>>>>> https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" >>>>>> ></script> >>>>>> </head> >>>>>> <body> >>>>>> >>>>>> <div class="jumbotron text-center"> >>>>>> <h1>MotorCape and BBBW!</h1> >>>>>> <p>This is a quick example on making motors move!</p> >>>>>> </div> >>>>>> >>>>>> <div class="container"> >>>>>> <div class="row"> >>>>>> <div class="col-sm-4 text-center"> >>>>>> <h3>Agent One</h3> >>>>>> <p>More text and fun makings in life...</p> >>>>>> <p>Get ready to control some motors!</p> >>>>>> </div> >>>>>> >>>>>> <div class="col-sm-4 text-center"> >>>>>> <h3>Agent Two</h3> >>>>>> <p>This bunch of online buttons will make your motors move</p> >>>>>> <!-- <img src=" http://0.0.0.0/?" "action=stream" alt="Unable >>>>>> to get video feed" width="300" height="300"> --> >>>>>> <a href="/F" id="on" class="button">FORWARD</a> >>>>>> <br><br> >>>>>> <a href="/L" id="on" class="button">LEFT</a> >>>>>> <a href="/R" id="on" class="button">RIGHT</a> >>>>>> <br><br> >>>>>> <a href="/S" id="on" class="button">STOP</a> >>>>>> >>>>> -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beagleboard/ee8425aa-f160-4fb5-bfde-15800568ee72%40googlegroups.com > > <https://groups.google.com/d/msgid/beagleboard/ee8425aa-f160-4fb5-bfde-15800568ee72%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/1702d4dc-f245-458e-a2f1-c9eb838de463%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
