Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Projet Ticker Boursier Yahoo! : Affichage temps réel des marchés avec Arduino et Python

Composants et fournitures

Écran LCD standard Adafruit 16x2 blanc sur bleu ×1
Arduino Mega 2560 ×1
Fils de connexion Male/Female ×12
Fils de connexion Male/Male ×5

Outils et machines nécessaires

À propos du projet

Pour ce projet, vous aurez besoin d'un IDE Python 2.7. Je recommande Enthought Canopy. Installez ensuite la bibliothèque Yahoo Finance API :

pip install yahoo_finance

Installez aussi PySerial pour la communication avec l'Arduino :

pip install pyserial

Copiez-collez le code dans l'éditeur. Dans la liste des actions, vous pouvez ajouter d'autres symboles. Assurez-vous que le port série correspond à votre carte Arduino, sinon la connexion échouera. Modifiez cette ligne :

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

Ouvrez l'IDE Arduino, copiez-collez le code Arduino, téléversez et c'est parti !

Pour aller plus loin, un boîtier imprimé en 3D pour le LCD est disponible.

Code

Côté Python pour le Ticker Boursier

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()
mainProgram()

Côté Arduino pour le Ticker Boursier (C/C++)

#include <LiquidCrystal.h>
String str = "";
float o, 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();
}

Pièces personnalisées et boîtiers

Un boîtier LCD très sympa depuis Thingiverse (thing:614241)

Schématiques

Connecter tel quel. Schéma de câblage LCD standard disponible.

Processus de fabrication

  1. L'évolution, les matériaux et la fabrication des toilettes modernes
  2. Le revolver : des origines à la fabrication moderne
  3. Construire un Spybot Arduino piloté par Bluetooth
  4. FlickMote : Télécommande IR à gestes pour maison connectée
  5. TV-B-Gone DIY Arduino : Télécommande universelle pour toutes les TV
  6. Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
  7. Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
  8. Solutions d'alimentation optimisées pour projets Arduino
  9. Morpion sur matrice LED MAX7219 avec boîtier en carton