2019年7月

RaspberryPiとPCA9685でサーボモータが動かない原因を探る

今回はRaspberryPiとサーボモータドライバのPCA9685でサーボモータを動かそうとしてみましたが、動かすことができませんでした。 その原因について色々と調査してみましたので、そのときのことを記録しておこうと思います。 今回は以下の構成で実施しています。 ・RaspberryPi3 ModelB ・HiLetgo PCA9685 16チャンネル 12-ビット PWM Servo モーター […]

IoT

ブラウザのスライダーでRaspberryPiのサーボモータを動かす(ハードウェアPWM)

前回と前々回までは「wiringpi」のソフトウェアPWMを使用していましたが、こちらの方法だとサーボモータがガタガタと振動してしまいました。それでは少し実用性に欠けるので、今回はハードウェアPWMを使用してサーボが振動しないようにしていきたいと思います。 参考にさせていただいたサイトはこちらです。 ただいまシステムの中身③ GPIOを使ったサーボモータ制御 「wiringpi」のハードウェアPW […]

IoT

RaspberryPiとサーボモータで5軸ロボットアームを動かしてみた

今回はRaspberryPiとサーボモータでサインスマートの5軸ロボットアームを動かしてみましたので、そのときの情報を書いていきたいと思います。作ったロボットアームでボトルキャップチャレンジをやってみたときの様子がこちらです↓ ロボットアームを作ったのでやってみました#ペットボトルキャップチャレンジ #ボトルキャップチャレンジ pic.twitter.com/cRXoHNxPGn — Kazuki […]

IoT

ブラウザのスライダーでRaspberryPiのサーボモータを動かす(もっと簡単に!)

前回の記事でRaspberryPiのサーボモータを無事動かすことができました。でもどうせなら計算式などを理解して自分でパラメータを変えたい!とか思ってかなり試行錯誤してみたのですが、内容を理解するのには苦労しました。 そこで、もっと簡単に表現できないかと悩んだ結果、PWMの計算結果を配列に格納しておいて、そこから値を取得するようにしました! ずるい!w とは思いますが、結果思い通りに動かせればそれ […]

  • 2019.07.11

C#のWaitOne()でスレッドを停止してみる

今回はC#のWaitOne()でスレッドを停止させて動きを確かめてみたいと思う。 まずは以下のWaitOne()が含まれるソースを実行してみる。今回のプログラムではメインスレッドとサブスレッドが並列で処理されるようになっている。 using System; using System.Threading; using System.Threading.Tasks; namespace csharp_ […]

IoT

ブラウザのスライダーでRaspberryPiのサーボモータを動かす(WebIOPI利用)

今回はブラウザのスライダーでRaspberryPiのサーボモータを動かしてみたいと思います。 使用するサーボモータはMG996Rです。情報もなかなか少ないので、備忘録も兼ねて記事にしていきます。 参考サイト 今回はこちらの記事を参考にさせていただきました。 Raspberry Piでブラウザからサーボモータをちゃんと制御する パルス幅についてはこちらの記事が分かりやすいです。 ラズパイ電子工作の基 […]

  • 2019.07.04

C#のデリゲートを理解する

デリゲートとはなんだ? C#にはデリゲートという機能が存在する。今回はそれについて理解を深めてみようと思う。 まず、デリゲートと聞いてパッと言葉のイメージがつかないのは自分だけではないはず。もっとイメージが湧くワードをチョイスしてもらいたかったものである。 デリゲートを一言でざっと説明するなら、メソッドを代入できる型のことである。 int型に代入するなら int a = 1;と書くし、string […]

  • 2019.07.02

C#のスレッド処理を理解する(基本編)

今回はC#のスレッド処理について理解を深めてみようと思う。 並行して処理が行われるのはすぐにイメージできるが、プログラムにしてみると少しイメージが薄れてしまう。 なので、簡単なスレッド処理を動かし、それをイメージ図にしてみようと思う。 Parallel クラスを使ってみる まずはこちらのサイトに掲載されていたプログラムの内容を少し書き換えて実行してみる。 マルチスレッド – C# によ […]