Index
プログラミング
Aizu judge
Project Eular
電子工作
Arduino用のブートローダを焼く(8MHz 16MHz)
パソコンを操作できるリモコンを作る (赤外線)
パソコンを操作できるリモコンを作る (Bluetooth)
電気電子回路
Raspberry Pi
初期設定
・Raspbianをダウンロード
・Win32DiskImagerをダウンロード
・Win32DiskImagerを用いてRaspbianをSDカードにWrite
・キーボード
・時間
・初期ユーザ pi
・初期パスワード raspberry
バックアップ
・Win32DiskImagerを用いてSDカードをRead
固定IP
/etc/network/interface
iface eth0 inet static address 192.168.0.81 netmask 255.255.255.0 gateway 192.168.0.1
/etc/resolv.conf
nameserver 192.168.0.1 nameserver 192.168.0.2
/etc/init.d/networking reload
プロキシの設定
プロキシ環境でapt-get
sudo http_proxy=http://sample.proxy.server.jp:8080 apt-get update
ピン配置
open-jtalk
音声録音
arecord -D plughw:1,0 -f cd test.wav
Juliusを用いた音声認識
export ALSADEV="plughw:1,0" julius -C fast.jconf -charconv EUC-JP UTF-8
Juliusを用いた音声認識 モジュールモード
起動時に実行するスクリプト
/etc/rc.localに書く
Aizu Judge 0001 List of Top 3 Hills
問題
入力値を降順ソートすればよい.
入力例
1819
2003
876
2840
1723
1673
3776
2848
1592
922
出力例
3776
2848
2840
C
#include<stdlib.h> #include<stdio.h> int compare(const void* s,const void *t ){ return (*((int*)t) - *((int*)s)); } int main(){ int height[10]; int i=0; while(~scanf("%d",&height[i++])); qsort(height, 10, sizeof(height[0]), compare ); for( i = 0; i < 3 ; i++ ) printf("%d\n",height[i]); return 0; }
# include <iostream> # include <algorithm> using namespace std; int main() { int h[10]; for(int i=0;i<10;i++)cin >> h[i]; sort(h,h+10); reverse(h,h+10); for(int i=0;i<3;i++)cout << h[i] << endl; return 0; }
#include<iostream> #include<algorithm> int main(){ int i=0,h[10]; while(std::cin>>h[i++]); std::sort(h,h+10); for(i=9;i>6;)std::cout<<h[i--]<<"\n"; }
import java.util.*; class Aizu{ public static void main(String[] args){ int height[] = new int[10]; Scanner scan = new Scanner(System.in); for(int i=0;i<10;i++){ height[i] = scan.nextInt(); } Arrays.sort(height); for(int i=9;i>9-3;i--){ System.out.println(height[i]); } } }
height = [int(raw_input()) for i in range(10)] for i in sorted(height,reverse=True)[:3]: print i
height = [] 10.times{height.push(gets.to_i)} puts height.sort{|i,j| j<=>i}[0,3]
puts ([0]*10).map{gets.to_i}.sort{|i,j| j<=>i}[0,3]
<?php $height = array(); for($i=0;$i<10;$i++){ array_push($height,(int)fgets(STDIN)); } rsort($height); for($i=0;$i<3;$i++){ echo $height[$i]."\n"; } ?>
オペアンプを用いた演算増幅
問題
入力が2V以上なら5V, 入力が2V未満なら0Vを出力する回路を設計せよ
問題
入力が2V以上なら0V, 入力が2V未満なら5Vを出力する回路を設計せよ
回路
結果
問題
入力が3V以上なったらHIGHに変化,
入力が1V未満になったらLOWに変化する回路を設計せよ
問題 差動増幅回路
買ってきたセンサは 1Vから 3V まで電圧変化する.
マイコンの入力 (0V から 5V) でセンサの値を読み取るとき,
分解能を上げるための増幅回路を設計せよ.
入力の最大電圧 3 V から 差動電圧 3 V
入力の最小電圧 1 V から 増幅度 5V / (3V - 1V) = 2.5倍
0V と 5V付近で波形が少し歪んでしまっている.
再設計
問題 電流電圧変換
買ってきたフォトダイオードは受光感度変化で電流が0.1 nAから7.3μAまで変化する.
マイコンの入力(0V から 5V) でセンサ値を読み取れるようにせよ.
C# マウス移動とキーボード出力
マウス移動とキーボード出力
プロジェクト→参照の追加→System.Drawing
プロジェクト→参照の追加→System.Windows.Forms
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; // Sleep using System.Drawing; // Point using System.Windows.Forms; // Sendkeys, Cursor namespace SendKeySample { class Program { static void Main(string[] args) { Console.WriteLine( "3秒後にマウスを右下に移動します" ); Thread.Sleep( 3000 ); Cursor.Position = new Point( Cursor.Position.X + 200, Cursor.Position.Y + 200 ); Console.WriteLine( "3秒後にキーボードHELLOWORLD!{ENTER}を入力します" ); Thread.Sleep( 3000 ); SendKeys.SendWait( "HELLOWORLD!" ); SendKeys.SendWait( "{ENTER}" ); } } }
CR フィルタの実験
CRローパスフィルタ
C=0.1 uF と抵抗を使ってカットオフ周波数30 kHzのローパスフィルタを作りたい
このとき用いる抵抗の値は?
未知数 R
実験
周波数特性
30 kHzで-3dBになっている
位相特性
f=10kHzの入力
f=30kHzの入力
f=100kHzの入力