Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Projeto Ticker de Ações Yahoo: Display de Mercado em Tempo Real com Arduino e Python

Componentes e Materiais

ComponenteQuantidade
LCD Padrão Adafruit 16x2 Branco sobre Azul1
Arduino Mega 25601
Jumpers Macho/Fêmea12
Jumpers Macho/Macho5

Ferramentas Necessárias

Sobre o Projeto

Exibe cotações de ações em tempo real em um display LCD 16x2 usando Arduino Mega e Python. Requer Python 2.7 (recomenda-se Enthought Canopy).

Configuração do Python

  1. Instale biblioteca Yahoo Finance: pip install yahoo_finance
  2. Instale PySerial: pip install pyserial
  3. Configure porta serial no script: ser = serial.Serial('COM<porta>', 9600)
  4. Edite lista StockShares com símbolos desejados

Configuração do Arduino

Carregue o sketch no Arduino IDE. Opcional: imprima gabinete 3D para o LCD (Thingiverse).

Código

Lado Python (Stock 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(0.1)

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

while True:
    mainProgram()

Lado Arduino (Stock Ticker)

#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);
  
  // Scroll horizontal
  for (int i = 0; i < 17; i++) {
    lcd.scrollDisplayLeft(); delay(200);
  }
  delay(500); lcd.clear(); lcd.setCursor(0, 0);
  
  lcd.print("change: "); lcd.print(c - o);
  delay(2000);
  for (int i = 0; i < 17; i++) {
    lcd.scrollDisplayLeft(); delay(200);
  }
  lcd.clear();
}

Peças Personalizadas e Gabinetes

Gabinete para LCD no Thingiverse: Thing 614241

Esquemáticos

Conexão padrão do LCD 16x2 ao Arduino Mega (pinos 12,11,5,4,3,2).

Processo de manufatura

  1. A Evolução, Materiais e Fabricação de Sanitários Modernos
  2. Revólver: Das Origens à Fabricação Moderna
  3. Construa um Spybot Controlado por Bluetooth com Arduino
  4. FlickMote: Controle Remoto IR por Gestos para Casa Inteligente
  5. DIY Arduino TV B-Gone: Controle Remoto Universal para Todas as TVs
  6. Construa um Relógio Mestre LED Personalizado com Alarme – Visível a 12 Metros
  7. Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
  8. Soluções de Energia Otimizadas para Projetos Arduino
  9. Jogo da Velha com Arduino, Matriz LED MAX7219 e Caixa de Papelão
  10. Construa um Robô Quadrúpede Inteligente com Arduino: Guia Passo a Passo