Skip to content

Instantly share code, notes, and snippets.

@matt448
matt448 / MCP4251_tcon.ino
Last active April 12, 2024 22:02
Example code for controlling a MCP4251 with an Arduino Uno.
/*
Matthew McMillan
@matthewmcmillan
http://matthewcmcmillan.blogspot.com
Created 12 Mar 2014
Digital Pot Control (MCP4251)
@matt448
matt448 / SPI_Digital_Pot_AD8403.ino
Created October 24, 2013 15:58
Example code for controlling an AD8403 Digital Potentiometer. Please see https://github.com/matt448/arduino for the latest version of this code.
/*
Digital Pot Control
This example controls an Analog Devices AD8403 digital potentiometer.
The AD8403 has 4 potentiometer channels. Each channel's pins are labeled
A - connect this to voltage
W - this is the pot's wiper, which changes when you set it
B - connect this to ground.
The AD8403 is SPI-compatible. To command it you send two bytes.
@matt448
matt448 / can_sender.ino
Last active August 24, 2023 11:23
Arduino code for CAN bus sender example
// demo: CAN-BUS Shield, send data
#include <mcp_can.h>
#include <SPI.h>
//Pot for adjusting value
int sensorPin = A0;
int sensorValue = 0;
int cantxValue = 0;
void setup()
@matt448
matt448 / hx711_calibration.ino
Last active March 13, 2023 16:56
HX711 Calibration for Arduino
/*
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
@matt448
matt448 / slack_nagios.sh
Last active February 13, 2023 15:38
Script to post Nagios notifications into a Slack channel
#!/bin/bash
# This script is used by Nagios to post alerts into a Slack channel
# using the Incoming WebHooks integration. Create the channel, botname
# and integration first and then add this notification script in your
# Nagios configuration.
#
# All variables that start with NAGIOS_ are provided by Nagios as
# environment variables when an notification is generated.
# A list of the env variables is available here:
@matt448
matt448 / Speedometer_HMI.ino
Created June 1, 2017 15:47
Arduino based speedometer using a Nextion HMI Display
#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;
@matt448
matt448 / can_reciever.ino
Last active August 27, 2021 21:04
Code for example CAN bus receiver.
// demo: CAN-BUS Shield, receive data
#include "mcp_can.h"
#include <SPI.h>
#include <LiquidCrystal.h>
#include <stdio.h>
#define INT8U unsigned char
INT8U Flag_Recv = 0;
INT8U len = 0;
INT8U buf[8];
@matt448
matt448 / Speedometer_TM1637.ino
Created January 13, 2016 02:30
Digital speedometer using a TM1637 type display
// 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
@matt448
matt448 / Speedometer_7seg.ino
Created February 4, 2014 03:56
Code that controls my Arduino based digital speedometer. This version uses a seven segment LED display.
// Matthew McMillan
// @matthewmcmillan
// http://matthewcmcmillan.blogspot.com
//
// Digital speedometer
//
// VSS on car connects to pin 5
// CLK on display to Analog pin 5
// DAT on display to Analog pin 4
//
@matt448
matt448 / tft_speedo_with_sd_card.ino
Last active July 16, 2020 19:45
This code is a work in progress for my TFT speedometer project.
#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9340.h"
#include <SD.h>
#if defined(__SAM3X8E__)
#undef __FlashStringHelper::F(string_literal)
#define F(string_literal) string_literal
#endif