投稿

5月, 2020の投稿を表示しています

SSD1306 DSD TECH OLED 0.91インチーOzoled

イメージ
SSD1306 DSD TECH OLED 0.91インチーOzoled https://github.com/mistertwo/ozoled-oled-display-096-i2c-driver-library Clone&downloadのボタンを押して、ZIPをDL スケッチーラインブラリをインクルードーZIP形式のライブラリをインストール でDLしたZIPを選択 ファイルースケッチ例からOLED_Hello_Worldを選択して実行すればOK。 #include <Wire.h> #include <OzOLED.h> void setup(){   OzOled.init();  //initialze Oscar OLED display   OzOled.printString("Hello World!"); //Print the String } void loop(){ } これでフラッシュが3.3kb、RAMが234バイト。 前のAdafruitのライブラリーをそのままで同じHelloWold!を表示させたときは、 12.63kb、RAMが342バイトだったので、軽い!というは特徴。 Attiny85でも使いたいのでライブラリを探す https://gist.github.com/tinytintoy/51ed73b7afae9cabcb9fb1a6890b6f94 先人の方々に感謝。TinyOzOLEDってのが https://github.com/SensorsIot/TinyOzOled か上とら同じように、ZIPをDL.ライブラリーを取り込みます。 Attiny85にArduinoISPで書き込みできる状態にして(いっぱいある紹介されているんでここでは割愛。 ここ とか) #include "TinyWireM.h" #include "TinyOzOLED.h" void setup() {   OzOled.init();   OzOled.printString("Hello World!!",0,0); } void loop() {

Arduino SSD1306 DSD TECH OLED 0.91インチーAdafruit

イメージ
アマゾンでおそらくもっとも安い OLED 。 DSD TECH 2 PCS OLED 0.91インチディスプレイ IIC I2C シリアルポート Arduino ARM用、2つで999円(一つ500円) 秋月のLCDのAQM0802よりも、 OLEDでディスプレイであり、 バックライトが入っていて明るいし、グラフィカル。 DSD TECHのホームページの案内が箱に入っているけど、使っているICは、SSD1306。 開封してどこかにやってしまった・・・ ライブラリーマネジャーからSSD1306を検索。 Adafruit_SSD1306が見つかるので、インストール。これを動かすのに必要な他のライブラリーが入っていないと警告でればALLでインストール。 インストールが完了したら、スケッチ例に、Adafruit_SSD1306が現れるようになる。 128x32画素、I2C用のスケッチ例があるので選択。 起動すると、Adafruitのロゴマークが表示されて、その後デモが始まる。 ここまで秒殺で設定できて、AQM0802をずっと使っていたら、感動する・・・ グラフィックスで遊ぶのもよいが、LCDの代わりに計測した値を表示するとか、そういう用途に使うので、デモのテストスケッチから文字を映しだすのに必要な部分を抜き出すと以下、サクッと容量とか気にしないプロジェクトの場合はこれで十分かな。 それにしても容量を食います。やりようはあるんでしょうけど、 OzOLEDに次ぎは行ってみます。 #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 32 #define OLED_RESET     4 Adafruit_SSD1306 display(128, 32, &Wire, 4); void setup() {   // initializes   display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 

Attiny85とAQM0802A(LCD)のI2C接続

イメージ
Attiny85とAQM0802A(LCD)のI2C接続 以前に 、ブレッドボード上でArduinoにAQM0802を接続して文字を表示できたので、今度はAttiny85での表示。 Arduino UNO,Nanoだと"Wire.h"を読み込むんだがAttinyでI2Cを扱うには、”TinyWireM"を読み込む。 またLCDで提供されているST7032.hの中身とかも変更する必要がある。 そこは自分でやらなくても、非常に先人の方々がまとめてくれている。( ここと か) ・はまった点症状 AttinyにちゃんとISPから書き込みができているのに液晶に何も映らない。 かと言って同じスケッチをNanoに書き込み”Wire”に戻してあげて接続すると動く。 つまり、スケッチが悪い訳でもないし、液晶が壊れている訳でもない。 VCCのラインにスイッチを設けてやって、スイッチをなぜかダブルクリックすると液晶が映る。一度映ると消える事はないが、たまに映らない事があり不安定・・・ なぞのままである。 でAttinyが表示器を手にいれられた。 でスケッチを書き換えて温度計としてみる。 サーミスタのテストをしたとき のスケッチとマージして、Attiny85で計測して表示する。 26度付近の室温を示して、サーミスタを手でつまむと34度とかまですぐ上昇。 温度表示まではできた。 //this is a test for attiny85 thermistor //measured temperature is displayed on LCD AQM0802A  //  PB5[  ]VCC  //  PB3[  ]PB2 SCL  //  PB4[  ]PB1  //  GND[  ]PB0 SDA #include <TinyWireM.h> #include <ST7032.h> ST7032 lcd; const int PIN_ANALOG_INPUT = 4; const float V5V = 5.0;//measured voltage +5V pin. const float R10k = 9980;//measured R R1

AQM0802A lcd

イメージ
AQM0802A lcd 目標は、Attiny85専用のLCDとしてAttiny85用のシールドを作っておこうという計画。 さっとAttiny85にセンサーをつけて、そのセンサから数字を表示してという事で役立つ。 http://akizukidenshi.com/catalog/g/gP-0666 秋月で一番安いLCD、I2C仕様。320円。この価格だと組み込みに遠慮なく使える。 ただし、これだけ購入しても動かない。 周辺にコンデンサとか抵抗とかをつけてあげないといけない。 また、ピッチが1.5mm。ピッチ変換基板が売られているが400円する!!本体より高い。基板とのセット600円。これだと、Amazonでそれもプライムのものをまとめ買いした方が安い。 https://www.amazon.co.jp/gp/product/B07D9H83R4/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1 一つ500円。 とは言え、周辺回路も大したことないのでこれを使う。 まずブレッドボードでのテスト。そのままブレッドボードにささらないので、ピンを交互に追って、後ろのピンをICクリップでつかんで無理やり配線。美しくない・・・ 配線は、 http://akizukidenshi.com/download/ds/akizuki/AE-AQM0802-sch.pdf I2C接続小型LCDモジュール用ピッチ変換基板 [AE-AQM0802] 通販コード P-06794 の回路図面の通りに接続する。 ArduinoのIDEからライブラリーの管理を選択して、AQM0802を検索窓に入れてライブラリーをインストール スケッチの例からいくつかの例を動かしてみたところちゃんと動作。 ここで5Vと3.3Vに関して AQM0802Aはデータシートを見ると入力電圧が5.5Vまで受け付けられるので、5Vでも3.3Vでも動く。VCCを5Vと3.3Vのピンに差し替えて試してみた。 で試した見た結果・・・ 両方動きます。 スイッチサイエンスとかから販売されているものは、5V用と言っても抵抗で分圧して3.3Vを作っているが、その必要もなく回路も同じでよいです。 しかし、コントラス

kicad

イメージ
KiCAD 新PCにインストール作業 https://kicad-pcb.org/ 何と言って難しいことはなく、クリックするだけ。 容量が1.1GBもあるので、ミラーサイトのうち速いところから。 インストールすると3DのCAD”freecad”をダウンロードするか聞かれるのでDLしておく。 https://www.freecadweb.org/ これも何となく、クリックするだけ。 以外とICとかの方が選択しやすかったりするし、CADデータがDLできたりする。 抵抗とか、ツェナーダイオードって汎用性が高いからこそKiCadで選ぶ際に困ることが多い。パッケージの規格があるので、それを探して選択するのだが、一例を。 【ツェナーダイオード】 例:秋月電子 (3.6V500mW) GDZJ3.6B http://akizukidenshi.com/catalog/g/gI-08709/ パッケージ:DO-34 と記載がある JEDEC 半導体技術協会が定める規格で、 SOD68 DO-34 glass, hermetically sealed glass package; 2 leads; 3.04 mm x 1.6 mm body とある。実際は、これより小さい。 これをフットプリント関連付けの際に、リストから選ぶ。 要するに、使う部品のパッケージで選択する。 【抵抗】 例:秋月電子 (3.6V500mW) GDZJ3.6B カーボン抵抗(炭素皮膜抵抗) 1/4W100Ω http://akizukidenshi.com/catalog/g/gR-25101/ 1/4Wのものがよく使うもの長さが6.3mm(公差を含めると6.8mm)。 Resistor_THTからL=6.3mmを探すといくつかある。7.62mmのピッチがあるが、これはリードの太さを考えると本当に根元で折り曲げる状態になるので、10.16mmが適当。 (ブレッドボードが手元にあるならやってみるとわかる。4個分) 【ICソケット 3D 3次元】 ICソケット上に、ちゃんとICを載せたい場合。 (自己満足で特に基板のレイアウトが代わるわけでなく、3次元の見た目がよく 満足度が高まる) KiC

ニクロム線 アクリル板曲げヒータ

イメージ
ニクロム線 アクリル板曲げヒータを自作したい。 先人のブログ。 https://jibundeyarou.com/mage1/ 12Vの仕様として作りたい。 100V交流からというものあるが、さすがに安全性を考えて12Vにしたい。 また12VだとMOSFETで後々に電力投入量が調整しやすい。 まずは、ホームセンタで入手しやすいニクロム線。 φ=0.26mmで5mのもの。これをテスターの当てる長さを変えて測定 Length (cm) R(Ω) 0 0 10 2.4 20 4.9 30 7 40 9.7 50 11.9 半田ゴテが、30W~40Wでもよく市販されているから、12Vの電源で30~50Wを達成するには、結構電流を流す必要がありるが、このニクロム線だと抵抗が大きい=ニクロム線が細い。丸めずに40㎝で利用したとして10Ω。1本で使うには抵抗が大きい。 そこで、先人もこれから3本の並列化で抵抗値を下げる事を実施しているように、ここでは5本の並列にする。 抵抗を小さく4A流せば48W。このときR=3Ω。3Aでは36W、4Ω。少なくとも4Ωかそれを切るぐらいにする必要あり。 ということでおおむねの抵抗値の目標値は3.5Ωをめざす。 で、ここで気がついてしまったが、3Ωとかの抵抗でよければ、なんでもよいのでは? ニクロム線が5mで250円ぐらい。 ステンレス線で100円均一で売っているφ0.28mmが20mで100円。 これを仮に読んで、アクリル板曲げヒータを安く作ろうとしている人。ステンレス線でもおそらくできます・・・。 5mをまず、1m5本に切り出し。 5本の先をペンチでぐるぐるとして、束ねる。M4のねじに固定できるように、わっかを作ってねじって止める。1m1本で24Ω。これが5本並列なので毛計算では4.8Ω。測定するとちょうど4.8Ωになっていた。さしているだけでは抵抗が大きく、5.4Ωとかになっていたが、ナットで両側はさんでやると、4.8Ωになり接触抵抗を減らす事ができる。 5本の先をペンチでぐるぐるとして、束ねる。M4のねじに固定できるように、まず、片方だけ、わっかを作ってねじって止める。1m1本で24Ω。これが5本並列なので毛計算では4.8Ω。3.5Ωにしたいので

MCP4725 DAC

イメージ
MCP4725 I2C経由で設定した電圧が出力できる便利もの http://akizukidenshi.com/catalog/g/gK-08677/ amazonからでも安く購入可能 ちょっとしたプログラム電源として各種のテストで使える。<=5.5Vまで 【準備】 ここはいっぱい解説しているから他のサイトを参考に IDEからスケッチーライブラリーをインクルードーライブラリを管理 MCP4725で検索、インストール シリアルモニターから入力した0-4095の値に応じて出力を変化させるスケッチを作成してみた。 *********************** //standard MCP4725 using adafruit // from serial monitor, set DAC value #include <Wire.h> #include <Adafruit_MCP4725.h> #define MCP4725_ADDR1 0x60              //MCP4725 address Adafruit_MCP4725 dac; void setup(void) {  Serial.begin(9600);  dac.begin(MCP4725_ADDR1);   //Begins the I2C communication  dac.setVoltage(0, false);   //set zero volt } void loop(void) {  int data_size = Serial.available(); if (Serial.available() > 0)   {     delay(20);     int data_size = Serial.available();     byte buf[data_size];     Serial.print("data size:");     Serial.println(data_size);     for (int i = 0 ; i < data_size ; i++)     {       buf[i] = Serial

Arduinoインストール

イメージ
Arduino ジャンク部品で新しくPCを立てたのでメモとして ArduinoIDEインストール https://www.arduino.cc/en/Main/Software ・arduino-1.8.12-windowsをダウンロード(インストーラーをDL) ・Windowsのアイコンがあるのでつい押したくなるし、インストールされてしまうのでつい押したくなるが、WindowsAppとしてはDLしない。インストール先が、WindowsAppsの下になると後々に、直接Arduinoのファイルを編集したくても、アクセス拒否の問題に直面する。 ・インストール先の指定 デフォルトでは、ProgramFilesの下になるので、C:直下、またはD:\Arduino直下等へ。 (スペースの入るフォルダ名を避けるために) ・テスト UNO等何種類か持っているが、手元にあったNANO(中華CH340)にてテスト。 IDEを起動、ファイルースケッチ例ー01.Basic-Blinkを選択。2020年5月時点では、 CH340を使っているボードだが、インストール直後からデバイスマネジャーで一発認識。特に何もする必要がない模様。 Blinkを送り込んでやるとオンボードのLEDが無事点滅点灯。