
アルディーノUNO/NANO スケッチ公開

手首ロボットの両手を動かしました。
アルディーノUNO/NANO スケッチ公開。
//LEDECO.com
//2020.06.16
#include <Servo.h>
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;
void setup() {
Serial.begin(9600);
myservo1.attach(5);
myservo2.attach(6);
myservo3.attach(7);
myservo4.attach(8);
myservo5.attach(9);
}
void loop() {
myservo1.write(75);
myservo2.write(75);
myservo3.write(75);
myservo4.write(0);
myservo5.write(0);
delay(1000);
myservo1.write(0);
myservo2.write(0);
myservo3.write(0);
myservo4.write(75);
myservo5.write(75);
delay(1000);
myservo1.write(75);
delay(1000);
myservo2.write(75);
delay(1000);
myservo3.write(75);
delay(1000);
myservo4.write(0);
delay(1000);
myservo5.write(0);
delay(1000);
myservo5.write(75);
delay(1000);
myservo4.write(75);
delay(1000);
myservo3.write(0);
delay(1000);
myservo2.write(0);
delay(1000);
myservo1.write(0);
delay(1000);
myservo1.write(75);
delay(1000);
myservo2.write(75);
delay(1000);
myservo3.write(75);
delay(1000);
myservo4.write(0);
delay(1000);
myservo5.write(0);
delay(1000);
myservo5.write(75);
delay(1000);
myservo4.write(75);
delay(1000);
myservo3.write(0);
delay(1000);
myservo2.write(0);
delay(1000);
myservo1.write(0);
delay(1000);
myservo3.write(75);
myservo2.write(75);
delay(1000);
myservo3.write(0);
myservo2.write(0);
delay(1000);
}
復活しました。
7年ぶりにアメブロ復活しました。コロナショックでパソコンの前に向かう事が多くなり再び電子工作をする様に
なりました。
7年前パソコンのハードディスクのクラッシュでデーターがで飛んでから興味が無くなり放置状態でした。コメント
くれた皆さまに返事出来なくてすみませんでした。
8X8X8LEDキューブの製作②
設計回路図 実際は立体配線するので表現し難い。解り難いよね。
8X8X8LEDキューブをコントロールするマイコンは、アトメルの AVRマイコン ATMEGA644P-20PUを初めて使ってみた。1個 ¥450(税込) 只今品切れらしい。
開発環境はKandaSTK200 を使ってプログラムをビルド。言語はBASCOM-AVR BASICコンパイラでプログラムしました。
ソースドライバーに8chトランジスタTD62783
PNPダーリントン接続みたいだから電圧降下が大きそう。赤色LEDでVfが低いからいいけど青や白などならPchFETに変えなければ明るく光らないな。
シンクドライバーに8chラッチの74F373を8個、使ってます。
だれもやって無い様なLEDキューブの必殺技 ロジックIC 74F373を8段重ね。
親カメの上に子カメを乗せて子カメの上に孫カメを乗せて、、
配線は出来るだけ短く確実に半田付け。
配線は下の層から順番に。
LEDの保護抵抗は、最初は高い抵抗で電流計測をしてから100Ωから30Ωに変更。
ATMEGA644P-20PUの設定、BASCOM-AVR BASICコンパイラのプログラムは次回。
8X8X8LEDキューブの製作①
フルカラーLEDや青LEDで製作してみたいけどとりあえず安価な赤LEDでデーター蓄積。
使用部品の選択
秋月で一番安い赤LEDを仕入れ。2袋1000個
赤色LED 5mm OSDR5113A (500個入)1袋 ¥1,800(税込)
オプトサプライの5mmLEDです。
◆本体:着色されています(透明)。
◆外形5mm
◆発光色:赤色
◆順方向電圧(VF):2.0V(標準)(@60mA)
◆輝度:1200mcd(標準)(@20mA)
◆ドミナント波長:640nm(標準)(@20mA)
◆逆耐圧:5.0V
◆半減角:15°(狭角)
※1個あたり3.9円の激安LEDです。明るさよりも単価でお探しの方におすすめ。
とりあえず一番安ものです。
LEDキューブ組立方
加工前LEDの標準姿 足の長い方が+(アノード)ペンチで折り曲げ加工
中国の女工さんになったつもりで512個を出来るだけ同じように ペンチで折り曲げ加工したら半田付け。
両面テープでLEDを仮固定して、方向性を決めて半田付け。
ベース基板はA4サイズの2mmのアクリル板。100均で200円
一気に作った方が曲が整う。
4個単位で半田付け
縦の-側(カソード)を半田付け
出来るだけ揃えて平面になる様に半田付け修正
これを8面製作。
8面完成したら建築。
アクリル板に64個の穴をあけて点灯試験をしてから1面づつ差し込む
0.6mmのすずメッキ線で面渡しを寸法調整して半田付け。
赤外線リモコンカーの製作①
去年980円で買った中華製トイラジコン「ショベルカー」を赤外線リモコンカーに改造してみます。
とりあえず、そのまま遊んでみた。
10分ほどでもう飽きた。電波は5mくらいしか届かない。動きは鈍くショベルはただ動くだけ
物は掬えない。
作りの悪い不要な飾り部品を取去って作り直してみる。130型モーター2個でデフの様な減速器
が付いて4輪駆動。
ICが1個で40MHzの電波を使ってる。電池はニッカド1.2Vx5 DC6Vにしてみた。
動きは素早くなった。
何もしてないのに、ショベルがゆっくりと動いてる。電池はニッカド1.2Vx5 DC6Vに変えたのが原因か?注意書き通りに使わないとアカンのか?安もんはあかんな。価格相応です。
そのまま遊んでいると今度は左に旋回出来なくなった。
LEDで電飾する以前に潰れてしまった。
中華製トランジスタが飛んでいるんだろけど、そのまま修理するよりも、この前に開発した赤外線送信機でコントロールできる様に改造してみる。電子回路は全面取替。電波機器の玩具は改造してはダメな事が多いらしい。アホな法律があるのでそのまま放置。
モーターコントロール設計回路図
フルブリッジドライバー TA8428K DCモーターコントローラーを使ってみた。
フルブリッジドライバーTA8428K(2個入)1パック ¥300(税込)秋月
ブラシ式DCモータ用フルブリッジ(Hブリッジ)ドライバ TA8428K(S)
●DCモータ用ブリッジドライバです。
●高出力電流:3.0A(PEAK、100mS)1.5A(AVE.)
●ブレーキ、ストップモードあり
●モータ用電源電圧Vcc=最大30V
●ロジックHインプット電圧:2.0V~Vcc
●フリーホイールダイオード内蔵
●サーマルシャットダウン、短絡保護回路内蔵
ニッケル水素単3電池4本 DC4.8Vで駆動してみた。DC7V以下では動作しないとか
書いてあったのでそんな事無いやろと実験してみた。
いずれ XBee を付けて無線ラジコンにするつもりなのでマイコン側の AVRマイコンATtiny2313の操作電圧はDC3.3V に落とすつもり。
TA8428Kは効率が悪いとか書いてあったけどテープレコーダー駆動用のTA7291P
やTA7288Pよりは良いでしょう。
赤外線リモコン送信機はラジコンの電池ケースと押しボタンの接点を取りだしたものです。
ディップSWの設定は照明リモコンとダブらない番号に設定。Ads = 3に仮設定
取りあえず赤外線リモコンカーの完成。XBee のアンテナ付きを発注中なのでそれまでに
コントロールプログラムを作成。
赤外線リモコンの方が元のラジコンより確実に操作できるな。XBeeラジコンに改造するのはこれから。
フルカラーLEDタワー②
組立点灯てすと
ピサの斜塔を修正。
一度間違った位置に半田付けしてしまうと修正が大変。
適当な所で妥協してマイコンのプログラムを作成。
' **************************************************
' * ledpikapikaプログラム *
' * AVR is using ATtiny2313 S.Tsuda *
' * Basic Compiler is BASCOM-AVR *
' * Copyright By LEDeco 2013. 01.15 *
' **************************************************
$Regfile = "attiny2313.dat" 'AVRデバイスを"ATtiny2313"に設定
$crystal = 1000000 'クロック周波数を4MHzに設定。
$hwstack = 32 'ハードウェア・スタックの容量を設定。
$swstack = 8 'ソフトウェア・スタックの容量を設定。
$framesize = 24 'フレーム領域の容量を設定。
Config Porta = Output 'Portaの接続ポートを出力に設定する。
Config Portb = Output 'Portbの接続ポートを出力に設定する。
Config Portd.0 = Output 'Portd.0の接続ポートを出力に設定する。
Config Portd.1 = Output 'Portd.1の接続ポートを出力に設定する。
Config Portd.2 = Output 'Portd.2の接続ポートを出力に設定する。
Config Portd.3 = Output 'Portd.3の接続ポートを出力に設定する。
Config Portd.4 = Output 'Portd.4の接続ポートを出力に設定する。
Config Portd.5 = Output 'Portd.5の接続ポートを出力に設定する。
Config Rc5 = Pind.6 , Wait = 2000 '赤外線受信モジュールの接続ポートを設定する。
Dim Ads As Byte 'リモコンRC5コードのアドレス。(0 ~ 31)
Dim Cmd As Byte 'リモコンRC5コードのコマンド。(0 ~ 63)
Enable Interrupts
Dim R As Byte
Dim N As Byte
Dim M As Byte
Dim T As word
Dim s As word
Do
R = 0
T = 30
N = 1
s = 300
Porta = &B00000011
Portb = &B00000000
Portd = &B00111111
Wait 7
Portb = &B00000001
Waitms T
Portb = &B00000000
Waitms s
Portb = &B00000010
Waitms T
Portb = &B00000000
Waitms s
Portb = &B00000100
Waitms T
Portb = &B00000000
Waitms s
Portb = &B00001000
Waitms T
Portb = &B00000000
Waitms s
Portb = &B00010000
Waitms T
Portb = &B00000000
Waitms s
Portb = &B00100000
Waitms T
Portb = &B00000000
Waitms s
Portb = &B01000000
Waitms T
Portb = &B00000000
Waitms s
Portb = &B10000000
Waitms T
Portb = &B00000000
Wait 7
Do
Do
Do
Getrc5(ads , Cmd)
If Ads < 32 Then
Exit Do
End If
Loop
If Ads = 0 Then
If Cmd = 0 Then
Portb = &B11111111
Exit Do
End If
If Cmd = 1 Then
PORTb = &B01010101
Exit Do
End If
If Cmd = 2 Then
PORTb = &B10101010
Exit Do
End If
If Cmd = 3 Then
PORTb = &B11001100
Exit Do
End If
If Cmd = 4 Then
PORTb = &B00110011
Exit Do
End If
If Cmd = 5 Then
PORTb = &B11110000
Exit Do
End If
If Cmd = 6 Then
PORTb = &B00001111
Exit Do
End If
If Cmd = 7 Then
Portb = &B00000000
Exit Do
End If
If Cmd = 8 Then
Portb = &B00000000
Exit Do
End If
If Cmd > 8 Then
Portb = &B00000000
Exit Do
End If
End If
If Ads = 1 Then
If Cmd = 0 Then
Portb = &B11111111
Exit Do
End If
If Cmd = 1 Then
Portb = &B11111110
Exit Do
End If
If Cmd = 2 Then
Portb = &B11111101
Exit Do
End If
If Cmd = 3 Then
Portb = &B11111011
Exit Do
End If
If Cmd = 4 Then
Portb = &B11110111
Exit Do
End If
If Cmd = 5 Then
Portb = &B11101111
Exit Do
End If
If Cmd = 6 Then
Portb = &B11011111
Exit Do
End If
If Cmd = 7 Then
Portb = &B10111111
Exit Do
End If
If Cmd = 8 Then
Portb = &B01111111
Exit Do
End If
If Cmd > 8 Then
Portb = &B00000000
Exit Do
End If
End If
If Ads = 2 Then
If Cmd = 0 Then
Portb = &B11111111
Exit Do
End If
If Cmd = 1 Then
PORTb = &B00000001
Exit Do
End If
If Cmd = 2 Then
PORTb = &B00000010
Exit Do
End If
If Cmd = 3 Then
PORTb = &B00000100
Exit Do
End If
If Cmd = 4 Then
PORTb = &B00001000
Exit Do
End If
If Cmd = 5 Then
PORTb = &B00010000
Exit Do
End If
If Cmd = 6 Then
PORTb = &B00100000
Exit Do
End If
If Cmd = 7 Then
Portb = &B01000000
Exit Do
End If
If Cmd = 8 Then
Portb = &B10000000
Exit Do
End If
If Cmd > 8 Then
Portb = &B00000000
Exit Do
End If
End If
Waitms s
Loop
Loop
Loop
End
フルカラーLEDタワー
赤外線リモコン・プログラマブルイルミネーションLEDでタワーを組んでみました。
組立回路図
クリスマス用プログラマブルイルミネーションLEDに赤外線受光器をつけたものです。
組み立て方
組み立てる基板を半田付けの冶具にして半田付け
片面ガラス・ユニバーサル基板 Bタイプ めっき仕上げ (95x72mm)1枚 ¥120(税込)秋月
LED8個を円形に半田付け。極性注意+側アノードコモンです。
5mmRGB7色自動変化ゆっくりタイプIC内蔵で自動的にゆっくり7色に変化します。
動作電圧 3.5-5.0V点灯周期 34秒/1サイクル(Vdd4.5V時)
RED 800mcd 620-635nm
GREEN 1500mcd 515-530nm
BLUE 1000mcd 460-475nm
ブレッドボードから取り外して点灯確認してから半田付け。
日本酒を飲みながら半田付けしたらピサの斜塔みたいに傾いてしまった。
LEDの足の長さもバラバラで違うので測定基準を正確にしないと、、、
動画とプログラムは次回。
プログラマブル赤外線リモコン送信機の製作③
松下電工(パナソニック電工)のフル2線式光設定SWを分解してベンチマークしてみた。
寸法は十分仕込めそう。SWの消費電力AC24V10mAなら電源として使えそう。
10年前に施設工事で使ったあまり。光アドレス設定器は施設に納品したので単品では役には立たん。
ICがいっぱい。昔は高価な配線器具だったけど原価は安いんだろな。
たしか、昔の旧フル2線器具は光アドレス設定で無くてディップSWでアドレス設定してた。
1CPU当り16x16=256通りのパターン・個別設定ができるはず。
どの様に照明器具を点灯するかアドレス設定表の作成が肝心ですね。
後操作優先のトグル操作のSW ON、OFFはLED点灯で確認。パソコンなどで遠隔操作する時は ON、OFFを2ポイント分設定にしないと現状確認ができないね。
赤外線リモコン送信機のプログラム
44%のメモリー使用、
プログラマーの設定 AVRISP-USBをインストールした
"C:\Program Files\EmbRes\AVRISP-U\AVRISP-U.exe"を指定
AVRマイコン ATtiny2313 ヒューズ設定は出荷時設定のまま1/8分周の1MHz
BASICで行番号やサブルーチンを使わないでプログラムしてみた。
EPROMにはまだ何も書いて無い。































































