組み込み技術を向上したい!!

でも組み込み以外にも手を出し始めました・・・

I2C_PullUp

I2C 組み込み系でハードウェア、ソフトウェアをいじっているとI2C通信は避けて通れない。少ない信号線で複数のICへ複雑な命令を送れるからだ。 信号線は基本的に2本で、それプラス電源の2本といった感じがスタンダード。 おそらくI2Cに慣れておくと一通りの…

回路図の書き方

わかりやすい回路が好き!! ものすごく個人的意見なのだが、回路図はブロック毎にわかりやすく書くべきだと思う。そのために重要になってくるのがGNDやVDDなどをひとつの線でつながず、シンボル(ラベル)で区切ることだと思う。 アナログでどうしてもGNDパ…

mbed-nucleo-flashwrite

mbed を使って,NUCLEO-F303ZEのフラッシュメモリにデータ保存する方法 基本的には HALを使えばうまくいくんですが,注意すべきことがあります.具体的にどこまでOKか調べたわけではありませんが,フラッシュメモリの領域は最後の方から使った方がよさそうで…

Unity の基本codeメモ

Sceneの中からGameObject見つけたいとき GameObject obj = GameObject.Find("obj_name"); GameObjectのComponentにアクセスしたいとき 例えば、オブジェクトのテキストを変更するなら GameObject obj = GameObject.Find("obj_name"); obj.GetComponent<Text>().tex</text>…

I2C 注意点

I2CはSCLとSDAの二本線で通信ができる(電源とGNDはいるから4本かな?)便利な規格だけど、少しだけ注意することがあるので、メモ。 信号線のプルアップ SCLとSDAの信号線は基本的にプルアップ必要。できれば、マスター側とスレーブ側で信号線の電圧ドロップが…

mbed+sd+fat

mbedでSDFileSystemを使って遊んでみたけど、少しハマった部分があったので、メモ。 mbedのweb上のIDEで インポート->ライブラリ で SDFileSystem で検索すればでてくるFatFileシステムだけど、サンプル上ではインスタンスを関数外で生成している(main関数の…

kivy+popup

kivyでは簡単にpopupを作れるんだが、popup内でyes/noのボタンを作るのにちょっとなやんだのでメモ。 from kivy.uix.popup import Popup でインポートして、公式サイト通りにやれば、 popup = Popup(title='Test popup', content=Label(text='Hello world'),…

Unity Playmaker (2)

transform.Translate 前回、Playmakerの Move Objectを使って Objectを移動させてみたが、コードで似たような動作をさせるにはこんな感じのスクリプトをCubeに入れてやればいい。 using UnityEngine; using System.Collections; public class TranslateCtrl …

Unity Playmaker (1)

Unity マルチプラットフォームのアプリを開発可能な環境で、スプラッシュスクリーン(アプリ起動時に表示されるロゴみたいなやつ)や、内部のコードアクセスなど細かいことを気にしなければ、無料で使える環境だ。 少し前まで180000円くらいで買い切りできる環…

mmap (C, Python exchange data)

毎度のことだけど、ほぼ個人的メモなので、もし参考にする人がいたら注意してね!!意外と見てくれている人がいるみたいなので。 Linuxなどまともに触れたことがなく、OSと言ってもFreeRTOS程度のものしかいじったことがなかった。。。 RaspberryPiで遊んで…

kivy Label halignについて

Label kivyでは簡単にtextを表示するLabelが作れる。 self.Label1 = Label(text="label", font_size = "18sp", size_hint=(.1, .1), pos_hint={'center_x': .5, 'center_y': .5}) halignというパラメータ?があって、leftってしたら、pos_hintを参照して、左…

RaspberryPi2 + kivy 日本語表示 とcheckbox

日本語表示できた!! 以前 RaspberryPiでkivyしたときに日本語表示ができないと悩んでいたが、理由が分かった。 とてもシンプルなことだったんだが、 # -*- coding: shift-jis -*- でエンコードを指定してやると良いらしい。 # -*- coding: utf-8 -*- ではダ…

RaspberryPi2 + kivy Slider

kivyに触れた次いでにSliderもやってみた。 まずはシンプルに触れてみる from kivy.base import runTouchApp from kivy.app import App from kivy.uix.button import Label, Button from kivy.uix.slider import Slider from kivy.config import Config from…

RaspberryPi2 + kivy ToggleButton... as RadioButton

先日RaspberryPi2でkivyを触ってみたので、その続き。 前回の内容は↓ sunnydays-k.hatenablog.com ToggleButtonを使ってみる kivyのButtonにはToggle機能を持ったものがあるらしい。ということで実際に使ってみた。 from kivy.base import runTouchApp from …

RaspberryPi2 + kivy

RaspberryPi公認のタッチディスプレイが発売されたので、入手したはいいが、何に使おうか・・・といった状況になっていたので、PythonのGUIフレームワーク?であるkivyに触れてみた。 Pi用kivyイメージを入手 kivypie.mitako.eu から目的にあったkivy Pieを入…

NUCLEO-F303RE

NUCLEO-F303RE 少し、NUCLEO-F303REをいじってみたので、使用感をメモ。 回路図の準備 www.st.com のSchematic Packあたりから回路図をダウンロード。MB1136.pdfというのが回路図。 電源まわりの確認 気になったのがCPUが熱くなること。いろいろ電源ラインが…

Visual Studio で python 使えるらしい。Djangoってみた。

Visual Studioで pythonが使えるらしい ということで、Visual Studio Communityを使って python をいじってみる。 www.visualstudio.com 必要なものはVisual Studioが教えてくれるからインストールしてね。 DjangoやFlaskのテンプレートがあるが、簡単に使い…

mbedからSW4STM32にエクスポートできたけど・・・

F7-Disco利用時のRTOS問題 mbedからSW4STM32にエクスポートできたけど、STM32F7の場合はRTOSを使っている場合は問題が起きる。 おそらくTOOLCHAIN_GCCフォルダ内のHAL_CM4.Sがcortex M4用だからと思う。 rtx->TARGET_CORTEX_MのRTX_Conf_CM.cとかにF7が入っ…

Raspberry Pi 2でOpenElecしてYouTube見まくった

家でラジコンになったり、録音機になったり、監視カメラになったりしていたRaspberry Pi2を最終的に家庭に役立つ形で収束させようと考えていると、結局OpenElecとして利用することで落ち着いた。 エンターテイメントって重要ね。最近子供が「YouTube見たい」…

mbed enable!! mbedが動かなかった理由がわかった!!

mbedアップデートが必要だった どうやらmbedライブラリ?のアップデートが必要だったようだ。mbedのコンパイラの画面上でプロジェクトを右クリックして、全てアップデートをクリックすると、動いてくれた!!STM32F7は比較的新しいからかな?? 「意味わからん…

STM32F746G-DISCOがmbedでうまく使えない!!だからやっぱりSW4stm32

mbedのすばらしさに感動してSTM32F746G-DISCOを衝動買いしてしまったが、mbed上で作ったバイナリファイルがうまく書き込めていないようで正常に動作しない・・・。ST-Linkのファームウェアアップデートなどは正常にできていると思うのだが・・・。 くやしい…

Ac6 System Workbench for STM32 について

以前Ac6の開発環境の設定についてあーだこーだいってしまったが、 sunnydays-k.hatenablog.com 下に貼ってるSTmicroのホームページからSTM32CubeF4とかSTM32CubeF7とかをダウンロードしてその中のサンプルプロジェクトを使ってビルドして勉強すると良さそう…

mbed-rtos(mbed osじゃないよ!)を使って、rtosを学んでみた

今まで組み込みOSはいろんな意味で避けてきたが、mbedのすばらしさに気がついたので、mbed rtosというものでいろいろ実験しながら勉強してみる。 STM32F429I-DISCO用のバイナリをmbedで作って、ST-Link Utilityにて書き込むという手順でやってみる。 >mbed r…

MSP430コードプロテクト

MSP430FR系とかはコードプロテクトがあるらしい。 以前、MSP430にコードプロテクトがないと悲しい気持ちでいたが、それはG2553を使っていたからのようだ。 sunnydays-k.hatenablog.com 今まで知らなかったので、TIさんに申し訳ない。 http://www.ti.com/lit/…

mbedをなめていた

mbedをなめていた。mbed Compilerが吐き出したbinファイルはmbedボード特有のbinだと思ってた。 実際はボードではなく、チップに依存するbinなので、他のボードでもチップ型番が同じなら使えるということだった。実際mbedでSTM32F429Iのbinを作成し、ST-Link…

Googleが人工知能エンジンのソースをpythonで無料公開したとのことで、pythonに触れてみた

Googleが人工知能エンジンのオープンソースをpythonで無料公開したということなので、phytonに少し触れてみようと思った。 よさそうなフレームワークを探していると、Djangoというフレームワークを見つけた。 qiita.com がとても詳しく説明してあるので、こ…

free() で失敗!! C言語

callocとかmallocとかで、メモリを確保して使用した後は解放するために、free()を使うことになるんだけど、 ここで、残念なミスをおかしていたので、メモしとく。 free()の引数はきちんと制御してないとダメ!! 今回やらかした過ちはfree()の引数が割り当て…

if文でのバグをほんの少し減らすかもしれない方法 @C言語

プログラムの基礎はわかってるつもりです。それでも一人で何万行、何十万行と書いていると思いもよらないバグに遭遇してしまいます。まぁ、ひとりじゃなくてもなるんでしょうけど。 そのバグを少しでも減らそうと日々努力しております。 もうご存知の方も居…

Ac6 System Workbench for STM32を使ってみた

Ac6 System Workbench for STM32というIDEがあって、文字通りSTM32向けの開発環境で、なんとコードサイズ無制限!! これは試さない手は無いと思い、軽く使ってみた。 結論からすると、いろいろ自分でできる人には使えるけど、これから始めようと思う人には不…

Web 素人が Ruby on Rails4 をいじってみた

何かWeb系に詳しくなりたい、というか作りたいもの作れるようになりたいと思ったので、Rails始めてみた。 主に、 railstutorial.jp にしたがってやっていこうと思う。 早速、問題となったのが、インストール。個別にRubyとRailsをダウンロードしてインストー…

コールバック(call back)関数の必要性 , C言語

昔の自分のコードを見ていて、こうしたらいいのになってのがあったので、メモメモ。 例えば、↓みたいなコードがあったとします。 /**************************** コールバックとは関係無い関数 ******************************/ int32_t func1(void) { int32…

就職活動しませんでした・・・ でも良かったと思ってます

大学生時代 私は大学生時代就職活動しませんでした。 「なぜか」と言われると田舎で暮らす上ではそんなに収入は要らないと思っていたからです。 さらに、特になりたい職業もなかったので、研究に没頭していました。 教授から大学院に行くことを進められまし…

人工知能について最近思う

もう10年ほど前になりますが、人工知能チックな研究をしていました。 内容をものすごく簡単に述べると、 自動車用の信号は赤、黄、青の3つのユニットで構成されています。 歩行者用の信号は赤、青の2つのユニットで構成されています。 しかし事実上表現し…

Unity5 Box Colliderないと通り抜けちゃうよ!!

松明持って一人で走り回るのも飽きてきたので、同居人を探してみた。 アセットストアで無料のGhoul君が暇そうにしていたので、召還しました。 (アセットストアでダウンロードしてインポートして、Assetの ghoul -> prefabs -> ghoulprefabをHierarchyにドラ…

Unity5で松明的なの持って移動してみた

さて、昨日松明的なの作ってみたので、せっかくなのでFPS視点で持ってみた。 Cylinderを2つ使って燃えている部分と木の部分のテクスチャを変えてみたけど、もう少しリアリティだしたい感じだったので、尊敬するYughues様のテクスチャを探ってみると少しまし…

Unity5で松明的なの作ってみた

STM32F746G-DISCOとかいろんなボードがほしいけど、お金が・・・。 ということで、何かお金けずに遊べることは無いかといろいろ調べてると、なんとUnity5というゲーム開発環境が無料で使えるじゃありませんか!!! 面白そうなので、早速ダウンロードして使って…

オペアンプを使った定電流回路

今はネットでいろんな情報が得られる時代になりました。ありがたいことです。 いろんな人の知恵や思想を分けてもらって様々なものを比較的容易に作れる時代になりました。 ところがここで落とし穴があることに最近気づきました。 というか、自分の知識がない…

C言語 ポインタ

よくポインタの概念がわからんけん、教えてとか言われますが、たぶん難しく考えすぎなのだと思います。わからんかったら、僕のところに来てください。暇だったら相手します。 さて、ポインタですが、名前のとおり、ポイントを指しているのです。 int a; とい…

関数化してますか? (C言語)

稀に遭遇することがあるので、ちょっとコメントを・・・。 プログラムが複雑になってくると、例えば、mainの中に全部書くとわけがわからなくなります。 そこで、「関数」としていろいろ部品に分けていくのですが、仕事でプログラムをされている方でも、稀に(…

データの見える化 (人口と年齢の割合[日本])

平成25年の人口の割合 [年少人口(青)、生産年齢人口(オレンジ)、老年人口(緑)]を見える化してみた。 さらに、平成12年の人口の割合 [年少人口(青)、生産年齢人口(オレンジ)、老年人口(緑)]を見える化してみた。 最後に平成2年の人口の割合 [年少人口(青)、生…

プロキシ経由でapt-getする方法

プロキシ経由で sudo apt-get update ってやろうとしたら失敗した!! いろいろ調べてみたらそれにはそれなりの方法で対応しないとダメなのね・・・。 そもそもプロキシサーバーが何なのかあんまり知らんので、調べてみると、 「セキュリティ」とか「キャッ…

C言語のプログラムからshellを実行する

例えばシステムのシャットダウンするときは sudo shutdown -h now とかすると思うんだけど、これをC言語のプログラムから実行したい場合は↓みたいにするといい。 まずshellのファイルを作る。(ファイル名はsys_down.shとしてみる) #!/bin/shsudo shutdown -h…

LinuxでCOMMANDからPIDを取得してプロセスをキルする方法

まずは ps auxw で実行中のプロセスを表示させてみます。 目的のCOMMANDが発見できたらPIDの番号を確認します。 例えば、目的のPIDが2345だった場合は sudo kill -9 2345 でプロセスをキルできるはずです。 この辺の作業を目視で人間が行うのではなく、 shel…

shell実行時に「コマンドが見つかりません」と表示されたとき

WindowsとLinuxでは改行コードが違います。 WindowsではCR LFとなりますが、LinuxではLFのみです。 これが原因で、Windows上で作成したファイルをLinuxに転送して 動作確認する際にタイトルのような「コマンドが見つかりません」といった コメントが表示され…

dygraphを使ってブラウザ上にグラフを書く

RaspberryPiを使っていて、ブラウザ上にdygraphを使ってグラフを書いたときのメモ。 いろいろ試したけど、シンプルで使いやすかったのがこれ↓。 http://dygraphs.com/1.0.0/ javascriptのライブラリとなっていて、線グラフの機能が一通り入ってる。 http://d…

WebIOPiをRaspberryPi2に対応させる

WebIOPiをRaspberryPi2に対応させたときのメモ。 この前は wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz からソースを落としてきたけど、最新は wget http://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz/download にな…

Raspberry Piの電源をブラウザからOFF

RaspberryPiの電源を切るのにいちいちSSHとかでログインするの がメンドクサイので、ブラウザから落とせるようにしたときのメモ。 python使って比較的簡単にできるみたい。 import os cmd = "sudo shutdown -h now"os.system(cmd) ってしようと思ったけど、g…

STM32F429I-DISCOとUARTとDMA

UARTを使ってみる。 開発環境はいつものCooCoxのやつ。 PC12をUART5 TX PD2をUART5 RX に割り当てて、動作を確認。 せっかくなのでDMA使ってみる。 以下ソースなど。 /* とりあえずRX用のバッファを作る。(ポインタの方が良さげだけど) */ typedef struct { …

STM32F429I-DISCOとMicroSD FatFs

STM32F429I-DISCOのボードと秋月のmicroSDの基板を使って、 ファイルの読み書きをするときのメモ。 開発環境はCooCoxのやつね。 世の中にはすばらしいお方がおられるようで、 ChaN(http://elm-chan.org/)さんというお方がFatFsというFatシステムを 提供して…

Raspberry Pi + WebIOPi + mjpg streamer

WebブラウザからRasPiをいじる方法をいろいろ検討してたんですが、WebIOPiがよさそうだったので、ちょっと試してみました。 WebIOPi ダウンロード まずは一式をダウンロード↓ wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz 解凍します↓ ta…