続きをかきました 500 Can't connect to lowreal.net:443 (certificate verify failed)
仕様はちょっと前に調べて、先日対応バッテリーがきたので試してみました。
回路図
12V を出す場合必要なのは D+ 0.6V / D- 0.6V なので、非常に簡単な構成。
VBUS には QC時に 5V〜12V の電圧がかかる。直接 Arduino の VIN に繋いでいるが、Arduino 側で 5V レギュレータが入っているので問題ない (ref. https://www.arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf )。当然 5V ピンに直接繋いではならない (燃える)
コード
#include <Arduino.h>
#include <avr/sleep.h>
const int D_PLUS = 11;
const int D_MINUS = 12;
/**
* Arduino nano has 5V regulated power, so required voltages are generated with:
* 3.3V: 4.7kΩ / 9.1kΩ
* 0.6V: 1.1kΩ / 150Ω
*
*/
void setup() {
// wait until stable connection
delay(1000);
// reset line
pinMode(D_PLUS, OUTPUT);
pinMode(D_MINUS, OUTPUT);
digitalWrite(D_PLUS, LOW);
digitalWrite(D_MINUS, LOW);
delay(100);
// D+ and D- to 0.6V for 1.25s
digitalWrite(D_PLUS, HIGH);
digitalWrite(D_MINUS, HIGH);
delay(1500);
// D- to 0V for 1ms
digitalWrite(D_MINUS, LOW);
delay(2);
// Set voltage
digitalWrite(D_MINUS, HIGH);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_mode();
}
void loop() {
} 結果
12V とれたよ〜 (赤が VBUS、黄は D-)
備考
9V に対応する場合 D+ を途中から 0.6V -> 3.3V とする必要があるので、もう少し回路とコードが必要。

