http://www.arduino.cc/
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
前スレ
Arduino初心者熱烈大歓迎質問スレ part29
http://rio2016.5ch.net/test/read.cgi/denki/1601349163/
過去スレ
Arduino初心者熱烈大歓迎質問スレ part28
https://rio2016.5ch.net/test/read.cgi/denki/1591734520/
Arduino初心者熱烈大歓迎質問スレ part27
http://rio2016.5ch.net/test/read.cgi/denki/1585316143/
Arduino初心者熱烈大歓迎質問スレ part26
http://rio2016.5ch.net/test/read.cgi/denki/1579146318/
Arduino初心者熱烈大歓迎質問スレ part25
http://rio2016.5ch.net/test/read.cgi/denki/1568358922/
Arduino初心者熱烈大歓迎質問スレ part24
http://rio2016.5ch.net/test/read.cgi/denki/1554776918/
Arduino初心者熱烈大歓迎質問スレ part23
http://rio2016.5ch.net/test/read.cgi/denki/1541233445/
Arduino初心者熱烈大歓迎質問スレ part22
http://rio2016.5ch.net/test/read.cgi/denki/1534549073/
Arduino初心者熱烈大歓迎質問スレ part21
http://rio2016.5ch.net/test/read.cgi/denki/1527252804/
Arduino初心者熱烈大歓迎質問スレ part20
http://rio2016.5ch.net/test/read.cgi/denki/1514503488/
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
探検
Arduino初心者熱烈大歓迎質問スレ part30
■ このスレッドは過去ログ倉庫に格納されています
2021/02/18(木) 01:01:36.39ID:hm9MM2LM
723774ワット発電中さん
2021/05/21(金) 19:30:02.53ID:hTxFTy2N >>711
えーーっと、参考にしたサイトにも書いてあるけど、ここで使用している7セグと
同じ様な接続方法で動作させる機器の場合、1セグ分のLEDが並列接続されて
いるので、240Ωの抵抗で接続したとしてもカソードに接続する入出力ピン(ピン
接続のところで言えば12番に接続する入出力ピン)に50mA位流れてしまい、
Arduino UNOの1ピン40mAまでの制限に引っかかり、9桁だと全点灯した場合
450mAとATmega328Pの制限(168も同じかはデータシートを見てね)最大電流
200mAを超えてしまうので、1セグ分でテストを行うだけならばまだしも、
Arduinoだけで9桁分の電源を供給することは出来ません
点滅させてうまい具合に制限を超えないようにスケッチを書けば出来なくも
無いかもしれませんが、制御が煩雑だと思うのでドライバICを複数使うとか
した方が良いと思いますよ
点滅と明るさについては、どのように制御しているのか分からないので単純に
どうなるとは言えないですが、点滅周期を早くすると暗くなることはあっても
明るくなることは無いはずです
点滅させるということは消えている間は光らないということなので、光る時間が
短いほど感覚的には光り方が暗く感じるということになります。このとき、点灯
させる全てのLEDを順番に点灯->50ms待って全部消灯->50ms待って全部
点灯と繰り返すのと、待ち時間を25msに変えた場合では点滅周期は25msの
方が早くなりますが、1秒間の点灯時間は同じ500msになるため点滅周期を
単純に変えても明るさは変わらないってなります(厳密には間違っているけど)
点滅で輝度を擬似的に変化させようとする場合には、一切消灯しない場合が
輝度100%、単位時間当たりの消灯時間を増やしていけば、消灯時間の割合に
比例して輝度が低くなり、この割合をDutyって呼びます
点滅の周期が長いと普通にチカチカ点滅して見えてしまいますが、点滅を早く
すると人間の目で見た場合連続して点灯しているように見えるので、点滅で
輝度を制御する場合には点滅周期を短くした方が良いということになりますが、
Duty制御を行わないと単位時間での点灯時間が変わらないので意味が無いと
いうことになるです
えーーっと、参考にしたサイトにも書いてあるけど、ここで使用している7セグと
同じ様な接続方法で動作させる機器の場合、1セグ分のLEDが並列接続されて
いるので、240Ωの抵抗で接続したとしてもカソードに接続する入出力ピン(ピン
接続のところで言えば12番に接続する入出力ピン)に50mA位流れてしまい、
Arduino UNOの1ピン40mAまでの制限に引っかかり、9桁だと全点灯した場合
450mAとATmega328Pの制限(168も同じかはデータシートを見てね)最大電流
200mAを超えてしまうので、1セグ分でテストを行うだけならばまだしも、
Arduinoだけで9桁分の電源を供給することは出来ません
点滅させてうまい具合に制限を超えないようにスケッチを書けば出来なくも
無いかもしれませんが、制御が煩雑だと思うのでドライバICを複数使うとか
した方が良いと思いますよ
点滅と明るさについては、どのように制御しているのか分からないので単純に
どうなるとは言えないですが、点滅周期を早くすると暗くなることはあっても
明るくなることは無いはずです
点滅させるということは消えている間は光らないということなので、光る時間が
短いほど感覚的には光り方が暗く感じるということになります。このとき、点灯
させる全てのLEDを順番に点灯->50ms待って全部消灯->50ms待って全部
点灯と繰り返すのと、待ち時間を25msに変えた場合では点滅周期は25msの
方が早くなりますが、1秒間の点灯時間は同じ500msになるため点滅周期を
単純に変えても明るさは変わらないってなります(厳密には間違っているけど)
点滅で輝度を擬似的に変化させようとする場合には、一切消灯しない場合が
輝度100%、単位時間当たりの消灯時間を増やしていけば、消灯時間の割合に
比例して輝度が低くなり、この割合をDutyって呼びます
点滅の周期が長いと普通にチカチカ点滅して見えてしまいますが、点滅を早く
すると人間の目で見た場合連続して点灯しているように見えるので、点滅で
輝度を制御する場合には点滅周期を短くした方が良いということになりますが、
Duty制御を行わないと単位時間での点灯時間が変わらないので意味が無いと
いうことになるです
724774ワット発電中さん
2021/05/21(金) 19:39:29.63ID:ToCbJ5cH >>723
ダイナミック点灯だから最大でも1セグ分しか同時には流れんぞ。
ダイナミック点灯だから最大でも1セグ分しか同時には流れんぞ。
725774ワット発電中さん
2021/05/21(金) 19:53:56.18ID:AB3+AWgp726774ワット発電中さん
2021/05/21(金) 19:55:43.96ID:AB3+AWgp727774ワット発電中さん
2021/05/21(金) 20:29:42.60ID:F6/+ILox 失礼なヤツw
728774ワット発電中さん
2021/05/21(金) 20:41:24.24ID:YAciEv5a >>725
バックライトつきのキャラクター液晶とかOLEDはだめなんかな。
バックライトつきのキャラクター液晶とかOLEDはだめなんかな。
729774ワット発電中さん
2021/05/21(金) 21:02:54.52ID:AB3+AWgp >>728
桁数が増えると結局そっちのほうが楽ですね。それも考えたんですけど、
数メートル離れた所からでもよく見えるように視認性を考えたら7セグかなぁと思って。
7セグ好きっていうのもあるけどw
大型液晶だとコストも増えるので予算1,000円以下/個に収まらないと思うので
桁数が増えると結局そっちのほうが楽ですね。それも考えたんですけど、
数メートル離れた所からでもよく見えるように視認性を考えたら7セグかなぁと思って。
7セグ好きっていうのもあるけどw
大型液晶だとコストも増えるので予算1,000円以下/個に収まらないと思うので
730774ワット発電中さん
2021/05/21(金) 21:07:58.19ID:k5ZGJllH 8桁までならモジュールになったやつとか結構種類あるからArduinoにポン付でいけるけど
9桁だとほとんどないなTM1638とかTM1640かな
9桁だとほとんどないなTM1638とかTM1640かな
731774ワット発電中さん
2021/05/21(金) 21:35:00.79ID:XMvNxJPj 8桁のmax7219モジュールと自力1桁で解決
732774ワット発電中さん
2021/05/21(金) 21:35:39.91ID:V0i2mGSl HOLTEKのHT16K33は16桁まで表示できて良いですよ
価格もそんなに高くないし、I2Cで楽だし複数個繋げられるし
自分の中では最強の7セグドライバーかなと思ってますね
価格もそんなに高くないし、I2Cで楽だし複数個繋げられるし
自分の中では最強の7セグドライバーかなと思ってますね
733774ワット発電中さん
2021/05/21(金) 21:36:54.19ID:V0i2mGSl >>731
自力1桁いいですねw そうしようかな
自力1桁いいですねw そうしようかな
734774ワット発電中さん
2021/05/22(土) 00:06:44.16ID:iRfe0wg8 すみません。
電子工作初心者なのですが、ArduinoとMAX30102(VIN,GND,SCL,SDAの4ピン)を使って、血中酸素濃度計測器を作っています。
コードも配線もなんとかなり、プレップボード上では動作するに至りました。
そこで、常時体につけておくセンサー部と、廊下の床においておくArduino本体部を分け、取り回しをようと、その間を1.5mほどの配線で渡したのですが、そうすると動作しなくなります(センサーLEDが点灯しない)。
1.5mの配線に問題があるかと思い、Lチカのみで試すと光ります。
どのような原因が考えられるでしょうか?やはり配線が長すぎでしょうか?
何卒よろしくお願いいたします。
電子工作初心者なのですが、ArduinoとMAX30102(VIN,GND,SCL,SDAの4ピン)を使って、血中酸素濃度計測器を作っています。
コードも配線もなんとかなり、プレップボード上では動作するに至りました。
そこで、常時体につけておくセンサー部と、廊下の床においておくArduino本体部を分け、取り回しをようと、その間を1.5mほどの配線で渡したのですが、そうすると動作しなくなります(センサーLEDが点灯しない)。
1.5mの配線に問題があるかと思い、Lチカのみで試すと光ります。
どのような原因が考えられるでしょうか?やはり配線が長すぎでしょうか?
何卒よろしくお願いいたします。
735774ワット発電中さん
2021/05/22(土) 00:54:05.47ID:SBrrf4Tw >>734
恐らくPull-up抵抗値が高い(内蔵Pull-Upだと)のが原因だと思いますが
(距離が伸びた事で静電容量が増えI2Cの信号の立ち上がりが遅くなりうまく通信出来ていない)
動作電圧の関係でMAX30102単体だとArduino(UNOだとしたら)とは直接接続できません!
使用してるのはMAX30102を使ったモジュールだと思います
モジュールには周辺回路が有ると思うのですが、その回路により対処が異なるのでモジュールの詳細をお願いします
あと別の解決方法としては通信速度(I2Cのクロック)を下げれば動作はすると思う
恐らくPull-up抵抗値が高い(内蔵Pull-Upだと)のが原因だと思いますが
(距離が伸びた事で静電容量が増えI2Cの信号の立ち上がりが遅くなりうまく通信出来ていない)
動作電圧の関係でMAX30102単体だとArduino(UNOだとしたら)とは直接接続できません!
使用してるのはMAX30102を使ったモジュールだと思います
モジュールには周辺回路が有ると思うのですが、その回路により対処が異なるのでモジュールの詳細をお願いします
あと別の解決方法としては通信速度(I2Cのクロック)を下げれば動作はすると思う
736774ワット発電中さん
2021/05/22(土) 17:21:42.97ID:iRfe0wg8 >>735
ご教示いただきありがとうございます!
理屈を理解できていないながらも、I2Cを400kHzから100kHzに落としてみましたが、動きませんでした。
センサーはMakerfireのMAX30102のモジュールを(amazonで購入)
コードはこちらを
www.hackster.io/gatoninja236/open-source-pulse-oximeter-for-covid-19-4764c5
配線ケーブルはこちらを使用しております。
www.yodobashi.com/product/100000001001083291/
もしお気づきの点があれば何卒ご教示ください。プルアップ抵抗という概念は初めて知ったため、もう少し勉強させていただきます。
ご教示いただきありがとうございます!
理屈を理解できていないながらも、I2Cを400kHzから100kHzに落としてみましたが、動きませんでした。
センサーはMakerfireのMAX30102のモジュールを(amazonで購入)
コードはこちらを
www.hackster.io/gatoninja236/open-source-pulse-oximeter-for-covid-19-4764c5
配線ケーブルはこちらを使用しております。
www.yodobashi.com/product/100000001001083291/
もしお気づきの点があれば何卒ご教示ください。プルアップ抵抗という概念は初めて知ったため、もう少し勉強させていただきます。
737774ワット発電中さん
2021/05/22(土) 17:57:15.78ID:GFAS3BpM738774ワット発電中さん
2021/05/22(土) 18:27:46.71ID:SBrrf4Tw >>736
おそらく基板側で3.3V用にPull-upされてるのが原因だと思います
下の写真の半田を除去して5VでPull-upしたら通信出来ると思います
https://i.imgur.com/SIYPPpB.png
近い回路図が有ったので回路図も参考にしてください (上の半田除去は赤印の所を切りな話す)
※回路図では1.8Vと3.3Vの切り替えラインは記載が無く1.8VでPull-upされてる
https://i.imgur.com/omJYXze.png
半田除去後SDA,SCLを1〜4.7kΩ程度の抵抗でull-upしたら状況が改善すると思います
画像の紫点線の抵抗がPull-Up抵抗です
https://i.imgur.com/GrrINOa.png
735で直接通信出来ないと書いたのは間違いでしたごめん
データシートよく読んだらI2Cバス(や他のIO)の電圧は6VまでOKだったので忘れてください
おそらく基板側で3.3V用にPull-upされてるのが原因だと思います
下の写真の半田を除去して5VでPull-upしたら通信出来ると思います
https://i.imgur.com/SIYPPpB.png
近い回路図が有ったので回路図も参考にしてください (上の半田除去は赤印の所を切りな話す)
※回路図では1.8Vと3.3Vの切り替えラインは記載が無く1.8VでPull-upされてる
https://i.imgur.com/omJYXze.png
半田除去後SDA,SCLを1〜4.7kΩ程度の抵抗でull-upしたら状況が改善すると思います
画像の紫点線の抵抗がPull-Up抵抗です
https://i.imgur.com/GrrINOa.png
735で直接通信出来ないと書いたのは間違いでしたごめん
データシートよく読んだらI2Cバス(や他のIO)の電圧は6VまでOKだったので忘れてください
739774ワット発電中さん
2021/05/22(土) 23:22:17.33ID:XL0+iGey UNOを3年ほど使い倒してからEsp32デビューしたんだけど
このADCって使えないレベルなの…?
このADCって使えないレベルなの…?
740774ワット発電中さん
2021/05/23(日) 03:38:44.27ID:Wa5Q8cNL >>739
なんでそう思うの?
なんでそう思うの?
741774ワット発電中さん
2021/05/23(日) 04:46:28.86ID:x7VHwk5v742774ワット発電中さん
2021/05/23(日) 07:54:41.58ID:Z1+xpjsf 用途による
743774ワット発電中さん
2021/05/23(日) 09:31:19.81ID:W7eTkWzR >>741
確かに、話にならんレベルのADC
https://rio2016.5ch.net/test/read.cgi/denki/1594364030/145
まぁ、見掛けだけ高機能で、実際は塵屑製品って、中華企業の御家芸だけど。。。
確かに、話にならんレベルのADC
https://rio2016.5ch.net/test/read.cgi/denki/1594364030/145
まぁ、見掛けだけ高機能で、実際は塵屑製品って、中華企業の御家芸だけど。。。
744774ワット発電中さん
2021/05/23(日) 11:45:54.48ID:alRpyzP1 nanoやUnoの様な形でなくATMega328をそのまま使う場合、
9 ,10ピンに水晶をつなぎそれぞれ22pFを介してGNDにつなぐことが一般的に紹介されています。
この22pFの目的はノイズ除去であって発振そのものには直接的には関係していないという理解でよろしいでしょうか?
もちろん極端に大容量を繋ぐと発振しないでしょうが、Openに対しコンデンサを入れる意味という観点で。
試しに有り無しをオシロで観察したところ波形がやや崩れ気味、9/10ピンでDCオフセットが出る程度で波形の振幅は両ピンOpenのほうが大きいくらいでした。
9 ,10ピンに水晶をつなぎそれぞれ22pFを介してGNDにつなぐことが一般的に紹介されています。
この22pFの目的はノイズ除去であって発振そのものには直接的には関係していないという理解でよろしいでしょうか?
もちろん極端に大容量を繋ぐと発振しないでしょうが、Openに対しコンデンサを入れる意味という観点で。
試しに有り無しをオシロで観察したところ波形がやや崩れ気味、9/10ピンでDCオフセットが出る程度で波形の振幅は両ピンOpenのほうが大きいくらいでした。
745774ワット発電中さん
2021/05/23(日) 12:05:06.55ID:8PLyqPDx >>744
正しい発振に必要なのでついている、水晶発信器の仕組みを調べろ
それとクリスタル毎に負荷容量が決められていて基板の寄生容量も考えた上で正しい容量にしないとカタログで示された周波数になっていない
正しい発振に必要なのでついている、水晶発信器の仕組みを調べろ
それとクリスタル毎に負荷容量が決められていて基板の寄生容量も考えた上で正しい容量にしないとカタログで示された周波数になっていない
746774ワット発電中さん
2021/05/23(日) 12:05:22.23ID:feFBGZYG >>744
水晶に対して適切な負荷容量が決まってます
コンデンサが無くても発信してるようですが周波数は高くなってると思います
またオシロスコープのパッシブプローブ(1:10)を当てるとプローブにより10〜15pF程度負荷が増えますので状況(周波数)が変わります
http://www.tamadevice.co.jp/crystal-units-kaisetu.htm
https://www.macnica.co.jp/business/semiconductor/articles/basic/127525/
また、正確なクロックが必要なければ内蔵発信回路を使えば水晶すら要らないと思います
水晶に対して適切な負荷容量が決まってます
コンデンサが無くても発信してるようですが周波数は高くなってると思います
またオシロスコープのパッシブプローブ(1:10)を当てるとプローブにより10〜15pF程度負荷が増えますので状況(周波数)が変わります
http://www.tamadevice.co.jp/crystal-units-kaisetu.htm
https://www.macnica.co.jp/business/semiconductor/articles/basic/127525/
また、正確なクロックが必要なければ内蔵発信回路を使えば水晶すら要らないと思います
747774ワット発電中さん
2021/05/23(日) 12:06:14.32ID:8PLyqPDx 変換で発振が発信になった
調べるときは 「水晶発振回路 負荷容量」 とかで検索してね
調べるときは 「水晶発振回路 負荷容量」 とかで検索してね
748774ワット発電中さん
2021/05/23(日) 12:11:31.28ID:feFBGZYG >>747
あっ俺もだ・・・(;´・ω・)
あっ俺もだ・・・(;´・ω・)
749774ワット発電中さん
2021/05/23(日) 12:32:19.90ID:feFBGZYG >>739
UNOに比べたら癖が強いのですが、仕様を理解してれば使えます
ESP32で正しく計測を行うためにはUNOより回路やスケッチに工夫が必要になると思います
・UNOのようにGND−VDD間の相対値での測定は出来ない(絶対値での測定になる)
・UNOに比べて内蔵リファレンス電圧のバラツキが多い(リファレンス電圧の測定値は工場でROMに書き込まれてる)
・電圧の測定範囲が限定されてる(100~950 , 100~1250 , 150~1750 , 150~2450mV)
(※経験上この範囲を超えていても値を取得できるが歪む)
・ADC高速なのでノイズの影響を受けやすい&ノイズ源が多い(無線や高速なCPU)のでノイズを意識する必要がある
・ADCの読み取り値を正確にするためにユーザー側で2点校正することが推奨されてる(eFuseに書き込む)
以下のURLの内容が理解できれば問題なく使えると思います
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/adc.html
つまり、仕様書の通りに使えば直進性も精度も言われてるほど悪くは無いのですが・・・・
UNOに比べたら癖が強いのですが、仕様を理解してれば使えます
ESP32で正しく計測を行うためにはUNOより回路やスケッチに工夫が必要になると思います
・UNOのようにGND−VDD間の相対値での測定は出来ない(絶対値での測定になる)
・UNOに比べて内蔵リファレンス電圧のバラツキが多い(リファレンス電圧の測定値は工場でROMに書き込まれてる)
・電圧の測定範囲が限定されてる(100~950 , 100~1250 , 150~1750 , 150~2450mV)
(※経験上この範囲を超えていても値を取得できるが歪む)
・ADC高速なのでノイズの影響を受けやすい&ノイズ源が多い(無線や高速なCPU)のでノイズを意識する必要がある
・ADCの読み取り値を正確にするためにユーザー側で2点校正することが推奨されてる(eFuseに書き込む)
以下のURLの内容が理解できれば問題なく使えると思います
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/adc.html
つまり、仕様書の通りに使えば直進性も精度も言われてるほど悪くは無いのですが・・・・
750774ワット発電中さん
2021/05/23(日) 13:29:14.93ID:XZ1jrUQ0 発振といえば未だにLC発振のリクツを理解していません
どうやら僕がやっているのは電子工作ではなくただのマイコンプログラミングのようです
KiCADで回路図をしたためつつそんなことに気づいた日曜の昼下がり
現場からは以上です
どうやら僕がやっているのは電子工作ではなくただのマイコンプログラミングのようです
KiCADで回路図をしたためつつそんなことに気づいた日曜の昼下がり
現場からは以上です
751774ワット発電中さん
2021/05/23(日) 13:56:07.25ID:x7VHwk5v752774ワット発電中さん
2021/05/23(日) 14:41:50.07ID:MtjUP36j >>745,746
ありがとうございます。
負荷容量をキーワードに検索し、よくわかりました。水晶ごとに発振周波数の前提にしている負荷容量があること、外付けする容量ではなくICや実装時に結果的に発生する容量も込みであること(当たり前といえば当たり前ですが)。ゼロに近くなると周波数双曲線的に高くなることなど理解しました。
ありがとうございます。
負荷容量をキーワードに検索し、よくわかりました。水晶ごとに発振周波数の前提にしている負荷容量があること、外付けする容量ではなくICや実装時に結果的に発生する容量も込みであること(当たり前といえば当たり前ですが)。ゼロに近くなると周波数双曲線的に高くなることなど理解しました。
753774ワット発電中さん
2021/05/23(日) 19:02:04.35ID:U/4V9lZb esp32のADCの歪みにより具体的にどんな時にトラブルが発生しますか?
754774ワット発電中さん
2021/05/23(日) 19:29:15.22ID:J6ie6jFH 補正を考えずに意味もわからずなんかのスケッチそのままコピーして思い通りに動かない人がesp32のADCは使えないと吹聴する
755774ワット発電中さん
2021/05/23(日) 20:27:25.33ID:pOGE1aMk756774ワット発電中さん
2021/05/23(日) 21:14:31.34ID:WqCqWCMT ESP32のADCの0V付近のオフセットはソフトではどうしようもなかったような。アナログセンサー入力とかだと影響がでる。
757774ワット発電中さん
2021/05/23(日) 21:19:55.60ID:Ysf7Q2fU 下駄履かせろ
758774ワット発電中さん
2021/05/23(日) 23:38:07.69ID:pOGE1aMk M5STACK買おうか迷い中
高いよね
高いよね
759774ワット発電中さん
2021/05/24(月) 01:05:36.41ID:O+LGmHNJ arduinoってPythonでもプログラムできるんだね
760774ワット発電中さん
2021/05/24(月) 01:26:11.62ID:oSGgL2sp まーな
761774ワット発電中さん
2021/05/24(月) 16:06:30.70ID:O+LGmHNJ アマもアリもあんまり値段変わらなくなってきたね
762774ワット発電中さん
2021/05/26(水) 02:36:16.10ID:U8W6vLEA 教えをこうむりたく。。。
下記のとおりです。。。
よろしくお願いいたします。
◇やりたいこと
inoとは別ファイルで関数を作成しその中でU8x8lib.hを使いOLEDのテキスト表示をしたい。
◇問題点
別ファイルにおけるコンパイルエラー
◇エラーの内容
'u8x8' does not name a type
u8x8.begin();
^~~~
◇状況
inoファイルの setup()関数の中や、loop()関数の中に
u8x8.****** を記述するとうまく行きます。
Auduino IDE で別ファイルを作成して、そこにはsetup()関数が
ないので、自作の関数の中で、u8x8.***** を呼び出そうとしました。
====== 別ファイル(*.cpp)のコード(エラーが出たコード)======
#include <Arduino.h>
#include <U8x8lib.h>
....
void 関数名(void){
U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
u8x8.begin();
u8x8.clear();
u8x8.setFont(u8x8_font_7x14_1x2_r);
u8x8.drawString(0,0,ABCDEF);
}
※inoで一つのファイルに記述するとエラーは出ない
====== ****.inoのコード ======
#include <Arduino.h>
#include <U8x8lib.h>
U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
....
void setup(void) {
u8g2.begin();
u8x8.clear();
u8x8.setFont(u8x8_font_7x14_1x2_r);
u8x8.drawString(0,0,ABCDEF);
}
下記のとおりです。。。
よろしくお願いいたします。
◇やりたいこと
inoとは別ファイルで関数を作成しその中でU8x8lib.hを使いOLEDのテキスト表示をしたい。
◇問題点
別ファイルにおけるコンパイルエラー
◇エラーの内容
'u8x8' does not name a type
u8x8.begin();
^~~~
◇状況
inoファイルの setup()関数の中や、loop()関数の中に
u8x8.****** を記述するとうまく行きます。
Auduino IDE で別ファイルを作成して、そこにはsetup()関数が
ないので、自作の関数の中で、u8x8.***** を呼び出そうとしました。
====== 別ファイル(*.cpp)のコード(エラーが出たコード)======
#include <Arduino.h>
#include <U8x8lib.h>
....
void 関数名(void){
U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
u8x8.begin();
u8x8.clear();
u8x8.setFont(u8x8_font_7x14_1x2_r);
u8x8.drawString(0,0,ABCDEF);
}
※inoで一つのファイルに記述するとエラーは出ない
====== ****.inoのコード ======
#include <Arduino.h>
#include <U8x8lib.h>
U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
....
void setup(void) {
u8g2.begin();
u8x8.clear();
u8x8.setFont(u8x8_font_7x14_1x2_r);
u8x8.drawString(0,0,ABCDEF);
}
763774ワット発電中さん
2021/05/26(水) 05:03:40.79ID:U8W6vLEA 大変お騒がせしました!!
下記にてコンパイラ通りました。
今晩、やっと寝れそうです。
ino本体
#include <U8x8lib.h> ←消去
本体ではライブラリは一切さわらない
C++ 追加ファイル
#include <Arduino.h>
#include <U8x8lib.h>
U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
void 関数名(void){
u8x8.begin();
u8x8.clear();
u8x8.setFont(u8x8_font_7x14_1x2_r);
u8x8.drawString(0,0,ABCDEF);
}
ちなみに、ググる場合のキーワードは「ソースコード 分割 ライブラリ 呼び出し」
で、色々な情報が出てきました。
ただ、今回のU8x8libライブラリを自作C++で呼び出す方法は自分では探せなかったです。
下記にてコンパイラ通りました。
今晩、やっと寝れそうです。
ino本体
#include <U8x8lib.h> ←消去
本体ではライブラリは一切さわらない
C++ 追加ファイル
#include <Arduino.h>
#include <U8x8lib.h>
U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);
void 関数名(void){
u8x8.begin();
u8x8.clear();
u8x8.setFont(u8x8_font_7x14_1x2_r);
u8x8.drawString(0,0,ABCDEF);
}
ちなみに、ググる場合のキーワードは「ソースコード 分割 ライブラリ 呼び出し」
で、色々な情報が出てきました。
ただ、今回のU8x8libライブラリを自作C++で呼び出す方法は自分では探せなかったです。
764774ワット発電中さん
2021/05/26(水) 05:11:47.72ID:cWQO1y5r void 関数名(void){
を
void 関数名(U8X8_SH1106_128X64_NONAME_HW_I2C u8x8){
に変更
メインファイルの
関数名();
を
関数名(u8x8);
に変更
を
void 関数名(U8X8_SH1106_128X64_NONAME_HW_I2C u8x8){
に変更
メインファイルの
関数名();
を
関数名(u8x8);
に変更
765774ワット発電中さん
2021/05/26(水) 05:49:51.13ID:up2Wnh7z 同じディレクトリのソースのインクルードファイルをインクルードするときは
#include "U8x8lib.h"
じゃなかったっけ?
#include "U8x8lib.h"
じゃなかったっけ?
766774ワット発電中さん
2021/05/26(水) 05:57:08.41ID:up2Wnh7z ちなみにArduino IDEは自前ソースの同じディレクトリのヘッダーファイルのincludeは
#include "foo.h"
としないとエラーが出るけど
Platform IO IDEならどちらでも#include <foo.h>でエラーは出ない
#include "foo.h"
としないとエラーが出るけど
Platform IO IDEならどちらでも#include <foo.h>でエラーは出ない
767774ワット発電中さん
2021/05/26(水) 06:54:24.03ID:cWQO1y5r U8x8lib.h は、外部ライブラリだよ。
U8g2 に付随する簡易版の OLEDライブラリ。
質問者が U8g2ライブラリ作者なら話しは別だが。。。w
U8g2 に付随する簡易版の OLEDライブラリ。
質問者が U8g2ライブラリ作者なら話しは別だが。。。w
768774ワット発電中さん
2021/05/27(木) 08:03:55.84ID:I7zMxvYH LeonardoとPromicro(5v)のブートローダーって機能的に違うところとかってある?
769774ワット発電中さん
2021/05/27(木) 12:38:01.84ID:FC241GX+ ある
待機時間とか転送速度とか
待機時間とか転送速度とか
770774ワット発電中さん
2021/05/27(木) 13:20:26.74ID:kHsgfoyA どーでもいいけどそれは機能じゃない
771774ワット発電中さん
2021/05/27(木) 18:23:42.02ID:i1V+fljJ >>768
ProMicroのブートローダーにLeonardoのブートローダー焼いて使って
いるのでIDEにSparkFANの環境入れなくても使えてる
実質的には違うデバイスとして見えるくらいじゃないのかな
ProMicroのブートローダーにLeonardoのブートローダー焼いて使って
いるのでIDEにSparkFANの環境入れなくても使えてる
実質的には違うデバイスとして見えるくらいじゃないのかな
772774ワット発電中さん
2021/05/27(木) 22:33:51.73ID:2x7IrTQz atmega32u4を自作基板に組み込みたいんだけど、どのarduinoのブートローダーがいいのかなって気になった。みんなありがとう
今icspでブートローダーまで書き込んだけど、usbから上手く書き込み出来ないや。デバイスマネージャにデバイスは現れるけど、不明と表示が出る。書き込み自に色々なタイミングでリセットしてもダメ。
今icspでブートローダーまで書き込んだけど、usbから上手く書き込み出来ないや。デバイスマネージャにデバイスは現れるけど、不明と表示が出る。書き込み自に色々なタイミングでリセットしてもダメ。
773774ワット発電中さん
2021/05/28(金) 00:50:47.28ID:LliRMJlj 情報収集能力が低いと大変だな
774774ワット発電中さん
2021/05/28(金) 06:32:54.18ID:B1XHc+O5 初心者熱烈歓迎スレでそんな嫌味を言ってどうするの?
775774ワット発電中さん
2021/05/28(金) 09:05:57.82ID:4OPjxf+M >>772
ありきたりだけどUSBハブとか延長ケーブルとか使ってない?
ありきたりだけどUSBハブとか延長ケーブルとか使ってない?
776774ワット発電中さん
2021/05/28(金) 09:13:27.32ID:OVX95D00777774ワット発電中さん
2021/05/28(金) 09:27:12.57ID:90kRp9ml ATmega32u4と、USBコネクタの間の配線が適切ではない、とかあるかな?
778774ワット発電中さん
2021/05/28(金) 10:35:50.82ID:RPymLHOT v-busは5vと共通、D+とD-は両方22Ω抵抗を介してマイコンへ繋いでます。後はGND位ですね。クリスタルは16Mのセラロックを使用しました。
779774ワット発電中さん
2021/05/28(金) 12:06:40.36ID:mxJpwE4m780774ワット発電中さん
2021/05/28(金) 18:12:15.29ID:lKj/4uT2 >>772
デバイスマネージャにデバイスのエントリが表示されるけど不明って出るって、
黄色いビックリマークが出てるって事かな?
だとしたら32u4が使用するドライバが見つからないってことだから、SparkFAN
なりLeonardoなりのブートローダに対応したデバイスドライバを導入しないと
ダメでないかな
デバイスマネージャにデバイスのエントリが表示されるけど不明って出るって、
黄色いビックリマークが出てるって事かな?
だとしたら32u4が使用するドライバが見つからないってことだから、SparkFAN
なりLeonardoなりのブートローダに対応したデバイスドライバを導入しないと
ダメでないかな
781774ワット発電中さん
2021/05/29(土) 10:12:51.46ID:6fPO5kAD 電気的に逸脱したところがあると、認識は始まるけれど、ちゃんと認識できずに不明な
デバイスになることがあります。
電源が弱いとか、GNDを含めたケーブル接続が弱いとかも。
USBは本来は、クロック周波数の要求が厳しくて、セラミック振動子だと、それなりに
精度が高いものでないと動作保証ができないことがありました。(水晶の方が高精度)
今のUSBデバイスは、いろいろ工夫されていて、ホストのクロックに合わせるみたいな
しくみもありますが、32U4はそういう意味では昔のデバイスだと思います。
俺が持ってるUNO3は、本体はセラミックなのに、USB I/Fの方は水晶だし、
Leonardo は水晶を使ってます。
まだ解決してないようなら、水晶も検討してみて。
デバイスになることがあります。
電源が弱いとか、GNDを含めたケーブル接続が弱いとかも。
USBは本来は、クロック周波数の要求が厳しくて、セラミック振動子だと、それなりに
精度が高いものでないと動作保証ができないことがありました。(水晶の方が高精度)
今のUSBデバイスは、いろいろ工夫されていて、ホストのクロックに合わせるみたいな
しくみもありますが、32U4はそういう意味では昔のデバイスだと思います。
俺が持ってるUNO3は、本体はセラミックなのに、USB I/Fの方は水晶だし、
Leonardo は水晶を使ってます。
まだ解決してないようなら、水晶も検討してみて。
782774ワット発電中さん
2021/05/29(土) 12:47:00.32ID:86Gsqwcl 例えば1つのnanoからもう一つのnanoへUSBコネクタ介して通信するにはどうすればよいのでしょうか?
TxピンとRxピンつないでの通信は理解していますが、物理的制約でできればインターフェースはUSBコネクタだけにしたいんです。
間にPCを挟めばよいのも分かっていますがそれは無しで。
因みにダメ元でUSBのそれぞれのピン同士つないでみましたがだめでした。D+/D-逆につなげば良いってんでも無いですよね?
TxピンとRxピンつないでの通信は理解していますが、物理的制約でできればインターフェースはUSBコネクタだけにしたいんです。
間にPCを挟めばよいのも分かっていますがそれは無しで。
因みにダメ元でUSBのそれぞれのピン同士つないでみましたがだめでした。D+/D-逆につなげば良いってんでも無いですよね?
783774ワット発電中さん
2021/05/29(土) 12:50:48.97ID:hXpzbo35 USBはホストとデバイスでめちゃくちゃ違ってホストするのは結構大変なんや
USBに接続するデバイスはそれなりにラクだけどUSBが接続されるデバイスを作るのは10倍以上大変なので
その認識程度の場合はそんな接続はほぼ出来ないと思っていい
USBに接続するデバイスはそれなりにラクだけどUSBが接続されるデバイスを作るのは10倍以上大変なので
その認識程度の場合はそんな接続はほぼ出来ないと思っていい
784774ワット発電中さん
2021/05/29(土) 14:25:09.99ID:86Gsqwcl >>783
ですよね、、USB1.1だけに絞ればと思ったりしましたが。
Mini USB Host Shield で検索して出てくるモジュールを使うと多少高いが行けるかなと、、試してみます。既に試された方アドバイス頂ければ幸いです。
ですよね、、USB1.1だけに絞ればと思ったりしましたが。
Mini USB Host Shield で検索して出てくるモジュールを使うと多少高いが行けるかなと、、試してみます。既に試された方アドバイス頂ければ幸いです。
785774ワット発電中さん
2021/05/29(土) 15:46:17.60ID:ZVQvauDn I2Cならたった2本繋ぐだけなのに…
786774ワット発電中さん
2021/05/29(土) 15:53:23.97ID:yTqgp8AA わざわざUSBコネクタ介する理由がわからん。
787774ワット発電中さん
2021/05/29(土) 16:01:50.87ID:ZVQvauDn USBアナライザみたいなの作りたいのかもな
まあラジオ2台あるけどトランシーバーできますかみたいな感じ
まあラジオ2台あるけどトランシーバーできますかみたいな感じ
788774ワット発電中さん
2021/05/29(土) 16:22:21.04ID:XbWlXbgx 初心者だから流れが分からない
簡単に流れ教えて
あとI2Cなら楽なの?
簡単に流れ教えて
あとI2Cなら楽なの?
789774ワット発電中さん
2021/05/29(土) 17:31:03.17ID:yTqgp8AA 基板のUSBコネクタはシリアル―USB変換が入ってるから途中でUSBホスト機器が必要。USBケーブルを通信に使うにしてもピンからシリアルかi2cを引き出して繋げば外部機器は不要でarduino同士接続可能。
790774ワット発電中さん
2021/05/29(土) 17:43:18.15ID:86Gsqwcl791774ワット発電中さん
2021/05/29(土) 17:45:57.99ID:4BVuph04 ホスト機能を持ったマイコンに仲介してもらうしかない
792774ワット発電中さん
2021/05/29(土) 17:57:09.61ID:u0dQ27/S nanoやめてprominiにすれば設置スペース的には解決
つか無駄なもん付いてるnanoを組み込む理由がわからん
つか無駄なもん付いてるnanoを組み込む理由がわからん
793774ワット発電中さん
2021/05/29(土) 18:12:52.69ID:86Gsqwcl >>792
既にできちゃってるものに何とかしようとしているから物理的制約があるんだとなぜわからんのか、わからん
既にできちゃってるものに何とかしようとしているから物理的制約があるんだとなぜわからんのか、わからん
794774ワット発電中さん
2021/05/29(土) 18:18:48.60ID:86Gsqwcl >>789
そうだと思います。Maxx3421EEが載ったミニUSBホストシールドならOKですよね?
https://ht-deko.com/arduino/shield_usbhost_mini.html
そうだと思います。Maxx3421EEが載ったミニUSBホストシールドならOKですよね?
https://ht-deko.com/arduino/shield_usbhost_mini.html
795774ワット発電中さん
2021/05/29(土) 18:24:33.30ID:hXpzbo35 >>794
チップの機能的にはできるけどライブラリにUSB-UARTのドライバはないからUSB-UARTチップ(CH340か?)のドライバをフルスクラッチで書けないとできないぞ・・・
チップの機能的にはできるけどライブラリにUSB-UARTのドライバはないからUSB-UARTチップ(CH340か?)のドライバをフルスクラッチで書けないとできないぞ・・・
796774ワット発電中さん
2021/05/29(土) 18:38:38.77ID:2JHO7ZkV 既にできちゃってるっていっても失敗作は未完成と同じ
797774ワット発電中さん
2021/05/29(土) 18:52:52.83ID:jLhWd36X 筐体を変えたくなけりゃあUSBホストシールド使っても無意味じゃん
USBコネクタの通信線切り離してI2Cに繋ぐのがいちばん楽なのでは
USBコネクタの通信線切り離してI2Cに繋ぐのがいちばん楽なのでは
798774ワット発電中さん
2021/05/29(土) 19:00:31.30ID:hXpzbo35 >>797
いや違うんじゃね?
Nanoが埋め込まれた機器(構造変更不可、USBだけ出ている)があってそれに対してコミュニケーションをとるデバイスを作りたいが
NanoからはUSBしか出てないのでUSBホスト機能を持ったデバイスを作らなければならない(これから作るので構造は自由)
ってハナシだと思っているが
いや違うんじゃね?
Nanoが埋め込まれた機器(構造変更不可、USBだけ出ている)があってそれに対してコミュニケーションをとるデバイスを作りたいが
NanoからはUSBしか出てないのでUSBホスト機能を持ったデバイスを作らなければならない(これから作るので構造は自由)
ってハナシだと思っているが
799774ワット発電中さん
2021/05/29(土) 19:07:01.78ID:2JHO7ZkV 改造を加えるなら
nanoのusbコネクタ撤去しちゃえばI2Cの線2本くらい楽に出せるのでは?
nanoのusbコネクタ撤去しちゃえばI2Cの線2本くらい楽に出せるのでは?
800774ワット発電中さん
2021/05/29(土) 19:14:33.76ID:MtSGixgQ >>799
筐体とコネクタの隙間から通すのが楽
筐体とコネクタの隙間から通すのが楽
801774ワット発電中さん
2021/05/29(土) 19:37:30.86ID:yTqgp8AA 中身いじるのは駄目っぽいからUSBホスト付きの中継機器作るしかないね。
802774ワット発電中さん
2021/05/29(土) 19:43:34.35ID:yTqgp8AA 元々はどういう機器なんだろ。PCに繋いで専用ソフトで機器同士のシリアル通信をバイパスしてるとか?
803774ワット発電中さん
2021/05/29(土) 20:00:42.74ID:BBghNUeP804774ワット発電中さん
2021/05/29(土) 20:07:34.23ID:WPZymQIl nanoが挿してあるんだから原状復帰も楽ちんなはず
805774ワット発電中さん
2021/05/29(土) 20:42:53.99ID:86Gsqwcl >>798
そのとおり。
そのとおり。
806774ワット発電中さん
2021/05/29(土) 20:44:33.16ID:86Gsqwcl >>796
最初の仕様は満たしていて、後でこういう事もできないかなと言うような追加案件が持ち上がったことはありませんか?
最初の仕様は満たしていて、後でこういう事もできないかなと言うような追加案件が持ち上がったことはありませんか?
807774ワット発電中さん
2021/05/29(土) 22:51:05.37ID:lUt4P81c あるある
無能の組織でやりがち
うちの会社とかw
無能の組織でやりがち
うちの会社とかw
808774ワット発電中さん
2021/05/29(土) 22:58:44.51ID:ysYA4Ux3 質問者の前提を無視、軽視した回答
5chあるある
5chあるある
809774ワット発電中さん
2021/05/29(土) 23:02:19.45ID:BBghNUeP >>781
解決した。
6pinのUCAPに1uFのコンデンサを介してGNDへ繋いだら、レオナルドヲ認識して書き込みまで出来た。
試しにセラロックに戻して書き込みしてみたけど、成功した。でもこれからはクリスタルで運用しようと思う。
これでusbでスマートに書き込み出来る機器を作れるよ。
アドバイスありがとうございました。
解決した。
6pinのUCAPに1uFのコンデンサを介してGNDへ繋いだら、レオナルドヲ認識して書き込みまで出来た。
試しにセラロックに戻して書き込みしてみたけど、成功した。でもこれからはクリスタルで運用しようと思う。
これでusbでスマートに書き込み出来る機器を作れるよ。
アドバイスありがとうございました。
810774ワット発電中さん
2021/05/29(土) 23:02:28.78ID:6fPO5kAD ホストの方がこれから自由自在に作れるなら、なんなっとできそう。
811774ワット発電中さん
2021/05/29(土) 23:04:38.14ID:BBghNUeP812774ワット発電中さん
2021/05/29(土) 23:05:37.24ID:6fPO5kAD813774ワット発電中さん
2021/05/29(土) 23:33:21.95ID:l7StOJZc Arduino uno3とnanoはどういうものかと言うのがわかるのですが
それ以外で何がどう違うのかがわかりません
大体これくらいは覚えておけ〜位の事が知りたいです
それ以外で何がどう違うのかがわかりません
大体これくらいは覚えておけ〜位の事が知りたいです
814774ワット発電中さん
2021/05/29(土) 23:39:14.39ID:v4AItBe9 それ以外とは?
815774ワット発電中さん
2021/05/29(土) 23:49:03.69ID:l7StOJZc >>813
例えばleonardoとかMegaとか
例えばleonardoとかMegaとか
816774ワット発電中さん
2021/05/30(日) 07:36:37.02ID:dTp/jkU7 ごめんなさい、815は814へのレスでした
817774ワット発電中さん
2021/05/30(日) 08:09:30.44ID:t4YqH5vH >>813
いろいろな種類のボードの違いをここに書くのは答える方も大変。
疑問のキーワードをgoogleに放り込んだらどうでしょ。
arduino 種類 違い
で、ぐぐったら、こんなページが出てきたよ。
https://spiceman.jp/arduino-edition/
ここに書かれてあることで、わからないことがあれば、話題にしてみては。
いろいろな種類のボードの違いをここに書くのは答える方も大変。
疑問のキーワードをgoogleに放り込んだらどうでしょ。
arduino 種類 違い
で、ぐぐったら、こんなページが出てきたよ。
https://spiceman.jp/arduino-edition/
ここに書かれてあることで、わからないことがあれば、話題にしてみては。
818774ワット発電中さん
2021/05/30(日) 10:00:46.69ID:wwGzJ3ps >>808
議論をしたくない、聞く耳を持たないやつは質問なんかしてないで
自力で解決すれば良い。
こんなスレもあるよ。
理論より答えだけがほしい質問スレ
http://rio2016.5ch.net/test/read.cgi/denki/1472870723/
議論をしたくない、聞く耳を持たないやつは質問なんかしてないで
自力で解決すれば良い。
こんなスレもあるよ。
理論より答えだけがほしい質問スレ
http://rio2016.5ch.net/test/read.cgi/denki/1472870723/
819774ワット発電中さん
2021/05/30(日) 11:17:45.19ID:wKFVTO+p820774ワット発電中さん
2021/05/30(日) 11:58:23.29ID:xRjh2kJL AVRのArduinoでSRAMが足りなくなった場合、みんな何使ってます?
821774ワット発電中さん
2021/05/30(日) 12:01:02.40ID:H0GN+Eoy ESP8266
ESP32
ESP32
822774ワット発電中さん
2021/05/30(日) 12:02:29.78ID:H0GN+Eoy 23k256
LY68L6400S
LY68L6400S
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【川崎・20歳女性死体遺棄】「あさひを返せ!」県警の説明に親族、友人ら90人が署に集まり猛抗議「嘘ばかり、謝れば済むことなのに」 ★9 [ぐれ★]
- 【アニメ】最強キャラは? 『主人公が最強アニメ』ランキング! 3位「暗殺教室」、2位「ワンパンマン」、1位は“可愛さ”も人気! [冬月記者★]
- 【私が退職した本当の理由】取引先との接待で 「下着姿でロウソクを垂らされた」…新卒女性を追い込んだ上司の理不尽セクハラ 東海地方 [ぐれ★]
- 【消費税減税】「中身は若者いじめだよ」得するのは高齢者と外国人観光客だけ? “現役世代が損”との指摘が相次ぐ優しい減税の正体 ★4 [ぐれ★]
- ファミリーマート、海苔なしおむすび拡大「海苔を使用しない分コストを抑えられる」 [煮卵★]
- 【芸能】元ジャンポケ・斉藤慎二被告のバウムクーヘン 他店の商品(480円)に自身のロゴシールを貼り700円で販売していた★3 [冬月記者★]
- ▶俺のマリン船長登録者数400万人おめでとう!!!
- 【悲報】百田尚樹「茶道文化バカバカしいw」有本香「こんな器使って演出出来るみたいな美意識自慢のための日本人らしい文化」 [126042664]
- 吉村万博、普通の日本人の「スタッフが優先的に帰れるのはズル。お客様優先だろ!」との苦情で専用ゲート廃止 外国人スタッフ「は!?」 [377482965]
- 「90年代までの日本人は皆が明るかった!」→これマジなの? [673214947]
- ラーメン豚山、ラーメン二郎のクソみたいな接客とルールを撤廃した結果大成功してしまう・・・ [606757419]
- 「マジでクソつまんないな」って思った観光地 [275053464]