--------- microbit -----------------
radio.onReceivedNumber(function (receivedNumber) {
if (receivedNumber == 0) {
pins.digitalWritePin(DigitalPin.P12, 1)
pins.digitalWritePin(DigitalPin.P13, 0)
basic.pause(500)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 0)
} else {
if (receivedNumber == 1) {
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 1)
basic.pause(500)
pins.digitalWritePin(DigitalPin.P12, 0)
pins.digitalWritePin(DigitalPin.P13, 0)
}
}
})
input.onButtonPressed(Button.A, function () {
radio.sendNumber(0)
})
input.onButtonPressed(Button.AB, function () {
music.startMelody(music.builtInMelody(Melodies.Ringtone), MelodyOptions.Once)
})
input.onButtonPressed(Button.B, function () {
radio.sendNumber(1)
})
radio.setGroup(1)
-------------espr2-------------------------------------------------------
espr developper で3v3からdrv8835のvccにつなぐのでOKです
const int MORTOR1_PIN = 13; for espr
const int MORTOR2_PIN = 15 ; for espr
void setup() {
// put your setup code here, to run once:
pinMode(MORTOR1_PIN,OUTPUT);
pinMode(MORTOR2_PIN,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(MORTOR1_PIN,HIGH);
digitalWrite(MORTOR2_PIN,LOW);
delay(2000);
digitalWrite(MORTOR1_PIN,HIGH);
digitalWrite(MORTOR2_PIN,HIGH);
delay(2000);
}
------------------------------------------------------
プチモンテでDRV8835をためしたがDCモーターの使い方 DRV8835版 [Arduino] (petitmonte.com)
間違い発見! ここでも順逆の間にブレーキをいれんとあかんかった なんでかしらんけど
- // 回転速度(35-255)
- // ※値が大きいほど高速,余りにも小さい値は回転しません。
- const uint8_t speeds = 48;
- void setup() {
- Serial.begin(9600);
- }
- void loop() {
- // 正転(回転)
- Serial.println("正転");
- analogWrite(10,speeds);
- analogWrite(11,0);
- delay(1000);
- // ブレーキ
- Serial.println("ブレーキ");
- analogWrite(10,speeds);
- analogWrite(11,speeds);
- delay(1000);
- // 逆転(逆回転)
- Serial.println("逆転");
- analogWrite(10,0);
- analogWrite(11,speeds);
- delay(1000);
- // ブレーキ
- Serial.println("ブレーキ");
- analogWrite(10,speeds);
- analogWrite(11,speeds);
- delay(1000);
- }
ーーーーーーーーーーarduinoーーーーーーーーーーーーーーーーーーーーーーーーーー
下記のように前進停止後退停止としないとスムーズにいかん、なんでやろねに
from machine import Pin,UART
import time
led = machine.Pin(15,Pin.OUT) なくてもいいが。。。
IN1=Pin(2,Pin.OUT)
IN2=Pin(3,Pin.OUT)
while True:
print("foward")
led.value(1)
time.sleep(1)
led.value(0)
IN1.value(1)
IN2.value(0)
time.sleep(1)
print("stop")
led.value(1)
time.sleep(1)
led.value(0)
IN1.value(0)
IN2.value(0)
time.sleep(1)
print("back")
led.value(1)
time.sleep(1)
led.value(0)
IN1.value(0)
IN2.value(1)
time.sleep(1)
print("stop")
led.value(1)
time.sleep(1)
led.value(0)
IN1.value(0)
IN2.value(0)
time.sleep(1)
上のコードを援用して、ブルーツースモジュールと組み合わせたら、うまくいった うえをなぞった
rom machine import Pin,UART
import time
uart=UART(0,9600,tx=Pin(0),rx=Pin(1))
IN1=Pin(2,Pin.OUT)
IN2=Pin(3,Pin.OUT)
while True:
c = uart.readline()
if c == b'f':
print("foward")
IN1.value(1)
IN2.value(0)
time.sleep(1)
IN1.value(0)
IN2.value(0)
time.sleep(1)
if c == b'b':
print("back")
IN1.value(0)
IN2.value(1)
time.sleep(1)
IN1.value(0)
IN2.value(0)
time.sleep(1)
0 件のコメント:
コメントを投稿