工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ポテンショメータなしのArduinoNanoLCDストップウォッチ

コンポーネントと消耗品

>
ブレッドボード(汎用)
× 1
Arduino Nano R3
× 1
Adafruit標準LCD-16x2白地に青
× 1
SparkFunプッシュボタンスイッチ12mm
× 3
抵抗10kオーム
× 5
抵抗221オーム
× 1
ジャンパー線(汎用)
× 26

このプロジェクトについて

みなさん、こんにちは!

このプロジェクトは、LCDから始めるための簡単な学習プロジェクトです。このプロジェクトでは、ArduinoNANOとLCDQUAPASS 1602A16x2を使用しています。このストップウォッチは、時、分、秒を数えることができます。 LCDの明るさを変更することもできます。

ほんの少しのコード変更で100分の1を数えることもできますが、画面がそれほど速く更新できないため、私のLCDは機能していません。

ストップウォッチのタイミングをほぼ完璧に設定しました(ストップウォッチの偏差は約15%なので、実際に10分間実行すると、ストップウォッチでは10分2秒になります)。したがって、開始サブプログラム(stopwatchという名前のプログラムサブプログラム内)を変更する場合は、すべてのコードでArduinoの実行時間があるため、タイミングも変更する必要があります。

ステップ1

このようにArduinoとLCDにワイヤーを接続します(SCHEMATICが表示しているものを見てください)。

ステップ2

私のコードをコピーして、ArduinoIDEの下に貼り付けてください。そして今、あなたのArduinoをUSBドライブに接続します。アップロードボタンをクリックすると、プログラムが実行されます。

ステップ3

シンプルで作りやすいLCDストップウォッチを楽しんでください。

ご不明な点がございましたら、コメント欄にご記入ください。

コード

  • コード
コード Arduino
これは私のストップウォッチのコードです。 Arduino IDEにコピーして、Arduinoにアップロードするだけです。
 / *停止、開始、リセット、ラップボタンを備えたシンプルなLCDストップウォッチプログラム。* /// LCD#include  //設定のライブラリを含むLCD入力ピンを上げるLiquidCrystallcd(12,11,5,4,3,2); //時間、分、秒、ミリ秒を0int h =0に設定します。 int m =0; int s =0; int ms =0; //すべてのボタンのピンを定義しますconstint start_pin =8; const int stop1_pin =9; const int reset_pin =10; //開始点を定義します(私の場合は0)int start =0; int stop1 =0; int reset =0; int bright_pin =6; // brightnessintbrightness =100を設定するためのピンを定義します; //この数値を変更して明るさを変更できますvoidsetup(){analogWrite(brightness_pin、brightness); //これによりピン6の明るさが設定されますlcd.begin(16、2); // LCDを開始します//ピンがINPUTまたはOUTPUTピンであるかどうかを定義しますpinMode(start_pin、INPUT); pinMode(stop1_pin、INPUT); pinMode(reset_pin、INPUT); pinMode(brightness_pin、OUTPUT);} void loop(){lcd.setCursor(0,1); lcd.print( "STOPWATCH"); lcd.setCursor(0,0); lcd.print( "TIME:"); lcd.print(h); lcd.print( ":"); lcd.print(m); lcd.print( ":"); lcd.print(s); start =digitalRead(start_pin); //ボタンの状態を読み取るif(start ==HIGH){stopwatch(); //サブプログラムのストップウォッチに移動します}} // --------------------サブプログラム----------------- -------- void stopwatch(){lcd.setCursor(0,0); // lcdに開始点を設定lcd.print( "TIME:"); // TIMEの書き込みlcd.print(h); //書き込み時間lcd.print( ":"); lcd.print(m); //議事録を書くlcd.print( ":"); lcd.print(s); //秒を書き込むms =ms + 10; delay(10); if(ms ==590){lcd.clear(); // LCDをクリアします} if(ms ==590)//秒をカウントアップするためのif状態{ms =0; s =s + 1; } if(s ==60)//分をカウントアップするためのif状態{s =0; m =m + 1; } if(m ==60)//時間をカウントアップするためのif状態{m =00; h =h + 01; } lcd.setCursor(0,1); lcd.print( "STOPWATCH"); stop1 =digitalRead(stop1_pin); //ボタンの状態を読み取るif(stop1 ==HIGH)//ボタンが押されているかどうかを確認する{stopwatch_stop(); //サブプログラムに移動} else {stopwatch(); //サブプログラムに移動します}} void stopwatch_stop(){lcd.setCursor(0,0); lcd.print( "TIME:"); lcd.print(h); lcd.print( ":"); lcd.print(m); lcd.print( ":"); lcd.print(s); lcd.setCursor(0,1); lcd.print( "STOPWATCH"); start =digitalRead(start_pin); //ボタンの状態を読み取るif(start ==HIGH){stopwatch(); //サブプログラムに移動します} reset =digitalRead(reset_pin); //ボタンの状態を読み取るif(reset ==HIGH){stopwatch_reset(); //サブプログラムに移動loop(); } if(reset ==LOW){stopwatch_stop(); //サブプログラムに移動します}} void stopwatch_reset(){lcd.clear(); lcd.setCursor(0,1); lcd.print( "STOPWATCH"); h =00; //時間を0に設定m =00; //分を0に設定s =00; //秒を0に設定return; //プログラムを終了し、プログラムに入ったポイントに戻ります} 
ライブラリ
これは、LCDに必要なライブラリです。https://github.com/arduino-libraries/LiquidCrystal

回路図

これは私の回路の回路図です。

製造プロセス

  1. Nokia 5110LCDのDIYシンプル20kHzArduinoオシロスコープ
  2. スマートブラインド
  3. 鉄人
  4. Arduinoを搭載したシンプルな障害物センサー
  5. Find Me
  6. Arduino加湿器制御
  7. 128x64LCDディスプレイ上のDIY10Hz-50kHzオシロスコープ
  8. Arduinoジョイスティック
  9. 歩数計(Arduino 101)
  10. Arduinoカラーミキサー
  11. AI LCDフレンド!