Relative Content

Yearly Archives: 2018

WeMos Smart Car G1.2

スマートカーは進化する。 今後の電源は内蔵するように改造した。 充電口は先端に配置するは2台。横に配置するは2台。 動く様子 Raspberry Pi Zero を載せてみる!

Arduino NANO (10) Basic PC With VGA Output

経緯 参考1から、昔の BASIC は、2台のArduino NANOで実現可能とわかって、BASIC動くだけじゃなく、GPIOの制御もできるので、IoTの可能性の一つとして、試したくなった。 制作 専用のVGAとキーボードのコンセント部品の調達は時間がかかった。 それから結線にも時間がかかった、さらにプログラムの書き込みも手惑いが重ね、しかし電源入れると、あっさり成功。 正面の部品一覧 背面の配線 参考 https://www.instructables.com/id/Arduino-Basic-PC-With-VGA-Output/

Webduino Smart Car

Webduino Smart 自走車   Smart 自走車 ( 組裝步驟 ) Smart 自走車是 Webduino 自主研發的產品,專為 Smart 開發板量身打造,輕巧、方便又環保!不僅能 DIY 動手玩創意,還能輕鬆學習程式邏輯概念,實作出一台具個人特色的自走車。 https://tutorials.webduino.io/zh-tw/docs/useful/example/smart-robot-car-assembly.html 支援無線控制,隨心所欲、輕鬆把玩   Smart 自走車 ( 網頁遙控器操控 ) Smart 自走車是 Webduino 自主研發的產品,專為 Smart 開發板量身打造,輕巧、方便又環保!這個範例我們會實作如何透過網頁遙控器 ( 電腦、平板、手機皆可 ),就能操控自走車。 https://tutorials.webduino.io/zh-tw/docs/useful/example/smart-robot-car-remote-control.html 只要搭配 Webduino 雲端平台,就能輕鬆實現多種絕佳應用,最棒的是手機、平板 ( IOS / Android )、電腦都能使用! Smart 自走車 – 網頁操控,積木程式範例:https://goo.gl/432ZRW 超音波傳感器避障小車 Webduino Smart 自走車可以搭配超過 10 種以上的傳感器, 發展出各式各樣驚奇的功能,例如無線遙控車、避障車、溫濕度感測車、無人車等多項應用,自己玩創意。 下圖為結合基礎套件裡頭的超音波傳感器,自製避障小車,當偵測到障礙物就能自動後退並改道!超音波避障車,積木程式教學範例:https://goo.gl/CXzuYT […]

Arduino NANO (9) Traffic Light

Traffic Lightを作った。 難しいところがないが、12個LEDを制御するので、Arduino NANO のGPIO全部使った。 動作の様子

ESP32 (4) mini-Oscilloscope

Arduino UNOと同じmini-Oscilloscope を作って見た。 表示の正確性はまた検証が必要だけど ソースコードはほぼ一緒 /* This is set up to use a 128×64 I2C screen, as available here: http://www.banggood.com/buy/0-96-oled.html For wiring details see http://youtu.be/XHDNXXhg3Hg */ #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET); #if (SSD1306_LCDHEIGHT != 64) // error(“Height incorrect, please fix Adafruit_SSD1306.h!”); #endif /********************************************/ #define CHARWIDTH 5 #define CHARHEIGHT […]

Digispark (3) Timer

Timerの仕組み TM1637で残り時間の表示。 結線 GND—GND VCC— VCC CLK — D2 DIO — D1 コード コードは参考1から利用 #define CLK 2 #define DIO 1 参考 https://www.electroschematics.com/13138/matchbox-sized-digital-timer/  

Digispark (2) NeoPixel

NeoPixelとは WS2812 LED stripだ 結線 電源の他に、DataはP0につなぐ。   コード コードは参考1から利用 https://github.com/smartynov/iotfun/tree/master/arduino/deco_lights WS2812は8個内蔵だから、下記のように変更する #define PIN 0 #define NUMPIXELS 8 また64個内蔵の場合、BRIGHTNESS を弱めて、下記のように変更する。 #include <Adafruit_NeoPixel.h> // set to pin connected to data input of WS8212 (NeoPixel) strip #define PINGND 0 #define PIN 1 #define PINVCC 2 // any pin with analog input (used to initialize random number generator) #define […]

Digispark (1) Blink

Digisparkとは アメリカ Digistump LCCの製品。AVRマイクロコントローラーAtmel Attiny85を搭載しており、小さいながらもArduino IDE(開発環境)を使用し、プログラミングを行うことができる。     開発環境 Arduinoソフトウェアをインストール Arduinoのソフトウェアをダウンロード(Ver.1.6.6)して、インストールする。 ボードパッケージをインストール Digisparkのボードパッケージ(Digistump AVR Board)をインストール。 http://digistump.com/package_digistump_index.json Digistump AVR Boards by Digistumpというのがあるのでそこをクリックしてインストール。 Window10 Windows10の場合、ボードパッケージをインストールと次のように警告メッセージが出る。 警告:信頼されていないコントリビューションです。スクリプトの実行をスキップしています(C:\Users\%USERNAME%\Documents\ArduinoData\packages\digistump\tools\micronucleus\2.0a4\post_install.bat) このパスをコピーし、手動でインストールした。 Windows7 Digisparkのドライバー(micronucleus-2.0a4-win.zip)をダウンロードして、インストールする必要。 Lチカ コード Blink点滅 // the setup routine runs once when you press reset: bool led_stat = false; void setup(){ pinMode(0, true); pinMode(1, true); } void loop(){ digitalWrite(0, led_stat); digitalWrite(1, […]

NodeMcu (4) ADS1115 & OLED

経緯 アナログ信号を取り込み、TinyWebDBへ送るプログラムを作る予定。サンプリングレートは秒に100回。 WeMos miniは使いやすいから愛用しているが、2月から、WeMos miniの開発中も頻繁にリブートしています。デバイストライバのバージョンを変えたり、OSを変えたりしても改善しない。結局原因がわからず、仕方なく開発中書き込み直前にUSBケーブル接続、書き込み終わったらすぐUSBケーブ抜く方法で運がよければリブート回避する状態が続て、悩んでいます。 ADS1115プログラムを作るため、安定したNodeMcuできることならこちらで凌ぎ。 ADS1115とは ADS1115 は、16-Bit ADC – 4 Channel with Programmable Gain Amplifier 特徴:広い電源電圧範囲:2.0V ~ 5.5V。低消費電流: 連続モード:150μA。 _ プログラマブルゲインアンプ内蔵。プログラミング可能なコンパレータ。 _ 4本のシングルエンド入力。2本の差動入力。I2Cインターフェイス。 _ 最小±256mVから電源電圧までの入力範囲に対応。 ライブラリーでは コマンド送信し 8msec 後に データーの読み込みを行う、サンプリングレートは秒に100回するため、Adafruit_ADS1X15/Adafruit_ADS1015.hのADS1115_CONVERSIONDELAYを8から9に変更する。 結線 普通のI2Cでつなぐだけ。 スケッチ 最初のプログラムは、アナログ読む度に表示してるが、表示できるのは秒に十回未満。そしてOLEDには、1秒間読み取れたデータの個数と、最新のアナログ値を表示すると変更して110回程度読み込みできるようになり。 ADS1115_CONVERSIONDELAYを8から9に変更して、表示の通り、秒に101回って、概ね要求に満たした。 #include <Wire.h> #include <Adafruit_ADS1015.h> // ADS1015,1115 Adafruit_ADS1115 ads(0x48); // 16-bit version #include <Adafruit_GFX.h> // OLED #include <Adafruit_SSD1306.h> // OLED Adafruit_SSD1306 display(0); […]