我正在尝试使用简单的完整步骤来控制步进电机.这意味着我正在输出一系列值,如下所示:
1000
0100
0010
0001
Run Code Online (Sandbox Code Playgroud)
我认为一个简单的方法是只取我的4位值,然后在每一步之后执行右旋操作."代码"显然不遵循任何语法,它只是用来说明我的想法:
step = 1000;
//Looping
Motor_Out(step)
//Rotate my step variable right by 1 bit
Rotate_Right(step, 1)
Run Code Online (Sandbox Code Playgroud)
我的问题是,显然我没有任何4位简单数据类型可以用于此,如果我使用8位无符号整数,我最终将1关闭到MSB,这意味着4位我真正感兴趣的价值,将转为0000几步.
我已经读过你可以使用结构和位字来解决这个问题,但我从中读到的大部分内容都告诉我这是一个非常糟糕的主意.
我有这个问题:
produits = yield motor.Op(db.users.aggregate, [{"$unwind":"$pup"},{"$match":{"pup.spec.np":nomp}}, {"$group":{"_id":"$pup.spec.id","pup":{"$push":"$pup"}}}])
Run Code Online (Sandbox Code Playgroud)
结果给了我这个:
print produits
{u'ok': 1.0, u'result': [{u'_id': None, u'pup': [{u'avt': {u'fto': ..all the results}}]}]}
Run Code Online (Sandbox Code Playgroud)
所以我能做到:
prod = produits["result"]
[{u'_id': None, u'pup': [{u'avt': {u'fto': ..all the results}}]}]
Run Code Online (Sandbox Code Playgroud)
但我怎么隐藏"_id"
所以我只能得到
[{u'pup': [{u'avt': {u'fto': ..all the results}}]}]
Run Code Online (Sandbox Code Playgroud)
在正常的查询中,我只是添加类似{"_id":0}
这里的东西它不起作用.
我正在尝试在 FastAPI 中连接到 mongodb。我反复收到此异常。
文件 - main.py
app = FastAPI(
title=config.PROJECT_NAME, docs_url="/api/docs", openapi_url="/api"
)
@app.get("/api/testing")
async def testit():
user_collection = readernetwork_db.get_collection("user_collection")
all_users = await user_collection.find_one({"email": "sample_email"})
print("all users --- ", all_users)
return all_users
if __name__ == "__main__":
uvicorn.run("main:app", host="0.0.0.0", reload=True, port=8888)
Run Code Online (Sandbox Code Playgroud)
文件 - session.py
import motor.motor_asyncio
from app.core import config
print("here we go again....")
client = motor.motor_asyncio.AsyncIOMotorClient(
config.MONGOATLAS_DATABASE_URI)
readernetwork_db = client.get_database("readernetwork")
Run Code Online (Sandbox Code Playgroud)
例外 -:
all_users = await user_collection.find_one({"email": "sample_email"})
RuntimeError: Task <Task pending name='Task-4' coro=<RequestResponseCycle.run_asgi() running at /usr/local/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py:389> cb=[set.discard()]> got Future …
Run Code Online (Sandbox Code Playgroud) 我是Sanic的新手,我正试图让它与Motor合作.我确实设法让所有东西都在一个文件中工作,但是,当我在我的项目结构中尝试时,我遇到了以下问题.
[2018-02-28 17:26:58 +0530] [3720] [ERROR] Traceback (most recent call
last):
File "/usr/local/lib/python3.6/site-packages/sanic/app.py", line 556, in
handle_request
response = await response
File "/usr/src/Python-3.6.4/Lib/asyncio/coroutines.py", line 129, in throw
return self.gen.throw(type, value, traceback)
File "/home/msambare/Documents/Projects/Snippets/Sanic-Motor-
Issue/IAC/src/MyPackgae/REST/user_REST.py", line 42, in post
request.json['last']
File "/usr/src/Python-3.6.4/Lib/asyncio/coroutines.py", line 129, in throw
return self.gen.throw(type, value, traceback)
File "/home/msambare/Documents/Projects/Snippets/Sanic-Motor-
Issue/IAC/src/MyPackgae/DAO/user_DAO.py", line 40, in register_user
result = await db.users.insert_one(serialized_user)
RuntimeError: Task <Task pending coro=<Sanic.handle_request() running at
/usr/local/lib/python3.6/site-packages/sanic/app.py:556> created at
/usr/local/lib/python3.6/site-packages/sanic/server.py:299> got Future
<Future pending cb=[run_on_executor.<locals>._call_check_cancel() at
/usr/local/lib/python3.6/site-
packages/motor/frameworks/asyncio/__init__.py:85]> attached …
Run Code Online (Sandbox Code Playgroud) 我很难让PID反馈和定位同时运行.
我计算RPM的想法是:
我可以计算RPM但是我只能在计算之后调用我的PID控制器(不管我想等多久才能获得良好的分辨率.)这会导致代码非常混乱.是否有更简单的方法或我缺少的东西?
关于我的应用的信息: 我正在使用直流电机/双磁编码器编程到Atmel ATmega328P,每转约600个脉冲(齿轮箱后).我想调用GoToTarget(#)并让电机在更新PID参数时转到该位置.此外,它必须双向进行.
我已经有一段时间了解如何使用我的atmega32以快速pwm模式控制电机(控制其速度).我需要使用8位Timer0,因为我对其他计数器有其他用途.我想我知道如何为此任务初始化计时器:
void initial_io (void){
DDRC = 0xFF;
DDRB = 0xFF;
PORTA = (1<<PA4)|(1<<PA5);
TCCR0 = (1<<WGM01)|(1<<WGM00); // PWM mode : Fast PWM.
TCCR0 = (1<<CS02)|(1<<CS00); // PWM clock = CPU_Clock/1024
}
Run Code Online (Sandbox Code Playgroud)
但问题就来了.我根本不知道接下来该做什么,在我的主要做什么.
我的确切项目是用加速驾驶遥控车.因此,当我从汽车要求前进时,它必须从固定加速度的停止加速到最大速度.我不知道任何大会,所以如果你能帮助我,请在C中做.任何帮助将不胜感激.
我在我的 Django 项目中使用了 mongoDB 的 Motor 驱动程序,但在将我的数据(作为游标来自数据库的数据)转换为列表时遇到问题,这是我的代码:
documents = db.factor.aggregate([{"$limit": 3},
{"$lookup": {"from": "subfactor", "localField": "_id", "foreignField": "factor_id", "as": "subfactor"}}])
for d in await list(documents):
print(d)
Run Code Online (Sandbox Code Playgroud)
和错误:
File "/usr/lib/python3.8/asyncio/runners.py", line 43, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.8/asyncio/base_events.py", line 595, in run_until_complete
self.run_forever()
File "/usr/lib/python3.8/asyncio/base_events.py", line 563, in run_forever
self._run_once()
File "/usr/lib/python3.8/asyncio/base_events.py", line 1808, in _run_once
event_list = self._selector.select(timeout)
File "/usr/lib/python3.8/selectors.py", line 468, in select
fd_event_list = self._selector.poll(timeout, max_ev)
Run Code Online (Sandbox Code Playgroud)