YAHOO! Stock Ticker
Componenten en benodigdheden
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 12 | |||
| × | 5 |
Benodigde gereedschappen en machines
![]() |
|
Over dit project
Voor dit project heb je een Python 2.7 IDE nodig. Ik raad aan om Enthought Canopy te gebruiken voor dit project. Vervolgens hebt u de Yahoo Finance API-bibliotheek nodig. Typ hiervoor:
pip install yahoo_finance
in uw opdrachtprompt of shell. Installeer bovendien PySerial voor communicatie met uw Arduino. Typ:
pip install pyserial
in uw opdrachtprompt. Kopieer en plak vervolgens de code in de editor. In de lijst Aandeelnamen kunt u andere gewenste voorraadnamen toevoegen. Zorg ervoor dat de seriële poort hetzelfde is als die van uw Arduino-bord, anders maakt het geen verbinding. U kunt dit bewerken in de regel die zegt:
ser =serial.Serial('COM
Open vervolgens uw Arduino IDE om uw code in de editor te kopiëren en plakken. Vanaf daar gewoon uploaden en genieten!

Als je zin hebt, heb ik een 3D-geprinte behuizing voor het LCD-scherm gekoppeld.
Code
- Python-kant voor aandelenticker
- Arduino-kant voor aandelenticker
Python-zijde voor aandelentickerPython
Je kunt het gewoon kopiëren en plakken in een Python IDE.van yahoo_finance import Shareimport timeimport serialStockShares =['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 naam + ':*' + share.get_open()+','+share .get_price() time.sleep(.1)def mainProgram():for i in StockShares:name =is =Share(i) printShare(s,name) s.refresh() time.sleep(9.5) mainProgram()mainProgram ()
Arduino-zijde voor aandelentickerC/C++
Upload gewoon naar een Arduino-bord.#includeString str ="";float o;float c;String s;LiquidCrystal lcd(12, 11, 5, 4, 3, 2);void setup () { // plaats hier je setup-code om één keer uit te voeren:Serial.begin(9600);lcd.begin(16, 2);lcd.setCursor(0,0);delay(1000);}void loop() { // plaats hier je hoofdcode, om herhaaldelijk uit te voeren:if (Serial.available()>0){ s =Serial.readStringUntil('*'); o =Serieel.parseFloat(); c =Serieel.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(co);delay(2000);for (int positionCounter =0; positionCounter <17; positionCounter++) {lcd.scrollDisplayLeft();delay(200);}lcd.clear();}
Aangepaste onderdelen en behuizingen
Een hele mooie LCD-behuizing van http://www.thingiverse.com/thing:614241Schema's
Verbind zoals het is.
Productieproces