Yes Sir,

Sure...I will reply once the vehicle/bot is photographed. 

Seth

P.S. I can only show the MotorCape, BBBW, and leads though. The motors are 
buried in the bot as of now. Does me not showing the motor wiring matter? I 
know it does but the bot is fully assembled and will take longer to get a 
photograph across.

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?
>
> On Sun, Mar 10, 2019 at 11:33 PM Mala Dies <[email protected] <javascript:>> 
> 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.
>>
>> ...
>>
>> 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. 
>>
>> 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.
>>
>> 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.
>>>
>>> ...
>>>
>>> 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/ddc3132f-1f64-4d6e-9fb2-4777d7e5d6b5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to