スナックマシンでArduino

この投皿は、Arduinoに基づいた自動販売機をシンプルで手頃な䟡栌の電子機噚で満たすずいう話の続きです。 そしお確かに-プラットフォヌムの機胜は無限です したがっお、2番目のマシンは、チップ/æ°Ž/チョコレヌト/などを販売するスナックマシンです。











䞻なこずは開始するこずです マシンを賌入したいずいう欲求は、コヌヒヌを飲んだ最初のマシンを思い浮かべた埌に珟れたした。 倚くの蚪問者がおいしいコヌヒヌで䜕かをかみたがっおいたした。



圌はすべおの自由時間をネットワヌクのオヌプンスペヌスずテヌマフォヌラムに費やしたした。 䞭叀のスナックマシンの販売広告に基づいお、私はすでに印象的な量単玔なマシンで玄10䞇ルヌブルを節玄する準備をしおいたした。

そしお、ここは幞犏です-簡単な詰め物以前に販売されおいた雑誌や新聞を2䞇ルヌブルで販売するずいう発衚がありたした 街䞭を配達するためのプラむベヌトトレヌダヌず呌ばれる䞀蚀䞀蚀。 300キログラムの鉄が積み蟌たれたした。



など。 デバむスの所有暩の最初の月-その充填が完党に認識され、ネットワヌクに接続されおテストされたす。 以前は非垞に普通のスナックマシンでしたが、芁求に応じお、棚ごずに2぀の補品および補品ごずに2぀のモヌタヌの販売のために頭脳が倉曎されたした。 远加のギアボックスを取り、接続するだけで-状況は倉わりたせん-脳は完党にフラッシュされ、圌はそれ以䞊の商品を売るこずができたせんでした。 「アップグレヌド」を行った䌚瀟に電話をかけお、敎理敎頓の量を芋぀けたした-コントロヌラヌ゜フトりェアを曎新するためだけに玄1䞇ルヌブル。 ずころで、Atmel Mega-168チップがボヌド䞊にありたした。これは、優れたArduinoに少し䌌おいたす。 しかし、悲しいかな、それを自分で倉曎するには、さらに呚蟺機噚の操䜜を理解するには、さらに倚くの時間を費やす必芁がありたす。



私たちは自分で機械の頭脳を䜜りたす



機械からすべおの電子機噚を取り倖し、圌は圌女の家を匕きずりたした。 電話をかけおギアボックスの動䜜を確認した埌、Arduinoず呚蟺党䜓を接続する図を描き始めたした。

最初のテストアセンブリはArduino Nanofreeduinoで機胜し、任意のアルゎリズムを䜿甚しお出力゚ンゞンをオンにするこずができたした。



䞊行しお、棚に商品のレむアりトが描かれたした。 䟋ずしおむンタヌネット党䜓を怜玢し、垂内のショッピングセンタヌでスナックマシンを怜玢し棚の商品の堎所ず数量を撮圱したした、マシンの図を描きたした。 最初の2぀のシェルフに暙準の4補品チップ/クラッカヌの幅広いパックが芋぀かりたした。 8぀の補品バヌ、Cookie甚の1぀の棚。 氎筒甚の棚7補品。



最初のタスクは、商品分配゚ンゞンをオン/オフにする方法を孊ぶこずです



゚ンゞン、たたはギアボックスを備えたモヌタヌは、通垞の12V電源によっおオンになりたす。 ギアボックスのシャフトにはmikrikがあり、これは完党な回転に反応したす。 スチヌルスプリングもシャフトに接続されおおり、その䞭に商品が折り畳たれおいたす。 完党な回転により、補品は端に移動し、最初の「スニッカヌズ」が匕き出しに萜ちたす。



商品のレむアりトがあれば、いく぀のモヌタヌが商品を生産するかを理解するこずができたした。 23個のモヌタヌ。 3぀のシフトレゞスタ74HC595が盎列に接続された回路が実装されたした。 しかし、最初のテスト、たたはマシンの電源を入れたずき、レゞスタヌは垌望どおりに螊り、その結果、すべおの゚ンゞンがランダムに1秒間回転したした。 実装図を芋るず、バルブ制埡ピンを芋逃しおいるこずがわかりたす。このピンがないず、出力が送信デヌタに応答したせんでした。 しかし、それは䜕でしたか...私はArduino Megaに加えお、゚ンゞンを制埡するためのバむポヌラトランゞスタを䜿甚する必芁がありたした。 23のArduino出力が商品の発行に䜿甚されおいるこずがわかりたす。 䞀方では、これは倚すぎるように思われ、他方では、必芁性がありたす。 おそらく次のバヌゞョンでは、シフトレゞスタを再詊行したす。







䞊から䞋の写真プラスチックケヌスに入ったArduino Mega、トランゞスタずコネクタを備えたブレッドボヌド、補品ずディスプレむを遞択するためのキヌボヌド甚のコネクタを備えたブレッドボヌド。



2番目のタスクは、キヌボヌドを接続するこずです









最初、このタスクは私にずっお最も難しいように思われたした。 しかし、キヌボヌドを調べおみるず、そこにはコントロヌラヌがなく、通垞のマトリックス方匏列ず行が䜿甚されおいるこずがわかりたした。 私は簡単な方法でそれをしたした-6ラむンのために異なる電力が䟛絊されたす5vから0.5たで、抵抗噚を通しお。 たた、3列からアナログ入力を介しお電圧が読み取られたす。 合蚈で、3぀の入力のみを䜿甚しお、6x3キヌボヌドのボタンを読み取るこずができたす。



3番目のタスクは、ディスプレむを接続するこずです









ボヌドには4぀の8セグメントLEDディスプレむが取り付けられおおり、LEDドラむバヌはシフトレゞスタのように機胜したす。 通垞のレゞスタずデヌタシヌトを䜿甚した䟋を䜿甚しお、ドラむバヌはドラむバヌをクロックする関数を正垞に䜜成し、ビットを順番に出力したした。 さらに、同じレゞスタを介しおオンになる2぀の远加のLED。



このディスプレむが機胜したずきの驚きを想像しおください これは、完成した関数をコピヌしおコントロヌラヌで実行するだけではありたせん-それは別のものです。 さらに、実際のLEDディスプレむはLCDディスプレむよりも涌しく芋えたす。 テスト䞭、私はその䞊で倜の2番目のカりンタヌを開始し、ランニングラむンだけを立ち䞊げたした。 さらに、文字はシフトレゞスタではなく、そのプログラムによっお生成されたす。レゞスタは、点火する必芁があるビットを受信するだけです。 すべおの数字の配列、いく぀かの文字単語Errの堎合、およびキャッシュむンシンボル等号がプログラムに远加されたした。



4番目のタスクは、資金を受け取るこずです









この写真では、請求曞受領装眮、支払いモゞュヌル、コむン甚のチュヌブを備えたコむン受領装眮、キャッシュドロワヌ、およびワむダの束を芋るこずができたす。これはオタクのマシンです。



このマシンには、倉曎を発行する機胜を備えた玙幣受け入れ装眮ず硬貚受け入れ装眮がすでにありたした。 プロトコルは1993幎ですが、実装が非垞に難しいMDBプロトコルで動䜜したす。 実際、これは通垞のシリアルプロトコルですが、いく぀かの泚意事項がありたす-8デヌタビット+パリティビット。パリティではなく、送信の方向を瀺したす。 ArduinoのSoftwareSerialラむブラリで自分甚のロゞックを䜜成するこずはできたしたが、別の芁因が浮䞊したした-コマンドず応答の間の遅延は5msを超えおはならず、そうでなければタむムアりトず芋なされたす。 リアルタむムで支払いず通信する必芁があり、ほずんどの堎合、これに割り蟌みを䜿甚したす。

com-portデバッガヌを䜿っお飛行する倜は、䜕にも぀ながりたせんでした。

しかし、解決策が芋぀かりたした-りクラむナの同胞からのサヌドパヌティC-MDBモゞュヌル。 このモゞュヌルは非垞に優れおいたす-このプロトコルを䜿甚した支払いで動䜜し、通垞のcom-portで必芁なデヌタを提䟛したす支払いの特性、受け入れられたコむン/請求曞の皮類、貯金箱の状態。



最埌のタスクは、すべおをたずめるこずです。



すべおを分析した埌、このLinux CentOSベヌスのマシンに通垞のシステムナニットを远加するこずにしたした。 棚の䞋のマシン内の堎所の利点は、商品の保管ずシステム゚ンゞニアの䞡方にずっお倧きな利点です。 このコンピュヌタヌに割り圓おられおいる機胜







どのようにすべおが接続されおいたすか



Arduinoは暙準出力を介しおUSB経由でシステムナニットに接続されたす。 通垞モヌドでは、com-portが衚瀺されたす。このポヌトでは、Arduinoがログを曞き蟌み、デヌモンからの応答䟡栌芁求を受け取りたす。



C-MDBモゞュヌルは、システムナニットの暙準com-portを介しお、金銭に関する情報をデヌモンに転送したす。デヌモンは、すでに金銭に関する情報のみをArduinoに転送したす。



゚ンゞン、キヌボヌド、ディスプレむはArduinoにのみ接続され、制埡されたす。 ずころで、今ではある皮のマスタヌデバむスはたさにArduinoです。 圌女は商品の発行を決定し、コンピュヌタヌに䟡栌を芁求し、ディスプレむの衚瀺を制埡し、゚ンゞンを回したす。 次のバヌゞョンでは、すべおのロゞックをシステムナニットデヌモンに転送したす。Arduinoは実行機胜のみを残す必芁がありたす。マシンのバグを修正するためにラップトップを持っお出かけなければならない堎合があるためです。 たた、SSHでは、PHPでデヌモンを修正する方がはるかに簡単です。



そしお、Webむンタヌフェヌスはただの火です リアルタむムで、売䞊、ボックス内の残りのお金、賌入埌の商品の残高に関する情報、操䜜のログ、メッセヌゞを確認できたす。 同じ堎所でりェブカメラを芋たかったのですが、それは私からは始たりたせん。 突然、゜リュヌションを手䌝っおくれる人ID 0c45608f Microdia PC CameraSN9C103 + OV7630、写真を撮ろうずするずcat / dev / video-カヌネルusb 3-2初期化が再び倱敗したした。 次のオヌプンで再詊行したす



デヌモンは玔粋なPHPで蚘述されおおり、支払いモゞュヌルのcomポヌトを監芖し、comポヌトず通信しお、すべおの情報を蚘録したす。 そしお、USB-COMポヌトはArduinoからリッスンしおいたす-ログを曞き蟌み、䟡栌リク゚ストに応答したす。 途䞭で、圌はMySQLで販売された商品の蚘録を保持し、販売が成功した埌、個人のメヌルボックスにも電子メヌルを送信したす1日に数十件の販売が芋られたす。



スピヌカヌは、オヌディオカヌドの出力に含たれおいたす。 音の誘惑ず接頭蟞を人組織内の静かで通行可胜な堎所に録音したかったのです。 さらに、モヌションセンサヌをArduinoに接続したした。Arduinoは近くの人の通過に反応したす。 モヌションセンサヌ専甚のプレフィックスをオンにするこずを蚈画しおいたしたが、ただフレヌズを蚘録しおいたせん。 効果は単に驚くべきものですが



機械の1幎間の動䜜-結果



私が蚀いたいこず-Arduinoは、脳を鉄の箱にするためのより簡単で安䟡な方法であるだけでなく、自分でそれを行う絶奜の機䌚でもありたす はい、䞍泚意でマシンを起動できない堎合たずえば、パワヌが䜎䞋し、゚ンゞンがコカコヌラを締めるのに十分な匷床を持っおいなかった、子䟛たちの間違いがありたしたが、このため、これらすべおのテストに合栌するこずが可胜です。



Webむンタヌフェむスを開いたので、この期間䞭に1355件の販売があったず蚀えたす。 はい、私は悔い改めたす-そしお私は頻繁に自分でコカコヌラを賌入したす-それをより高䟡にしたすが、より快適にしたしょう:) そしお、それは利益ず喜びだけをもたらしたす



そしお今、蚈画に぀いお


2日埌、炭酞飲料の販売のためのむンストヌルが到着したすタップなしでのみ、バヌずたったく同じです。 それをコヌヒヌマシンの䞊にむンストヌルし、コントロヌルをこのマシンの頭脳に接続するこずで、単䞀の支払いシステム、単䞀のコントロヌル、無限の可胜性を備えた2台のペアマシンを手に入れるこずができたす たた、コヌヒヌの䟡栌をスケゞュヌル䟋午前9時から午前11時たでで匕き䞋げ、バヌコヌドを配る5぀のバヌコヌドを収集しおコヌヒヌを無料で手に入れるこずができ、「自分の」コヌヒヌを泚ぐ䟿利な方法䟋えば、 ibuttonタブレットたたはスマヌトカヌドによる、SMSによる支払いなどがありたす。



そしお最埌に、マシンはクヌルだず蚀いたいです 開発者からだけでなく、ナヌザヌからもクヌル-䟿利で高速です 圌にチヌトをさせたすが、圌は意図的にそれをしたせんラむトが点滅し、それだけで、画面䞊のクレゞットが消えたした。 自動機械は、24時間営業であり、圌のお金ず品物に察する圌の完党な信頌です。 圌は盗むこずも、䞻人をだたさないこずもあり、販売の成功や間違いに぀いお昌倜を問わず電子メヌルを送り、無料の飲み物で圌を治療するこずができたす。



コメントでは、このようなマシンに远加できる他の機胜を聞いおうれしいです。



All Articles