RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题

问题[arduino]

Martin Hope
Илья Бовсунов
Asked: 2024-04-15 22:06:39 +0000 UTC

arduino步进电机的平滑启动和停止

  • 5

您好,我遇到了无法顺利启动和启动的问题,谁能帮忙?“uint32_t f = 1000;” 启动和停止时为 250,移动时为 1000

const uint8_t pin_DIR = 3;
const uint8_t pin_PUL = 4;
// Вывод GND Arduino соединён с входами драйвера ENA-, DIR-, PUL-. 
uint32_t f = 1000;                        // Определяем частоту следования микрошагов от 1 до 200'000 Гц. 
                                          // Чем выше частота, тем выше скорость вращения вала. 
void setup(){                             // 
     pinMode( pin_ENA, OUTPUT );          // Конфигурируем вывод Arduino как выход. 
     pinMode( pin_DIR, OUTPUT );          // Конфигурируем вывод Arduino как выход. 
     pinMode( pin_PUL, OUTPUT );          // Конфигурируем вывод Arduino как выход. 
}                                         // 
                                          // 
uint32_t t = 1000000/f/2;                 // Определяем длительность импульсов t3 и пауз t4 в мкс. 
                                          // 
void loop(){                              // 
//   Готовимся к движению вала:           // 
     digitalWrite( pin_ENA, 0 );          // Разрешаем работу двигателя. 
     delayMicroseconds(5);                // Выполняем задержку t1 (см. график STEP/DIR). 
     digitalWrite( pin_DIR, 0 );          // Выбираем направление вращения. 
     delayMicroseconds(5);                // Выполняем задержку t2 (см. график STEP/DIR). 
//   Поворачиваем вал на 2 оборота:       // 
     for(int i=0; i<1600; i++){           // Выполняем 1600 проходов цикла (1 оборот = 800 тактов, 2 оборота = 1600). 
         digitalWrite( pin_PUL, 1 );      // Устанавливаем на выводе PUL состояние логической «1». 
         delayMicroseconds(t);            // Выполняем задержку t3 (см. график STEP/DIR). 
         digitalWrite( pin_PUL, 0 );      // Устанавливаем на выводе PUL состояние логического «0». 
         delayMicroseconds(t);            // Выполняем задержку t4 (см. график STEP/DIR). 
     }                                    // 
//   Останавливаем вал удерживая его:     // Двигатель не вращается, если на вывод PUL не поступают импульсы. 
     delay(5000);                         // Ждём 5 секунд. В это время двигатель остановлен, его вал удерживается. 
//   Меняем направление движения вала:    // 
     digitalWrite( pin_DIR, 1 );          // Меняем логический уровень вывода DIR с 0 на 1. 
     delayMicroseconds(5);                // Выполняем задержку t2 (см. график STEP/DIR). 
//   Поворачиваем вал на 2 оборота:       // 
     for(int i=0; i<1600; i++){           // Выполняем 1600 проходов цикла (1 оборот = 800 тактов, 2 оборота = 1600). 
         digitalWrite( pin_PUL, 1 );      // Устанавливаем на выводе PUL состояние логической «1». 
         delayMicroseconds(t);            // Выполняем задержку t3 (см. график STEP/DIR). 
         digitalWrite( pin_PUL, 0 );      // Устанавливаем на выводе PUL состояние логического «0». 
         delayMicroseconds(t);            // Выполняем задержку t4 (см. график STEP/DIR). 
     }                                    // 
//   Останавливаем вал без удержания:     // 
     digitalWrite( pin_ENA, 1 );          // Запрещаем работу двигателя, отключаем токи в обмотках. 
     delay(5000);                         // Ждём 5 секунд. В это время двигатель отключен, его вал свободен. 
}                                         / 
 
 
 
 
const uint8_t pin_ENA = 2; 
const uint8_t pin_DIR = 3; 
const uint8_t pin_PUL = 4; 
 
uint32_t f = 1000; 
void setup(){ 
     pinMode( pin_ENA, OUTPUT ); 
     pinMode( pin_DIR, OUTPUT ); 
     pinMode( pin_PUL, OUTPUT ); 
} 
uint32_t t = 1000000/f/2; 
void loop()
arduino
  • 1 个回答
  • 15 Views
Martin Hope
anon
Asked: 2024-01-11 04:58:14 +0000 UTC

无法连接 microSD 卡

  • 6

救命,我无法将 microSD 卡连接到 Arduino,也无法连接到 ESP32,
我需要将其连接到 ESP32,我刚刚在 Arduino 上测试了它,看看它是否能正常工作

设备:ESP32 devkit v1、Arduino nano、MicroSD 卡适配器、MicroSD 卡 SanDisk 64gb eXFat

软件:Arduino IDE、SdFat 库(版本:2.2.2)、Sketch 是 sdfat 库的示例 - (sdinfo)

连接至引脚: 适配器引脚 - CS、SCK、MOSI、MISO、VCC、GND
Arduino 至适配器 - (CS, D10) (SCK, D13) (MOSI, D11) (MISO, D12) (VCC, +5V) (GND , GND)
ESP32 至适配器 - (CS, D27) (SCK, D14) (MOSI, D12) (MISO, D13) (VCC, VIN) (GND, GND)

ESP32输出:

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:8896
load:0x40080400,len:5828
entry 0x400806ac

Arduino输出:

SdFat version: 2.2.2

Assuming the SD is the only SPI device.
Edit DISABLE_CS_PIN to disable an SPI device.

Assuming the SD chip select pin is: 10
Edit SD_CS_PIN to change the SD chip select pin.

type any character to start

*这些是端口监视器的完整输出

arduino
  • 1 个回答
  • 125 Views
Martin Hope
Dmitriy
Asked: 2023-08-24 17:17:52 +0000 UTC

加工系列

  • 6

该程序应该控制 com 端口上的 arduino。下拉列表中显示可用 com 端口列表,但该端口不想打开。如果您手动指定comport,一切都会正常。

import controlP5.*;
ControlP5 cp5;
import processing.serial.*;
Serial serial;


int speed = 9600;
String portName;
void setup () {
  size (400, 400);
  cp5 = new ControlP5(this);
  cp5.setFont(createFont("Ubuntu", 20));
  
serial = new Serial(this, "COM3", speed); //только если в ручную указать порт программа связывается с ардуино
  
String str[] = Serial.list();
  println(str); 

  // кнопки для работы с выпадающим листом
  cp5.addButton("Refresh").setPosition(228, 108).setWidth(100).setHeight(25);
  cp5.addButton("OpenPORT").setPosition(8, 91).setWidth(200).setHeight(25);
  cp5.addButton("ClosePort").setPosition(7, 125).setWidth(200).setHeight(25);

  cp5.addScrollableList("ComList").close()
    .setWidth(199)
    .setBarHeight(40)
    .setPosition(10, 10)
    .setItemHeight(35)
    .linebreak();
      cp5.addButton("ledOn").setPosition(8, 180).setWidth(200).setHeight(25);
   cp5.addButton("ledOff").setPosition(8, 220).setWidth(200).setHeight(25);
}

void draw() {
  background(120);
}

void OpenPORT(){
 
serial = new Serial(this, portName, speed);

 println(portName);

}

void Refresh() {
  String list [] = Serial.list();
  cp5.get(ScrollableList.class, "ComList").addItems(list);//получаем COM порты
}

void Comlist (int n) {
  portName = Serial.list()[n];
}

void ledOn(){
  serial.write('n');
  delay(1000);
}

void ledOff(){
  serial.write('f');
  delay(1000);
}

void ClosePort() {
 
 serial.stop();
 
}
arduino
  • 1 个回答
  • 22 Views
Martin Hope
Иван Иванов
Asked: 2023-05-29 02:07:40 +0000 UTC

为什么不向 Arduino 中的电报机器人发送消息?

  • 5

将 HW-201 连接到 Nodemcu:VCC-VIN GND-GND OUT-D1

#include <ESP8266WiFi.h>
#include <UniversalTelegramBot.h>

const char* ssid = "BAMRULA";
const char* password = "58277561";
const char* botToken = "5901995511:AAFE383Gj7WN6-WXJazRKxGGQyTdE_dT3Y9";
String chatId = "1027667777";

WiFiClientSecure client;
UniversalTelegramBot bot(botToken, client);

// Пин, к которому подключен датчик движения
const int motionSensorPin = D1;

void setup() {
  Serial.begin(115200);
  
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }

  Serial.println("Connected to WiFi");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // Читаем состояние датчика движения
  int motionState = digitalRead(motionSensorPin);

  // Выводим состояние датчика в серийный монитор
  Serial.print("Motion state: ");
  Serial.println(motionState);
  
  // Если датчик сработал (обнаружено движение)
  if (motionState == HIGH) {
    // Отправляем сообщение в Telegram
    String message = "Обнаружено движение!";
    bot.sendMessage(chatId, message);
    delay(5000); // Чтобы не отправлять сообщения слишком часто, задержка 5 секунд
  }
}

我希望当 hw-201 传感器被触发时,消息“检测到运动!”被发送到电报机器人,但消息没有出现,请告诉我问题出在哪里,谢谢!

arduino
  • 1 个回答
  • 27 Views
Martin Hope
Rooter
Asked: 2023-04-23 00:48:07 +0000 UTC

应使用哪种类型的连接器将柔性膜连接到引脚?

  • 5

我正在修改一个标准的工程计算器并想使用它的原生键盘。 在此处输入图像描述

它通过带有 20 条输出线的柔性板连接到计算器,它没有可拆卸的连接器。你能告诉我应该使用什么类型的连接器将这个板连接到 arduino 引脚,前提是我不想手动将每个输出焊接到一个单独的引脚。

我知道可以用 20 针公连接器刺穿这条胶带,前提是电线之间的间距为 1 毫米,但我不知道这能起到多大作用。

arduino
  • 1 个回答
  • 39 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5