Instantly share code, notes, and snippets.

View Speedometer_HMI.ino
#include "Nextion.h"
const int lightPin = 0;
const int hardwareCounterPin = 5;
const int samplePeriod = 1000; //in milliseconds
const float pulsesPerMile = 4000;
const float convertMph = pulsesPerMile/3600;
unsigned int count;
float mph;
View Speedometer_TM1637.ino
// Matthew McMillan
// @matthewmcmillan
// http://matthewcmcmillan.blogspot.com
//
// Digital speedometer that uses a TM1637 type display
//
// Code is written for an Arduino UNO
//
// VSS on car connects to digital pin 5
// CLK on display to digital pin 3
View hx711_calibration.ino
/*
Started with example code written by Nathan Seidle from SparkFun Electronics and added
LCD output with gram and ounce values.
Setup your scale and start the sketch WITHOUT a weight on the scale
Once readings are displayed place the weight on the scale
Press +/- or a/z to adjust the calibration_factor until the output readings match the known weight
Arduino pin 6 -> HX711 CLK
Arduino pin 5 -> HX711 DOUT
View CAN_Sender_500k_29bit.ino
/////////////////////////////////////////////////////////////////////
// This is a simple example of sending CAN messages with 29bit id's
//
// https://matthewcmcmillan.blogspot.com
// Twitter: @matthewmcmillan
//
#include "mcp_can.h"
#include <SPI.h>
View CAN_Sender_500k_11bit.ino
/////////////////////////////////////////////////////////////////////
// This is a simple example of sending CAN messages with 11bit id's
//
// https://matthewcmcmillan.blogspot.com
// Twitter: @matthewmcmillan
//
#include "mcp_can.h"
#include <SPI.h>
View serialtest.py
#!/usr/bin/python
##########################################
# https://matthewcmcmillan.blogspot.com
# Twitter: @matthewmcmillan
#
# For the most up to date version of this file see:
# https://github.com/matt448/Digital_Dash_v2/blob/master/serialtest.py
#
View trinket_can_to_uart.ino
////////////////////////////////////////////
//
// Trinket Pro CAN Bus to UART Converter
//
// https://matthewcmcmillan.blogspot.com
// Twitter: @matthewmcmillan
//
// For the most up to date version of this file see:
// https://github.com/matt448/Digital_Dash_v2/blob/master/arduino_code/trinket_can_to_uart.ino
//
View canbus_start.sh
#!/bin/bash
re='^[0-9]+$'
if ! [[ $1 =~ $re ]] ; then
echo -e "ERROR: Can bus bitrate not a number or a value wasn't entered.\n\nPlease enter a speed in Kbit/s\n\n Example: canbus_start.sh 100\n Speeds: 100,125,250,500\n" >&2; exit 1
fi
echo Bitrate: ${1}Kbit/s
sudo modprobe can
sudo modprobe can-dev
View dcan1_dmesg_output.txt
root@bone:~# dmesg | tail -n 15
[1190326.609897] gadget: high-speed config #1: Multifunction with RNDIS
[1199448.966162] bone-capemgr bone_capemgr.9: part_number 'BB-DCAN1', version 'N/A'
[1199448.966337] bone-capemgr bone_capemgr.9: slot #9: generic override
[1199448.966382] bone-capemgr bone_capemgr.9: bone: Using override eeprom data at slot 9
[1199448.966430] bone-capemgr bone_capemgr.9: slot #9: 'Override Board Name,00A0,Override Manuf,BB-DCAN1'
[1199448.968166] bone-capemgr bone_capemgr.9: slot #9: Requesting part number/version based 'BB-DCAN1-00A0.dtbo
[1199448.968223] bone-capemgr bone_capemgr.9: slot #9: Requesting firmware 'BB-DCAN1-00A0.dtbo' for board-name 'Override Board Name', version '00A0'
[1199448.969684] bone-capemgr bone_capemgr.9: slot #9: dtbo 'BB-DCAN1-00A0.dtbo' loaded; converting to live tree
[1199448.970118] bone-capemgr bone_capemgr.9: slot #9: #2 overlays
View BB-DCAN1-00A0.dts
/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
/* identification */
part-number = "dcan1pinmux";
fragment@0 {