Kérdés:
Az Arduino PWM hibásan működik
Leo Adberg
2014-12-16 07:09:19 UTC
view on stackexchange narkive permalink

4 motort irányítok egy Arduino Uno PWM portjain (3,9,10,11). Valamiért a 11-es portra kapcsolt motor nem mozog a jelenlegi kódommal. Tudom, hogy ez egy kódprobléma, mert létrehozhatok egy új alapkódot, amely csak mozgatja a motort, és jól működik, de valamilyen oknál fogva nem ebben a kódban.

  #include <SPI. h> #include <Pixy.h>Pixy pixy; int personX = 0; int offCount = 0; void setup () {pinMode (3, OUTPUT); pinMode (9, OUTPUT); pinMode (10, OUTPUT); pinMode (11, OUTPUT); Soros kezdet (9600); míg (! Soros); pixy.init ();} void loop () {statikus int i = 0; int j; uint16_t blokkok; char buf [32]; blokkok = pixy.getBlocks (); if (blokkolja) {personX = pixy.blocks [0] .x; } if (blokkolja) {Serial.println (personX); if (personX < 110) {analogWrite (11, 130); analogWrite (3, 130); analogWrite (9, 250); analogWrite (10, 250); } else if (personX > 190) {analogWrite (11, 250); analogWrite (3, 250); analogWrite (9, 130); analogWrite (10, 130); } else {analogWrite (11, 190); analogWrite (3, 190); analogWrite (9, 190); analogWrite (10, 190); } offCount = 0; } else {if (offCount < 1000) {offCount = offCount + 1; } else {analogWrite (11, 190); analogWrite (3, 190); analogWrite (9, 190); analogWrite (10, 190); }}} 

Továbbá, amikor megfogom a motort és kicserélem egy másikkal, a régi az új PWM portban működik, de az új nem működik, amint betettem a 11. portba .

Egy válasz:
Ignacio Vazquez-Abrams
2014-12-16 08:29:14 UTC
view on stackexchange narkive permalink

A 11. tű a PWM és az SPI között egyaránt meg van osztva. Az SPI aktiválásával letiltotta a PWM munkáját ezen a csapon. Vagy használjon másik PWM tűt, vagy váltson a szoftver SPI-re különböző csapokon.

Köszi az infót! Rájöttem, hogy csak fel tudom osztani a PWM-et 3-ról, hogy a korábban a 11-es portra kapcsolt motort is vezérelhessem, de mivel a jövőben valamikor a 11-et kell használnom, tudnom kell az SPI használatát. Új vagyok az Arduino, ezért meg kellett keresnem a Google-t, mi az SPI, de hogyan váltsak át a szoftver SPI-re, és továbbra is működni fog-e a Pixy kamerával?
Azt javaslom, hogy ne használja az SPI szoftvert, ha tud segíteni rajta. Ehelyett vagy válasszon egy MCU-t több PWM csatornával (pl. Az ATmega1280 az Arduino Mega-ban vagy az ATmega128A található a ... -ben nincs Arduino, amiről tudok), vagy keressen egy külső PWM-vezérlőt, amelyet SPI vagy I2C segítségével lehet vezérelni.


Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...