Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Yahoo! Aandelen Ticker Project: Live Marktdisplay met Arduino en Python

Onderdelen en benodigdheden

Adafruit Standaard LCD - 16x2 Wit op Blauw 1
Arduino Mega 2560 1
Man/Vrouw Jumper-draden 12
Man/Man Jumper-draden 5

Benodigde tools en machines

  • 3D-printer (optioneel, voor LCD-behuizing)

Over dit project

Voor dit project heb je Python 2.7 IDE nodig. Aanbevolen: Enthought Canopy. Installeer de Yahoo Finance API bibliotheek:

pip install yahoo_finance

En PySerial voor Arduino-communicatie:

pip install pyserial

Kopieer de code naar de editor. In de lijst met aandelennamen kun je andere toevoegen. Zorg dat de seriële poort overeenkomt met je Arduino-board:

ser = serial.Serial('COM',9600)

Open Arduino IDE, plak de code, upload en geniet! Optioneel: 3D-print een behuizing voor het LCD.

Code

Python-kant voor Aandelen Ticker

from yahoo_finance import Share
import time
import serial

StockShares = ['DOW','YHOO','BAC','F','JPM','TWTR','CHK','PBR','FIT','COG','ABX','FCX','GE','TRGP','CNX','BSX','MRC','NKE','NEM','PBRA','HST','BP','MRK','HON','MET','CLR','WPX','EXC','JCP','YELP','GNC','TSLA','VRX','P','NFLX','CMG','SM','WYNN','SHAK','ICON']

ser = serial.Serial('COM1',9600)

def printShare(share,name):
    ser.write(name + ': *' + share.get_open()+','+share.get_price())
    print name + ': *' + share.get_open()+','+share.get_price()
    time.sleep(.1)

def mainProgram():
    for i in StockShares:
        name = i
        s = Share(i)
        printShare(s,name)
        s.refresh()
        time.sleep(9.5)

mainProgram()

Arduino-kant voor Aandelen Ticker

#include <LiquidCrystal.h>
String str = "";
float o;
float c;
String s;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  Serial.begin(9600);
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  delay(1000);
}

void loop() {
  if (Serial.available()>0){
    s = Serial.readStringUntil('*');
    o = Serial.parseFloat();
    c = Serial.parseFloat();
  }
  lcd.print(s + "open:" + o);
  lcd.setCursor(0,1);
  lcd.print("current:");
  lcd.print(c);
  delay(2000);
  for (int positionCounter = 0; positionCounter < 17; positionCounter++) {
    lcd.scrollDisplayLeft();
    delay(200);
  }
  delay(500);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("change: ");
  lcd.print(c-o);
  delay(2000);
  for (int positionCounter = 0; positionCounter < 17; positionCounter++) {
    lcd.scrollDisplayLeft();
    delay(200);
  }
  lcd.clear();
}

Aangepaste onderdelen en behuizingen

Een mooie LCD-behuizing van Thingiverse: Thing 614241

Schema

Sluit aan zoals weergegeven in het schema.

Productieproces

  1. De Evolutie, Materialen en Fabricage van Moderne Toilets
  2. Revolver: Van Oorsprong tot Moderne Productie
  3. Bluetooth-gecontroleerde Arduino Spybot bouwen
  4. FlickMote: Gebarengecontroleerde IR-afstandsbediening voor Slimme Huizen
  5. DIY Arduino TV-B-Gone: Universele TV-uit-schakelaar
  6. Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
  7. Find Me: Slimme Item Locator met Arduino en Bluetooth
  8. Geoptimaliseerde Voedingsoplossingen voor Arduino Projecten
  9. Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing
  10. Bouw een Slimme Arduino Vierpotige Robot: Stap-voor-Stap Handleiding
  11. Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming