続きをかきました 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 とする必要があるので、もう少し回路とコードが必要。