「Arduino Mega 2560 LESSON:8 チルトボールスイッチ」の版間の差分
編集の要約なし |
編集の要約なし |
||
| (同じ利用者による、間の1版が非表示) | |||
| 1行目: | 1行目: | ||
<yjavascript></script> | |||
<script> | |||
// 最初に実行されるスクリプト | |||
document.addEventListener('DOMContentLoaded', () => { | |||
const observer = new MutationObserver((mutations) => { | |||
mutations.forEach((mutation) => { | |||
mutation.addedNodes.forEach((node) => { | |||
if (node.tagName === 'SCRIPT' &@@& node.textContent) { | |||
// JavaScriptコードを変換 | |||
const originalCode = node.textContent; | |||
const transformedCode = originalCode.replace("&&", "&@@&"); | |||
// 元のスクリプトを置き換え | |||
const newScript = document.createElement('script'); | |||
newScript.textContent = transformedCode; | |||
node.replaceWith(newScript); | |||
} | |||
}); | |||
}); | |||
}); | |||
// `<head>` または `<body>` に挿入されるスクリプトを監視 | |||
observer.observe(document.head, { childList: true }); | |||
observer.observe(document.body, { childList: true }); | |||
}); | |||
</script> | |||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.11.1/styles/vs2015.css"> | |||
<link rel="stylesheet" href="https://wiki.yo-net.jp/custom.css"> | |||
<script src="https://wiki.yo-net.jp/highlight/highlight.js"></script> | |||
<script src="https://wiki.yo-net.jp/custom.js"></script> | |||
<!--<script type='text/x-mathjax-config'> | |||
MathJax.Hub.Config({ | |||
"tex2jax" :{ | |||
inlineMath :[["$","$"]], | |||
processEscapes : true | |||
}, | |||
"TeX" : { | |||
extentions :["color.js", "cancel.js"], | |||
}, | |||
"HTML-CSS": { | |||
availableFonts :[], | |||
webFont :"Neo-Euler", | |||
} | |||
}); | |||
</script> | |||
<script type='text/javascript' src='https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML%2CSafe.js&ver=3.8'> | |||
</script>--> | |||
<script type="text/x-mathjax-config"> | |||
MathJax.Ajax.config.path["Contrib"]="https://wiki.yo-net.jp/mathjax/"; | |||
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function (){ | |||
MathJax.Hub.Insert( | |||
MathJax.InputJax.TeX.Definitions.macros,{ | |||
cancel: ["Extension","cancel"], | |||
bcancel: ["Extension","cancel"], | |||
xcancel: ["Extension","cancel"], | |||
cancelto: ["Extension","cancel"] | |||
} | |||
); | |||
}); | |||
MathJax.Hub.Config({ | |||
tex2jax:{ | |||
displayMath: [['$$', '$$'],['\\[', '\\]']], //displayスタイル数式に利用する記号の指定 | |||
inlineMath: [['\\@', '\\@'],['\\(', '\\)']],//inlineスタイル数式に利用する記号の指定 | |||
//ここは使う人が自由に設定する部分です。 | |||
processEscapes: true | |||
}, | |||
TeX:{ | |||
// equationNumbers:{autoNumber: "AMS"}, | |||
extensions: ["[Contrib]/physics/physics.js","[Contrib]/siunitx/siunitx.js", "color.js", "cancel.js"] | |||
}, | |||
"HTML-CSS": { | |||
availableFonts: [], | |||
preferredFont: null, | |||
webFont: "Neo-Euler" | |||
}, | |||
}); | |||
</script> | |||
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-AMS_HTML-full"></script> | |||
<script></yjavascript> | |||
[[Arduino Mega 2560]]に戻る。 | [[Arduino Mega 2560]]に戻る。 | ||
== '''概要''' == | == '''概要''' == | ||
| 11行目: | 92行目: | ||
チルトボールスイッチを傾けるとArduino Mega2560のビルトインLEDが消灯し、垂直に立ち上げると図のようにLEDが点灯します。派生して学ぶことが少ない項目です。部品の中にはボールが入って要るっぽくて、振るとカチャカチャ音がする部品です。凄く単純なスイッチですが、水平を検出できる仕組みにはなっていそうです。こんな部品もあるんだなぁと知識を深めるレッスンなのかもしれない。 | チルトボールスイッチを傾けるとArduino Mega2560のビルトインLEDが消灯し、垂直に立ち上げると図のようにLEDが点灯します。派生して学ぶことが少ない項目です。部品の中にはボールが入って要るっぽくて、振るとカチャカチャ音がする部品です。凄く単純なスイッチですが、水平を検出できる仕組みにはなっていそうです。こんな部品もあるんだなぁと知識を深めるレッスンなのかもしれない。 | ||
コードは以下のようなもので、目新しいコードはありません。しいていうなら13番がBuilt-in LEDだったっていうことでしょうか。 | |||
<freescript></script><div class="hljs-wrap"><pre data-label="Arduino Code" class="pre-wrap"> | |||
<code class="cpp">//www.elegoo.com | |||
//2016.12.08 | |||
/*****************************************/ | |||
const int ledPin = 13;//the led attach to | |||
void setup() | |||
{ | |||
pinMode(ledPin,OUTPUT);//initialize the ledPin as an output | |||
pinMode(2,INPUT); | |||
digitalWrite(2, HIGH); | |||
} | |||
/******************************************/ | |||
void loop() | |||
{ | |||
int digitalVal = digitalRead(2); | |||
if(HIGH == digitalVal) | |||
{ | |||
digitalWrite(ledPin,LOW);//turn the led off | |||
} | |||
else | |||
{ | |||
digitalWrite(ledPin,HIGH);//turn the led on | |||
} | |||
} | |||
/**********************************************/ | |||
</code></pre></div><script></freescript> | |||
KiCADもまた作っておきました。 | |||
回路 | |||
*Conn_01x02 | |||
*SW_SPST | |||
*GND | |||
*PWR_FLAG | |||
フットプリント | |||
*Conn_01x02:Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | |||
*SW_SPST:MyFootPrint:Tilt_Ball_D5.0mm_P2.50mm | |||
フットプリントを自作する必要のあるLESSONでしたね。 | |||
学びが少ないLESSONに限ってこういうハードルの高い作業が待ってたりする。 | |||
手順 | |||
1.フットプリントエディタを立ち上げる。 | |||
2.フィルターでCP_Radial_D5.0mm_P2.50mmを検索して開く | |||
3.ライブラリ管理で自作ライブラリを追加するため、メニューの[設定]-[フットプリントライブラリを管理]を選択 | |||
4.テーブルに空行を追加の「+」ボタンを押す。ニックネームを「MyFootPrint」にしてライブラリのパスに「C:/Users/(UserID)/Documents/KiCad/10.0/footprints/MyFootprints.pretty」、ライブラリの形式「KiCad」、オプションは空で説明に「自作フットプリント」というライブラリを作ろう。 | |||
5.メニューの「ファイル」-「名前を付けて保存」で先に作ったライブラリ「MyFootPrint」を選択して、フットプリント名「Tilt_Ball_D5.0mm_P2.50mm」といった名前を付けて保存。 | |||
6.シルクスクリーンの+極性や半月状の記号を削除して「ファイル」-「上書き保存」しておく。するとフットプリントの割り当てから選べるようになるよ。 | |||
■PCB図 | |||
[[ファイル:Mega2560 L08 02 PCB図.png|380px||none|PCB図]] | |||
■3D Preview図 | |||
[[ファイル:Mega2560 L08 03 3DPreview図.png|380px||none|PCB図]] | |||
[[Arduino Mega 2560]]に戻る。 | [[Arduino Mega 2560]]に戻る。 | ||
2026年10月9日 (金) 17:57時点における最新版
概要
チルトボールスイッチを接続する項目です。
Tinkercadにはチルトボールスイッチ部品はありませんでしたので、省略です。
チルトボールスイッチを傾けるとArduino Mega2560のビルトインLEDが消灯し、垂直に立ち上げると図のようにLEDが点灯します。派生して学ぶことが少ない項目です。部品の中にはボールが入って要るっぽくて、振るとカチャカチャ音がする部品です。凄く単純なスイッチですが、水平を検出できる仕組みにはなっていそうです。こんな部品もあるんだなぁと知識を深めるレッスンなのかもしれない。
コードは以下のようなもので、目新しいコードはありません。しいていうなら13番がBuilt-in LEDだったっていうことでしょうか。
//www.elegoo.com
//2016.12.08
/*****************************************/
const int ledPin = 13;//the led attach to
void setup()
{
pinMode(ledPin,OUTPUT);//initialize the ledPin as an output
pinMode(2,INPUT);
digitalWrite(2, HIGH);
}
/******************************************/
void loop()
{
int digitalVal = digitalRead(2);
if(HIGH == digitalVal)
{
digitalWrite(ledPin,LOW);//turn the led off
}
else
{
digitalWrite(ledPin,HIGH);//turn the led on
}
}
/**********************************************/
KiCADもまた作っておきました。
回路
- Conn_01x02
- SW_SPST
- GND
- PWR_FLAG
フットプリント
- Conn_01x02:Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical
- SW_SPST:MyFootPrint:Tilt_Ball_D5.0mm_P2.50mm
フットプリントを自作する必要のあるLESSONでしたね。
学びが少ないLESSONに限ってこういうハードルの高い作業が待ってたりする。
手順
1.フットプリントエディタを立ち上げる。
2.フィルターでCP_Radial_D5.0mm_P2.50mmを検索して開く
3.ライブラリ管理で自作ライブラリを追加するため、メニューの[設定]-[フットプリントライブラリを管理]を選択
4.テーブルに空行を追加の「+」ボタンを押す。ニックネームを「MyFootPrint」にしてライブラリのパスに「C:/Users/(UserID)/Documents/KiCad/10.0/footprints/MyFootprints.pretty」、ライブラリの形式「KiCad」、オプションは空で説明に「自作フットプリント」というライブラリを作ろう。
5.メニューの「ファイル」-「名前を付けて保存」で先に作ったライブラリ「MyFootPrint」を選択して、フットプリント名「Tilt_Ball_D5.0mm_P2.50mm」といった名前を付けて保存。
6.シルクスクリーンの+極性や半月状の記号を削除して「ファイル」-「上書き保存」しておく。するとフットプリントの割り当てから選べるようになるよ。
■PCB図
■3D Preview図